diff --git a/app/(root)/dashboard/loading.tsx b/app/(root)/dashboard/loading.tsx index ef9d24dd..c75d3c34 100644 --- a/app/(root)/dashboard/loading.tsx +++ b/app/(root)/dashboard/loading.tsx @@ -1,9 +1,10 @@ import StatsCardSkeleton from '@/components/dashboard/StatsCardSkeleton'; import AchievementsSkeleton from '@/components/dashboard/AchievementsSkeleton'; +import AIInsightsSkeleton from '@/components/dashboard/AIInsightsSkeleton'; export default function DashboardLoading() { return ( -
+
{/* Left Sidebar Skeleton */}
@@ -36,11 +37,11 @@ export default function DashboardLoading() {
{/* Right Sidebar Skeleton */} -
+
-
+
diff --git a/app/globals.css b/app/globals.css index 052c8358..0678a668 100644 --- a/app/globals.css +++ b/app/globals.css @@ -56,6 +56,7 @@ html { } .shimmer { + background-color: #1a1a1a; /* base dark gray */ background: linear-gradient( 90deg, rgba(255, 255, 255, 0) 0%, diff --git a/components/dashboard/AIInsights.tsx b/components/dashboard/AIInsights.tsx index 3203a8ab..2f03ba92 100644 --- a/components/dashboard/AIInsights.tsx +++ b/components/dashboard/AIInsights.tsx @@ -22,9 +22,10 @@ export default function AIInsights({ insights }: { insights: AIInsight[] }) {
-
+
{insights.map((insight, i) => { const Icon = iconMap[insight.icon] || Sparkles; + return ( -

+ +

{insight.text}

diff --git a/components/dashboard/AIInsightsSkeleton.tsx b/components/dashboard/AIInsightsSkeleton.tsx new file mode 100644 index 00000000..e8370d3e --- /dev/null +++ b/components/dashboard/AIInsightsSkeleton.tsx @@ -0,0 +1,30 @@ +export default function AIInsightsSkeleton() { + return ( +
+ {/* Header */} +
+
+
+
+ + {/* Insight Rows */} +
+ {[...Array(3)].map((_, i) => ( +
+ {/* Icon */} +
+ + {/* Text */} +
+
+
+
+
+ ))} +
+
+ ); +}