import React, { useState } from 'react'; import { t } from '../../i18n'; import '../../styles/tokens.css'; import './admin-shell.css'; import './wrap.css'; export type NavItem = { key?: string; label: React.ReactNode; active?: boolean; expanded?: boolean; href?: string; icon?: React.ReactNode; indent?: boolean; collapsible?: boolean; onClick?: (event?: React.MouseEvent) => void; }; type AdminShellProps = { title: string; nav: NavItem[]; children: React.ReactNode; header?: React.ReactNode; brandMark?: React.ReactNode; brandName?: React.ReactNode; overlay?: boolean; }; /** * Wiederverwendbares Admin-Layout mit Sidebar + Header. * WP-spezifische Selektoren liegen in der CSS-Datei, damit andere Umgebungen * nicht beeinflusst werden. */ export const AdminShell: React.FC = ({ title, nav, header, children, brandMark, brandName, overlay }) => { const [mobileNavOpen, setMobileNavOpen] = useState(false); const closeMobile = () => setMobileNavOpen(false); return (
{header}
{children}
{mobileNavOpen && ); };