diff --git a/apps/web/src/app/dashboard/loading.tsx b/apps/web/src/app/dashboard/loading.tsx new file mode 100644 index 0000000..1c01283 --- /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: 3 }).map((_, i) => ( +
+
+
+
+
+
+
+
+
+
+ ))} +
+
+
+ ); +} diff --git a/apps/web/src/app/dashboard/repository/[id]/loading.tsx b/apps/web/src/app/dashboard/repository/[id]/loading.tsx new file mode 100644 index 0000000..0c05f34 --- /dev/null +++ b/apps/web/src/app/dashboard/repository/[id]/loading.tsx @@ -0,0 +1,99 @@ +export default function RepositoryLoading() { + return ( +
+ {/* Header Skeleton */} +
+
+
+
+
+
+
+
+
+
+
+ + {/* Health Score Skeleton */} +
+
+
+
+
+ + {/* Bus Factor Skeleton */} +
+
+
+
+
+ + {/* Resilience Skeleton */} +
+
+
+
+
+
+ + {/* Stats Grid Skeleton */} +
+ {Array.from({ length: 2 }).map((_, i) => ( +
+
+
+
+ ))} +
+
+
+
+
+
+
+
+
+
+
+ + {/* Evidence Panels Skeleton */} +
+
+
+ {Array.from({ length: 4 }).map((_, i) => ( +
+
+
+
+
+
+
+
+
+
+
+
+ ))} +
+
+ + {/* Timeline Skeleton */} +
+
+
+
+
    + {Array.from({ length: 5 }).map((_, i) => ( +
  • +
    +
    +
    +
    +
    +
  • + ))} +
+
+
+ ); +}