39525-vm/app/layout.tsx

62 lines
1.5 KiB
TypeScript

import React from "react"
import type { Metadata, Viewport } from "next"
import { Inter, Space_Grotesk } from "next/font/google"
import "./globals.css"
const inter = Inter({ subsets: ["latin"], variable: "--font-inter" })
const spaceGrotesk = Space_Grotesk({
subsets: ["latin"],
variable: "--font-space-grotesk",
})
export const metadata: Metadata = {
title: "InFocus - Familienfilm-Tagebuch",
description:
"Teile deine Filmerlebnisse mit deiner Familie. Bewerte, logge und entdecke Filme zusammen.",
manifest: "/manifest.json",
appleWebApp: {
capable: true,
statusBarStyle: "black-translucent",
title: "InFocus",
},
}
export const viewport: Viewport = {
themeColor: "#111318",
width: "device-width",
initialScale: 1,
maximumScale: 1,
userScalable: false,
}
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode
}>) {
return (
<html lang="de">
<head>
<link rel="apple-touch-icon" href="/icons/icon-192.jpg" />
</head>
<body
className={`${inter.variable} ${spaceGrotesk.variable} font-sans antialiased`}
>
{children}
<script
dangerouslySetInnerHTML={{
__html: `
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/sw.js')
})
}
`,
}}
/>
</body>
</html>
)
}