From fdd194bbd834725e56d95e29b8ca042ca3ea1298 Mon Sep 17 00:00:00 2001 From: Z User Date: Tue, 14 Jul 2026 05:20:44 +0000 Subject: [PATCH] feat: add loading skeleton for Repository Dashboard Add a loading.tsx file that mirrors the dashboard page layout: - 4 metric cards with pulsing label and value placeholders - 6 repository cards with name, fullname, badge, and status placeholders - All skeletons use Tailwind animate-pulse matching the existing card styles This follows the Next.js App Router convention where loading.tsx is shown automatically while the server component fetches data. Closes #3 --- apps/web/src/app/dashboard/loading.tsx | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 apps/web/src/app/dashboard/loading.tsx diff --git a/apps/web/src/app/dashboard/loading.tsx b/apps/web/src/app/dashboard/loading.tsx new file mode 100644 index 0000000..3faaeba --- /dev/null +++ b/apps/web/src/app/dashboard/loading.tsx @@ -0,0 +1,41 @@ +export default function DashboardLoading() { + return ( +
+ {/* Metrics Section Skeleton */} +
+

Engineering Overview

+
+ {Array.from({ length: 4 }).map((_, i) => ( +
+
+
+
+ ))} +
+
+ + {/* Repositories Section Skeleton */} +
+
+

Your Repositories

+
+
+ +
+ {Array.from({ length: 6 }).map((_, i) => ( +
+
+
+
+
+
+
+
+
+
+ ))} +
+
+
+ ); +}