DashboardPage.tsx 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { Head } from '@inertiajs/react';
  2. import { type BreadcrumbItem } from '@/common/types';
  3. import AppLayout from '@/pages/layouts/AppLayout';
  4. import { dashboard } from '@/routes';
  5. import { PlaceholderPattern } from '@/shadcn/placeholder-pattern';
  6. const breadcrumbs: BreadcrumbItem[] = [
  7. {
  8. title: 'Dashboard',
  9. href: dashboard().url,
  10. },
  11. ];
  12. export default function DashboardPage() {
  13. return (
  14. <AppLayout breadcrumbs={breadcrumbs}>
  15. <Head title="Dashboard" />
  16. <div className="flex h-full flex-1 flex-col gap-4 overflow-x-auto rounded-xl p-4">
  17. <div className="grid auto-rows-min gap-4 md:grid-cols-3">
  18. <div className="relative aspect-video overflow-hidden rounded-xl border border-sidebar-border/70 dark:border-sidebar-border">
  19. <PlaceholderPattern className="absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" />
  20. </div>
  21. <div className="relative aspect-video overflow-hidden rounded-xl border border-sidebar-border/70 dark:border-sidebar-border">
  22. <PlaceholderPattern className="absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" />
  23. </div>
  24. <div className="relative aspect-video overflow-hidden rounded-xl border border-sidebar-border/70 dark:border-sidebar-border">
  25. <PlaceholderPattern className="absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" />
  26. </div>
  27. </div>
  28. <div className="relative min-h-[100vh] flex-1 overflow-hidden rounded-xl border border-sidebar-border/70 md:min-h-min dark:border-sidebar-border">
  29. <PlaceholderPattern className="absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" />
  30. </div>
  31. </div>
  32. </AppLayout>
  33. );
  34. }