19 lines
760 B
TypeScript
19 lines
760 B
TypeScript
interface PageLoaderProps {
|
|||
|
|
message?: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Estado de carga a pantalla completa, reutilizado en dos escenarios:
|
||
|
|
* como fallback de <Suspense> mientras React descarga el chunk de una
|
||
|
|
* ruta cargada con lazy(), y en los formularios de detalle mientras
|
||
|
|
* traen sus datos desde el Service Layer. Mantener un solo componente
|
||
|
|
* evita que cada pantalla reinvente su propio "Cargando..." con
|
||
|
|
* estilos ligeramente distintos.
|
||
|
|
*/
|
||
|
|
export default function PageLoader({ message = "Cargando…" }: PageLoaderProps) {
|
||
|
|
return (
|
||
|
|
<div className="p-4 bg-[var(--color-surface)] h-full flex flex-col font-sans select-none text-xs text-[var(--color-text)]">
|
||
|
|
<div className="text-xs text-[var(--color-primary)] py-4">{message}</div>
|
||
|
|
</div>
|
||
|
|
);
|
||
|
|
}
|