veza/apps/web/src/components/views/analytics-view/AnalyticsViewSkeleton.tsx
senke 64fbb81ddf ui(design): Phase 3 - rounded tokens, min-w/min-h, stories, NavigationProgress
- rounded-[var(--radius-xl/md/lg/sm)] → rounded-xl, rounded-md, rounded-lg, rounded-sm
- Timeline: min-w-[200px] → min-w-50
- AddEquipmentView, MetadataForm: min-h-[100px] → min-h-25
- NavigationProgress: shadow-[...] → shadow-button-primary-glow
- Stories: ActivityGraph, StatCard, NotificationBell, LoadingState, ScrollArea, Skeleton, FileUploadZone
- Reduced arbitrary values from ~60+ to 11 (5 files, exceptions documented)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 19:24:07 +01:00

38 lines
1.3 KiB
TypeScript

import React from 'react';
import { Skeleton } from '@/components/ui/skeleton';
export function AnalyticsViewSkeleton() {
return (
<div className="space-y-8 pb-24 container py-8 animate-fadeIn">
<div className="flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 border-b border-white/5 pb-8">
<div>
<Skeleton className="h-10 w-64 mb-2" />
<Skeleton className="h-4 w-80" />
</div>
<div className="flex flex-wrap items-center gap-3">
<Skeleton className="h-10 w-48 rounded-xl" />
<div className="flex gap-2">
<Skeleton className="h-9 w-20" />
<Skeleton className="h-9 w-20" />
</div>
</div>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
{[1, 2, 3, 4].map((i) => (
<Skeleton key={i} className="h-28 w-full rounded-xl" />
))}
</div>
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8">
<Skeleton className="lg:col-span-2 h-80 rounded-xl" />
<div className="space-y-6">
<Skeleton className="h-56 rounded-xl" />
<Skeleton className="h-44 rounded-xl" />
</div>
</div>
<Skeleton className="h-96 w-full rounded-xl" />
</div>
);
}