feat: today calendar with time blockers, stats, and pending approvals improvements

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-05-28 16:34:13 +01:00
co-authored by Sisyphus
parent db5f6ff135
commit f69750da82
5 changed files with 924 additions and 75 deletions
@@ -186,7 +186,7 @@
<Card.Header>
<div class="flex items-start justify-between">
<div>
<Card.Title class="text-2xl">
<Card.Title class="text-xl md:text-2xl">
{isInProgress ? 'Current Appointment' : 'Next Appointment'}
</Card.Title>
{#if activeAppointment}
@@ -245,7 +245,7 @@
{#if loading}
<Card.Content class="space-y-4">
<div class="flex gap-4">
<Skeleton class="h-20 w-20 rounded-full" />
<Skeleton class="h-16 w-16 md:h-20 md:w-20 rounded-full" />
<div class="flex-1 space-y-2">
<Skeleton class="h-6 w-48" />
<Skeleton class="h-4 w-32" />
@@ -284,12 +284,12 @@
<img
src={activeAppointment.user.profile_pic_url}
alt={activeAppointment.user.full_name}
class="h-20 w-20 rounded-full object-cover ring-4 ring-blue-200"
class="h-16 w-16 md:h-20 md:w-20 rounded-full object-cover ring-4 ring-blue-200"
/>
{:else}
{@const initials = activeAppointment.user?.full_name?.split(' ').map(n => n[0]).join('') || '?'}
<div
class="flex h-20 w-20 items-center justify-center rounded-full bg-gray-200 text-2xl font-bold text-gray-600 ring-4 ring-blue-200"
class="flex h-16 w-16 md:h-20 md:w-20 items-center justify-center rounded-full bg-gray-200 text-2xl font-bold text-gray-600 ring-4 ring-blue-200"
>
{initials}
</div>