feat(01-02): design token system, i18n framework, and theme provider setup

- OKLCH design tokens with yellow #ffed00 primary and dark gray-blue dark mode
- next-intl cookie-based locale with DE/EN message files
- next-themes provider with system/light/dark support
- Sidebar and header layout dimension tokens
- Root layout with ThemeProvider and NextIntlClientProvider wrappers
This commit is contained in:
2026-06-18 10:22:42 +02:00
parent 0517e2b2b9
commit f3791c6cdd
8 changed files with 679 additions and 20 deletions
+19 -4
View File
@@ -1,4 +1,7 @@
import type { Metadata } from 'next';
import { NextIntlClientProvider } from 'next-intl';
import { getLocale, getMessages } from 'next-intl/server';
import { ThemeProvider } from 'next-themes';
import './globals.css';
export const metadata: Metadata = {
@@ -6,15 +9,27 @@ export const metadata: Metadata = {
description: 'Modulare Workflow-Plattform',
};
export default function RootLayout({
export default async function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
const locale = await getLocale();
const messages = await getMessages();
return (
<html lang="de">
<body className="antialiased">
{children}
<html lang={locale} suppressHydrationWarning>
<body className="font-sans antialiased bg-background text-foreground">
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
<NextIntlClientProvider messages={messages}>
{children}
</NextIntlClientProvider>
</ThemeProvider>
</body>
</html>
);