40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
"use client";
|
||
|
||
import { usePathname } from "next/navigation";
|
||
import { DemoWrapper } from "./DemoWrapper";
|
||
|
||
interface HeaderWrapperProps {
|
||
navbar: React.ReactNode;
|
||
children: React.ReactNode;
|
||
}
|
||
|
||
export function HeaderWrapper({ navbar, children }: HeaderWrapperProps) {
|
||
const pathname = usePathname();
|
||
const isAdmin = pathname?.startsWith("/admin");
|
||
const isSetup = pathname === "/setup";
|
||
|
||
if (isAdmin || isSetup) {
|
||
return <>{children}</>;
|
||
}
|
||
|
||
return (
|
||
<div className="flex flex-col min-h-screen bg-slate-50 text-slate-900 dark:bg-[#020617] dark:text-white">
|
||
{/* Demo Banner */}
|
||
<DemoWrapper>
|
||
<div
|
||
id="demo-banner"
|
||
className="bg-amber-500/10 border-b border-amber-500/20 py-2 px-4 text-center text-xs text-amber-600 dark:text-amber-400 font-medium tracking-wide z-50"
|
||
>
|
||
⚠️ Dies ist eine **Demo-Webseite (Dummy-Shop)**. Es werden keine echten Bestellungen verarbeitet oder Zahlungen abgewickelt.
|
||
</div>
|
||
</DemoWrapper>
|
||
|
||
{navbar}
|
||
|
||
<main className="flex-1">
|
||
{children}
|
||
</main>
|
||
</div>
|
||
);
|
||
}
|