veza/apps/web/src/components/layout/DashboardLayout.tsx
senke 57abe332a2 fix: Corriger layout, sidebar et gestion erreurs marketplace
- Ajouter padding-top au contenu principal pour compenser le header fixe
- Ajouter bouton toggle pour plier/déplier le sidebar (desktop et mobile)
- Corriger z-index pour éviter chevauchement header/sidebar
- Corriger routes du menu sidebar pour correspondre aux routes définies
- Améliorer gestion erreurs 500 marketplace (empty state au lieu d'erreur)
- Préserver httpStatus dans erreurs API pour détection correcte
2026-01-18 12:30:56 +01:00

26 lines
830 B
TypeScript

import type { ReactNode } from 'react';
import { Header } from './Header';
import { Sidebar } from './Sidebar';
import { GlobalPlayer } from '@/features/player/components/GlobalPlayer';
interface DashboardLayoutProps {
children: ReactNode;
}
/**
* Layout principal du dashboard avec sidebar et header.
* Utilise une structure flex avec sidebar fixe et contenu scrollable.
*/
export function DashboardLayout({ children }: DashboardLayoutProps) {
return (
<div className="flex h-screen overflow-hidden">
<Sidebar />
<div className="flex-1 flex flex-col min-w-0">
<Header />
{/* FIX: Ajouter padding-top pour compenser le header fixe (h-16 + mt-4 = 80px) */}
<main className="flex-1 overflow-auto pb-24 pt-24">{children}</main>
<GlobalPlayer />
</div>
</div>
);
}