Files
inq-roi-simulador-web/src/features/workspace/WorkspaceSkeleton.tsx
Marcos Benítez a2763ab755
Some checks failed
/ Deploy to Cloudflare Pages (push) Has been cancelled
Sprint 5. Etapa 1.
2026-06-19 15:31:03 -03:00

46 lines
1.8 KiB
TypeScript

import { AppHeader } from '@/components/AppHeader'
// Preserva el layout real del workspace (topbar + canvas + panel lateral) mientras
// loadProcess() está en curso, en vez de un spinner genérico sobre pantalla en blanco.
export function WorkspaceSkeleton() {
return (
<div className="h-screen flex flex-col bg-slate-100 overflow-hidden">
<AppHeader />
{/* Topbar */}
<header className="min-h-12 bg-white border-b border-slate-200 flex items-center px-3 gap-3 shrink-0">
<div className="h-8 w-8 rounded-md bg-muted animate-pulse" />
<div className="h-5 w-px bg-slate-200" />
<div className="flex-1 min-w-0 space-y-1.5">
<div className="h-3.5 w-48 rounded bg-muted animate-pulse" />
<div className="h-2.5 w-28 rounded bg-muted animate-pulse" />
</div>
<div className="h-8 w-24 rounded-md bg-muted animate-pulse" />
</header>
{/* Main */}
<div className="flex-1 flex overflow-hidden">
{/* Canvas BPMN */}
<div className="flex-1 p-4">
<div className="h-full w-full rounded-lg bg-muted animate-pulse" />
</div>
{/* Panel lateral */}
<div className="shrink-0 w-72 bg-white border-l border-slate-200 p-4 space-y-4">
<div className="flex gap-2">
<div className="h-7 w-16 rounded-md bg-muted animate-pulse" />
<div className="h-7 w-16 rounded-md bg-muted animate-pulse" />
<div className="h-7 w-16 rounded-md bg-muted animate-pulse" />
</div>
{[1, 2, 3, 4].map((i) => (
<div key={i} className="space-y-1.5">
<div className="h-3 w-20 rounded bg-muted animate-pulse" />
<div className="h-2.5 w-full rounded bg-muted animate-pulse" />
</div>
))}
</div>
</div>
</div>
)
}