2025-02-13 17:28:49 +01:00
|
|
|
import "./globals.css"
|
2025-02-18 22:20:33 +01:00
|
|
|
import { Inter } from "next/font/google"
|
2025-02-13 23:04:40 +01:00
|
|
|
import Navbar from "@/components/navbar"
|
|
|
|
import MouseMoveEffect from "@/components/mouse-move-effect"
|
2025-02-16 11:29:56 +01:00
|
|
|
import type React from "react"
|
2025-02-18 22:20:33 +01:00
|
|
|
import { metadata } from "./metadata"
|
2025-02-13 17:28:49 +01:00
|
|
|
|
|
|
|
const inter = Inter({ subsets: ["latin"] })
|
|
|
|
|
2025-02-18 20:00:51 +01:00
|
|
|
export { metadata }
|
2025-02-16 11:29:56 +01:00
|
|
|
|
2025-02-18 22:20:33 +01:00
|
|
|
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
2025-02-13 17:28:49 +01:00
|
|
|
return (
|
|
|
|
<html lang="en" className="dark">
|
2025-02-18 22:20:33 +01:00
|
|
|
<head>
|
2025-02-18 22:30:20 +01:00
|
|
|
<title>{metadata.title.default}</title>
|
2025-02-18 22:20:33 +01:00
|
|
|
<meta name="description" content={metadata.description} />
|
2025-02-18 22:30:20 +01:00
|
|
|
<meta name="application-name" content={metadata.applicationName} />
|
|
|
|
<meta name="author" content={metadata.authors?.[0]?.name} />
|
|
|
|
<meta name="generator" content={metadata.generator} />
|
|
|
|
<meta name="keywords" content={metadata.keywords?.join(",")} />
|
|
|
|
<meta name="referrer" content={metadata.referrer} />
|
|
|
|
<meta name="creator" content={metadata.creator} />
|
|
|
|
<meta name="publisher" content={metadata.publisher} />
|
|
|
|
<meta property="og:title" content={metadata.openGraph.title} />
|
|
|
|
<meta property="og:description" content={metadata.openGraph.description} />
|
|
|
|
<meta property="og:url" content={metadata.openGraph.url} />
|
|
|
|
<meta property="og:site_name" content={metadata.openGraph.siteName} />
|
|
|
|
<meta property="og:locale" content={metadata.openGraph.locale} />
|
|
|
|
<meta property="og:type" content={metadata.openGraph.type} />
|
|
|
|
<meta property="og:image" content={metadata.openGraph.images[0].url} />
|
|
|
|
<meta property="og:image:width" content={metadata.openGraph.images[0].width?.toString()} />
|
|
|
|
<meta property="og:image:height" content={metadata.openGraph.images[0].height?.toString()} />
|
|
|
|
<meta name="twitter:card" content={metadata.twitter.card} />
|
|
|
|
<meta name="twitter:title" content={metadata.twitter.title} />
|
|
|
|
<meta name="twitter:description" content={metadata.twitter.description} />
|
|
|
|
<meta name="twitter:image" content={metadata.twitter.images?.[0]} />
|
|
|
|
{metadata.icons.icon.map((icon, index) => (
|
|
|
|
<link key={index} rel="icon" type={icon.type} sizes={icon.sizes} href={icon.url} />
|
|
|
|
))}
|
|
|
|
{metadata.icons.apple.map((icon, index) => (
|
|
|
|
<link key={index} rel="apple-touch-icon" sizes={icon.sizes} href={icon.url} />
|
|
|
|
))}
|
2025-02-18 22:20:33 +01:00
|
|
|
</head>
|
2025-02-13 17:28:49 +01:00
|
|
|
<body className={`${inter.className} bg-background text-foreground antialiased`}>
|
2025-02-13 23:04:40 +01:00
|
|
|
<Navbar />
|
|
|
|
<MouseMoveEffect />
|
2025-02-17 22:25:11 +01:00
|
|
|
<div className="pt-16 md:pt-16">{children}</div>
|
2025-02-13 17:28:49 +01:00
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
)
|
2025-02-18 22:20:33 +01:00
|
|
|
}
|
|
|
|
|