// Root layout that wraps every page in this app. `` / `` / // `` are owned by the framework's index.html shell — don't render them // here. Use a page's `meta` export for title, and `theme` in app.config.ts for // the dark class. // // The app is bilingual: nav labels come from the catalog via ``, and // writes the `voltro:locale` cookie + reloads so the framework // re-renders in the chosen language. import type { ReactNode } from 'react' import { T, useLocale, useT } from '@voltro/i18n' import { LocaleSwitcher } from '@voltro/ui-shadcn' interface LayoutProps { readonly children: ReactNode } const LOCALES = [ { code: 'en', label: 'English' }, { code: 'de', label: 'Deutsch' }, ] export default function Layout({ children }: LayoutProps): ReactNode { const locale = useLocale() const langLabel = useT('lang.label') return (
{{capProjectName}}
{children}
) }