1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
import Script from "next/script"
import type { Metadata, Viewport } from "next"
import localFont from "next/font/local"
import { ThemeProvider } from "next-themes"
import { SpeedInsights } from "@vercel/speed-insights/next"
import { Analytics } from "@vercel/analytics/next"
import { Providers } from "./providers"
import "./globals.css"
const jetBrainsMono = localFont({
src: "./fonts/JetBrainsMono-Regular.woff2",
variable: "--font-mono",
display: "swap",
})
export const metadata: Metadata = {
title: "asa.news",
description: "a fast, minimal rss reader for staying informed",
appleWebApp: {
capable: true,
statusBarStyle: "black-translucent",
title: "asa.news",
},
formatDetection: {
telephone: false,
},
}
export const viewport: Viewport = {
themeColor: "#0a0a0a",
width: "device-width",
initialScale: 1,
maximumScale: 1,
}
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode
}>) {
return (
<html lang="en" suppressHydrationWarning>
<body className={`${jetBrainsMono.variable} antialiased`}>
<ThemeProvider
attribute="class"
defaultTheme="dark"
enableSystem
disableTransitionOnChange
>
<Providers>
{children}
</Providers>
</ThemeProvider>
{process.env.NODE_ENV === "production" && <SpeedInsights />}
{process.env.NODE_ENV === "production" && <Analytics />}
{process.env.NODE_ENV === "production" && (
<Script
defer
src="https://analytics.fuwn.me/script.js"
data-website-id="419b8c97-8e2a-4ae4-8357-2e87f3807e0e"
/>
)}
</body>
</html>
)
}
|