veza/apps/web/desy/app/layout.tsx

76 lines
2 KiB
TypeScript
Raw Normal View History

2026-01-22 16:23:11 +00:00
import React from "react"
import type { Metadata, Viewport } from 'next'
import { Orbitron, Rajdhani, JetBrains_Mono, Noto_Sans_JP } from 'next/font/google'
import { Analytics } from '@vercel/analytics/next'
import { ThemeProvider } from '@/components/theme-provider'
import './globals.css'
// KŌDŌ Typography System
const orbitron = Orbitron({
subsets: ["latin"],
variable: "--font-display",
display: "swap",
})
const rajdhani = Rajdhani({
subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
variable: "--font-sans",
display: "swap",
})
const jetbrainsMono = JetBrains_Mono({
subsets: ["latin"],
variable: "--font-mono",
display: "swap",
})
const notoSansJP = Noto_Sans_JP({
subsets: ["latin"],
weight: ["300", "400", "500", "700", "900"],
variable: "--font-jp",
display: "swap",
})
export const metadata: Metadata = {
title: {
default: 'VEZA × TALAS — KŌDŌ Design System',
template: '%s | VEZA',
},
description: 'Professional design system for the VEZA music platform. Fusion of Manga, Graffiti, Nature, Gaming & Linux aesthetics.',
keywords: ['design system', 'music platform', 'VEZA', 'TALAS', 'UI components', 'neon', 'cyberpunk'],
authors: [{ name: 'VEZA Team' }],
generator: 'v0.app',
}
export const viewport: Viewport = {
themeColor: [
{ media: '(prefers-color-scheme: light)', color: '#f5f5f5' },
{ media: '(prefers-color-scheme: dark)', color: '#050508' },
],
width: 'device-width',
initialScale: 1,
}
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode
}>) {
return (
<html lang="en" suppressHydrationWarning>
<body className={`${orbitron.variable} ${rajdhani.variable} ${jetbrainsMono.variable} ${notoSansJP.variable} font-sans antialiased`}>
<ThemeProvider
attribute="class"
defaultTheme="dark"
enableSystem
disableTransitionOnChange
>
{children}
</ThemeProvider>
<Analytics />
</body>
</html>
)
}