brief-20/frontend/components/auth-loading.tsx
Avnyr 753669c622 feat: add reusable frontend components for admin, dashboard, and tag management
Implemented reusable components:
- `TagSelector`: a customizable tag selection control with asynchronous mock data loading.
- `AuthLoading`: a loading state wrapper for authentication processes.
- `AdminLayout` and `DashboardLayout`: layouts with navigation and user management features.
- `ThemeProvider`: supports dynamic theme toggling.
2025-05-16 14:42:58 +02:00

24 lines
701 B
TypeScript

"use client";
import { useAuth } from "@/lib/auth-context";
import { Loader2 } from "lucide-react";
interface AuthLoadingProps {
children: React.ReactNode;
}
export function AuthLoading({ children }: AuthLoadingProps) {
const { isLoading } = useAuth();
if (isLoading) {
return (
<div className="flex min-h-screen flex-col items-center justify-center p-4 text-center">
<Loader2 className="mb-4 h-8 w-8 animate-spin text-primary" />
<h1 className="mb-2 text-xl font-semibold">Chargement...</h1>
<p className="text-muted-foreground">Veuillez patienter pendant que nous vérifions votre authentification.</p>
</div>
);
}
return <>{children}</>;
}