feat(web): page-driven breadcrumb context + header render + objects wiring (#54)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-07 19:11:31 +02:00
parent dbaf22500e
commit 18cb35beff
7 changed files with 116 additions and 13 deletions
+17 -13
View File
@@ -6,6 +6,8 @@ import { Button } from "@/components/ui/button";
import { LangSwitch } from "./lang-switch";
import { ThemeSwitch } from "./theme-switch";
import { Sidebar } from "./sidebar";
import { BreadcrumbProvider } from "./breadcrumb-provider";
import { Breadcrumb } from "./breadcrumb";
export function AppShell() {
const { t } = useTranslation();
@@ -20,19 +22,21 @@ export function AppShell() {
return (
<div className="flex min-h-screen">
<Sidebar />
<div className="flex flex-1 flex-col">
<header className="flex items-center gap-4 border-b px-4 py-2">
<div className="flex-1" />
<ThemeSwitch />
<LangSwitch />
<Button variant="ghost" size="sm" onClick={onSignOut}>
{t("auth.signOut")}
</Button>
</header>
<main className="flex-1 overflow-hidden">
<Outlet />
</main>
</div>
<BreadcrumbProvider>
<div className="flex flex-1 flex-col">
<header className="flex items-center gap-4 border-b px-4 py-2">
<Breadcrumb />
<ThemeSwitch />
<LangSwitch />
<Button variant="ghost" size="sm" onClick={onSignOut}>
{t("auth.signOut")}
</Button>
</header>
<main className="flex-1 overflow-hidden">
<Outlet />
</main>
</div>
</BreadcrumbProvider>
</div>
);
}