From 0d42e351b318302098c585dc5d9730cc741ae8d3 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 4 Feb 2026 22:15:54 +0900 Subject: refactor(ui): replace LoadingSpinner with skeleton fallbacks in Suspense Reduce layout shift during data loading by using content-shaped skeleton placeholders instead of generic spinners in DeckDetailPage, DeckCardsPage, and StudyPage. Co-Authored-By: Claude Opus 4.5 --- src/client/pages/DeckCardsPage.tsx | 53 +++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) (limited to 'src/client/pages/DeckCardsPage.tsx') diff --git a/src/client/pages/DeckCardsPage.tsx b/src/client/pages/DeckCardsPage.tsx index 73a83ae..f4b6c78 100644 --- a/src/client/pages/DeckCardsPage.tsx +++ b/src/client/pages/DeckCardsPage.tsx @@ -30,7 +30,6 @@ import { EditCardModal } from "../components/EditCardModal"; import { EditNoteModal } from "../components/EditNoteModal"; import { ErrorBoundary } from "../components/ErrorBoundary"; import { ImportNotesModal } from "../components/ImportNotesModal"; -import { LoadingSpinner } from "../components/LoadingSpinner"; import { queryClient } from "../queryClient"; /** Combined type for display: note group */ @@ -440,7 +439,14 @@ function CardsContent({
{/* Deck Header */} - }> + +
+
+
+ } + > @@ -571,7 +577,48 @@ export function DeckCardsPage() { {/* Main Content */}
- }> + +
+
+
+
+
+
+
+
+
+
+
+
+
+ {[0, 1, 2].map((i) => ( +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ))} +
+
+ } + > setIsCreateModalOpen(true)} -- cgit v1.3-1-g0d28