- 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
26 lines
830 B
TypeScript
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>
|
|
);
|
|
}
|