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:
+17
-13
@@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user