2026-09-19 21:53:35 +03:00
|
|
|
import { Suspense } from 'react';
|
|
|
|
|
import { RouterProvider } from 'react-router';
|
2026-09-19 18:20:59 +03:00
|
|
|
|
2026-09-19 23:33:34 +03:00
|
|
|
import { Card } from '@/components/ui/primitives';
|
|
|
|
|
import { SkeletonLines } from '@/components/ui/Skeleton';
|
2026-09-19 21:53:35 +03:00
|
|
|
import { router } from '@/router';
|
2026-09-19 21:50:06 +03:00
|
|
|
import '@/i18n';
|
2026-09-19 18:20:59 +03:00
|
|
|
|
2026-09-19 23:33:34 +03:00
|
|
|
/** Заглушка на время загрузки ленивых страниц: скелетон вместо пустоты. */
|
2026-09-19 21:50:06 +03:00
|
|
|
export function RouteFallback() {
|
2026-09-19 18:20:59 +03:00
|
|
|
return (
|
2026-09-19 21:50:06 +03:00
|
|
|
<div className="flex min-h-full items-center justify-center p-6">
|
2026-09-19 23:33:34 +03:00
|
|
|
<Card className="w-full max-w-md">
|
|
|
|
|
<SkeletonLines rows={4} />
|
|
|
|
|
</Card>
|
2026-09-19 21:50:06 +03:00
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|
2026-09-19 18:20:59 +03:00
|
|
|
|
2026-09-19 21:50:06 +03:00
|
|
|
export function App() {
|
|
|
|
|
return (
|
|
|
|
|
<Suspense fallback={<RouteFallback />}>
|
|
|
|
|
<RouterProvider router={router} />
|
|
|
|
|
</Suspense>
|
2026-09-19 18:20:59 +03:00
|
|
|
);
|
|
|
|
|
}
|