TypeScript 97.5%
SQL 1.4%
Python 0.8%
1import { Skeleton, TableSkeleton } from "@/components/ui/skeleton";23export default function AnalyticsLoading() {4 return (5 <div className="flex flex-col gap-5" aria-busy="true" aria-label="Loading analytics">6 <div className="flex items-start justify-between gap-3">7 <div className="flex flex-col gap-2">8 <Skeleton className="h-7 w-32" />9 <Skeleton className="h-3.5 w-[420px] max-w-full" />10 </div>11 <Skeleton className="h-9 w-64" />12 </div>13 <div className="grid gap-px overflow-hidden rounded-lg border border-border bg-border sm:grid-cols-5">14 {Array.from({ length: 5 }).map((_, i) => (15 <div key={i} className="flex flex-col gap-2 bg-bg-elevated px-5 py-4">16 <Skeleton className="h-3 w-20" />17 <Skeleton className="h-6 w-16" />18 </div>19 ))}20 </div>21 <div className="grid gap-4 lg:grid-cols-2">22 {Array.from({ length: 4 }).map((_, i) => (23 <div key={i} className="rounded-lg border border-border bg-bg-elevated p-5">24 <Skeleton className="h-4 w-40" />25 <Skeleton className="mt-1.5 h-3 w-64" />26 <Skeleton className="mt-5 h-[220px] w-full" />27 </div>28 ))}29 </div>30 <div className="grid gap-4 lg:grid-cols-5">31 <div className="rounded-lg border border-border bg-bg-elevated lg:col-span-3">32 <TableSkeleton rows={6} cols={5} />33 </div>34 <div className="rounded-lg border border-border bg-bg-elevated lg:col-span-2">35 <TableSkeleton rows={6} cols={4} />36 </div>37 </div>38 </div>39 );40}41