Files
ProxMenux/AppImage/app/layout.tsx

47 lines
1.5 KiB
TypeScript
Raw Normal View History

2025-09-28 19:40:23 +02:00
import type React from "react"
import type { Metadata } from "next"
import { GeistSans } from "geist/font/sans"
import { GeistMono } from "geist/font/mono"
import { Analytics } from "@vercel/analytics/next"
import { ThemeProvider } from "@/components/theme-provider"
import { Suspense } from "react"
import "./globals.css"
export const metadata: Metadata = {
title: "ProxMenux Monitor",
2025-09-28 22:57:15 +02:00
description: "Proxmox System Dashboard and Monitor",
2025-09-28 19:40:23 +02:00
generator: "v0.app",
2025-09-28 22:57:15 +02:00
manifest: "/manifest.json",
icons: {
icon: [
{ url: "/favicon-16x16.png", sizes: "16x16", type: "image/png" },
{ url: "/favicon-32x32.png", sizes: "32x32", type: "image/png" },
],
apple: [{ url: "/apple-touch-icon.png", sizes: "180x180", type: "image/png" }],
},
viewport: "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no",
themeColor: [
{ media: "(prefers-color-scheme: light)", color: "#ffffff" },
{ media: "(prefers-color-scheme: dark)", color: "#1a1a1a" },
],
2025-09-28 19:40:23 +02:00
}
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode
}>) {
return (
<html lang="en" suppressHydrationWarning>
2025-09-28 22:57:15 +02:00
<body className={`${GeistSans.variable} ${GeistMono.variable} antialiased`}>
<Suspense fallback={<div>Loading...</div>}>
2025-09-28 19:40:23 +02:00
<ThemeProvider attribute="class" defaultTheme="system" enableSystem disableTransitionOnChange>
{children}
</ThemeProvider>
2025-09-28 22:57:15 +02:00
<Analytics />
2025-09-28 19:40:23 +02:00
</Suspense>
</body>
</html>
)
}