- Wrap root layout with ThemeProvider (next-themes, defaultTheme=system) - Remove hardcoded dark class from <html> - Add ThemeToggle component with Sun/Moon/Monitor icons and checkmark on active selection - Mount toggle in dashboard header next to user menu Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
import type { Metadata, Viewport } from 'next'
|
|
import { Inter, JetBrains_Mono } from 'next/font/google'
|
|
import { SessionProvider } from 'next-auth/react'
|
|
import { ThemeProvider } from '@/components/theme-provider'
|
|
import './globals.css'
|
|
|
|
const inter = Inter({ subsets: ["latin"] });
|
|
const jetbrainsMono = JetBrains_Mono({ subsets: ["latin"] });
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'RemoteLink - Remote Desktop Application',
|
|
description: 'Professional remote desktop solution for IT support teams. Connect, control, and manage remote machines securely.',
|
|
generator: 'v0.app',
|
|
icons: {
|
|
icon: [
|
|
{
|
|
url: '/icon-light-32x32.png',
|
|
media: '(prefers-color-scheme: light)',
|
|
},
|
|
{
|
|
url: '/icon-dark-32x32.png',
|
|
media: '(prefers-color-scheme: dark)',
|
|
},
|
|
{
|
|
url: '/icon.svg',
|
|
type: 'image/svg+xml',
|
|
},
|
|
],
|
|
apple: '/apple-icon.png',
|
|
},
|
|
}
|
|
|
|
export const viewport: Viewport = {
|
|
themeColor: '#0a0a0f',
|
|
width: 'device-width',
|
|
initialScale: 1,
|
|
}
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode
|
|
}>) {
|
|
return (
|
|
<html lang="en" suppressHydrationWarning>
|
|
<body className="font-sans antialiased">
|
|
<ThemeProvider
|
|
attribute="class"
|
|
defaultTheme="system"
|
|
enableSystem
|
|
disableTransitionOnChange
|
|
>
|
|
<SessionProvider>{children}</SessionProvider>
|
|
</ThemeProvider>
|
|
</body>
|
|
</html>
|
|
)
|
|
}
|