From 7987fe009dc5f79c51ff33b26f5c56bd768768a2 Mon Sep 17 00:00:00 2001 From: Till-JS <101404291+Till-JS@users.noreply.github.com> Date: Tue, 9 Dec 2025 20:36:37 +0100 Subject: [PATCH] feat(ui): add skeleton loaders for calendar and clock apps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Calendar App: - Add AppLoadingSkeleton for root layout initialization - Add CalendarViewSkeleton for main week view - Add AgendaSkeleton for agenda page event list - Add EventDetailSkeleton for event modal - Add RedirectSkeleton for event redirect page - Fix TypeScript error in event/new page Clock App: - Add AppLoadingSkeleton for root layout initialization - Add WorldClockSkeleton for world clock grid - Add AlarmsSkeleton for alarms grid - Add TimersSkeleton for active timers grid All spinners replaced with contextual skeleton loaders using @manacore/shared-ui SkeletonBox component. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../components/event/EventDetailModal.svelte | 31 +--- .../skeletons/AgendaSkeleton.svelte | 43 +++++ .../skeletons/AppLoadingSkeleton.svelte | 55 +++++++ .../skeletons/CalendarViewSkeleton.svelte | 149 ++++++++++++++++++ .../skeletons/EventDetailSkeleton.svelte | 75 +++++++++ .../skeletons/RedirectSkeleton.svelte | 16 ++ .../web/src/lib/components/skeletons/index.ts | 21 +++ .../apps/web/src/routes/(app)/+page.svelte | 5 +- .../web/src/routes/(app)/agenda/+page.svelte | 9 +- .../src/routes/(app)/event/[id]/+page.svelte | 33 +--- .../src/routes/(app)/event/new/+page.svelte | 7 +- .../apps/web/src/routes/+layout.svelte | 10 +- .../skeletons/AlarmsSkeleton.svelte | 27 ++++ .../skeletons/AppLoadingSkeleton.svelte | 47 ++++++ .../skeletons/TimersSkeleton.svelte | 47 ++++++ .../skeletons/WorldClockSkeleton.svelte | 36 +++++ .../web/src/lib/components/skeletons/index.ts | 18 +++ .../web/src/routes/(app)/alarms/+page.svelte | 7 +- .../web/src/routes/(app)/timers/+page.svelte | 7 +- .../src/routes/(app)/world-clock/+page.svelte | 7 +- apps/clock/apps/web/src/routes/+layout.svelte | 10 +- 21 files changed, 558 insertions(+), 102 deletions(-) create mode 100644 apps/calendar/apps/web/src/lib/components/skeletons/AgendaSkeleton.svelte create mode 100644 apps/calendar/apps/web/src/lib/components/skeletons/AppLoadingSkeleton.svelte create mode 100644 apps/calendar/apps/web/src/lib/components/skeletons/CalendarViewSkeleton.svelte create mode 100644 apps/calendar/apps/web/src/lib/components/skeletons/EventDetailSkeleton.svelte create mode 100644 apps/calendar/apps/web/src/lib/components/skeletons/RedirectSkeleton.svelte create mode 100644 apps/calendar/apps/web/src/lib/components/skeletons/index.ts create mode 100644 apps/clock/apps/web/src/lib/components/skeletons/AlarmsSkeleton.svelte create mode 100644 apps/clock/apps/web/src/lib/components/skeletons/AppLoadingSkeleton.svelte create mode 100644 apps/clock/apps/web/src/lib/components/skeletons/TimersSkeleton.svelte create mode 100644 apps/clock/apps/web/src/lib/components/skeletons/WorldClockSkeleton.svelte create mode 100644 apps/clock/apps/web/src/lib/components/skeletons/index.ts diff --git a/apps/calendar/apps/web/src/lib/components/event/EventDetailModal.svelte b/apps/calendar/apps/web/src/lib/components/event/EventDetailModal.svelte index 2c5334b45..c2c0661a3 100644 --- a/apps/calendar/apps/web/src/lib/components/event/EventDetailModal.svelte +++ b/apps/calendar/apps/web/src/lib/components/event/EventDetailModal.svelte @@ -8,6 +8,7 @@ import * as api from '$lib/api/events'; import { format, parseISO } from 'date-fns'; import { de } from 'date-fns/locale'; + import { EventDetailSkeleton } from '$lib/components/skeletons'; interface Props { eventId: string; @@ -147,10 +148,7 @@