2025-04-16 16:34:38 +02:00
|
|
|
import { PostHogProvider } from "@/components/PostHogProvider";
|
|
|
|
import { Header } from "@/components/header";
|
|
|
|
import { LicenseNotice } from "@/components/license-notice";
|
|
|
|
import type { Metadata, Viewport } from "next";
|
|
|
|
import { Inter } from "next/font/google";
|
|
|
|
import { Toaster } from "sonner";
|
|
|
|
import "./globals.css";
|
|
|
|
import { ThemeProvider } from "./theme-provider";
|
2025-04-16 16:18:20 +02:00
|
|
|
|
|
|
|
const inter = Inter({
|
|
|
|
variable: "--font-inter",
|
|
|
|
subsets: ["latin"],
|
2025-04-16 16:34:38 +02:00
|
|
|
});
|
2025-04-16 16:18:20 +02:00
|
|
|
|
|
|
|
export const viewport: Viewport = {
|
|
|
|
width: "device-width",
|
|
|
|
initialScale: 1,
|
|
|
|
themeColor: "#ffffff",
|
2025-04-16 16:34:38 +02:00
|
|
|
};
|
2025-04-16 16:18:20 +02:00
|
|
|
|
|
|
|
export const metadata: Metadata = {
|
2025-04-16 16:34:38 +02:00
|
|
|
metadataBase: new URL("https://icons.homarr.dev"),
|
2025-04-16 16:18:20 +02:00
|
|
|
title: "Dashboard Icons",
|
|
|
|
description: "Curated icons for your dashboard",
|
2025-04-16 16:34:38 +02:00
|
|
|
keywords: [
|
|
|
|
"dashboard",
|
|
|
|
"icons",
|
|
|
|
"open source",
|
|
|
|
"free icons",
|
|
|
|
"dashboard design",
|
|
|
|
],
|
2025-04-16 16:18:20 +02:00
|
|
|
robots: {
|
|
|
|
index: true,
|
|
|
|
follow: true,
|
|
|
|
"max-image-preview": "large",
|
|
|
|
"max-snippet": -1,
|
|
|
|
"max-video-preview": -1,
|
|
|
|
googleBot: "index, follow",
|
|
|
|
},
|
|
|
|
openGraph: {
|
|
|
|
siteName: "Dashboard Icons",
|
|
|
|
type: "website",
|
|
|
|
locale: "en_US",
|
|
|
|
title: "Dashboard Icons",
|
|
|
|
description: "Curated icons for your dashboard",
|
2025-04-16 16:34:38 +02:00
|
|
|
url: "https://icons.homarr.dev",
|
2025-04-16 16:18:20 +02:00
|
|
|
images: [
|
|
|
|
{
|
|
|
|
url: "/og-image.png",
|
|
|
|
width: 1200,
|
|
|
|
height: 630,
|
|
|
|
alt: "Dashboard Icons",
|
|
|
|
type: "image/png",
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
twitter: {
|
|
|
|
card: "summary_large_image",
|
|
|
|
site: "@homarr_app",
|
|
|
|
creator: "@homarr_app",
|
|
|
|
title: "Dashboard Icons",
|
|
|
|
description: "Curated icons for your dashboard",
|
|
|
|
images: ["/og-image.png"],
|
|
|
|
},
|
|
|
|
applicationName: "Dashboard Icons",
|
|
|
|
appleWebApp: {
|
|
|
|
title: "Dashboard Icons",
|
|
|
|
statusBarStyle: "default",
|
|
|
|
capable: true,
|
|
|
|
},
|
|
|
|
alternates: {
|
|
|
|
types: {
|
2025-04-16 16:34:38 +02:00
|
|
|
"application/rss+xml": "https://icons.homarr.dev/rss.xml",
|
2025-04-16 16:18:20 +02:00
|
|
|
},
|
|
|
|
},
|
|
|
|
icons: {
|
|
|
|
icon: [
|
|
|
|
{
|
|
|
|
url: "/favicon.ico",
|
|
|
|
type: "image/x-icon",
|
|
|
|
},
|
|
|
|
],
|
|
|
|
shortcut: [
|
|
|
|
{
|
|
|
|
url: "/favicon.ico",
|
|
|
|
type: "image/x-icon",
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2025-04-16 16:34:38 +02:00
|
|
|
};
|
2025-04-16 16:18:20 +02:00
|
|
|
|
2025-04-16 16:34:38 +02:00
|
|
|
export default function RootLayout({
|
|
|
|
children,
|
|
|
|
}: Readonly<{ children: React.ReactNode }>) {
|
2025-04-16 16:18:20 +02:00
|
|
|
return (
|
|
|
|
<html lang="en" suppressHydrationWarning>
|
|
|
|
<body className={`${inter.variable} antialiased bg-background`}>
|
|
|
|
<PostHogProvider>
|
2025-04-16 16:34:38 +02:00
|
|
|
<ThemeProvider
|
|
|
|
attribute="class"
|
|
|
|
defaultTheme="system"
|
|
|
|
enableSystem
|
|
|
|
disableTransitionOnChange
|
|
|
|
>
|
2025-04-16 16:18:20 +02:00
|
|
|
<Header />
|
|
|
|
<main>{children}</main>
|
|
|
|
<Toaster />
|
|
|
|
<LicenseNotice />
|
|
|
|
</ThemeProvider>
|
|
|
|
</PostHogProvider>
|
|
|
|
</body>
|
|
|
|
</html>
|
2025-04-16 16:34:38 +02:00
|
|
|
);
|
2025-04-16 16:18:20 +02:00
|
|
|
}
|