-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathlayout.tsx
More file actions
88 lines (81 loc) · 2.34 KB
/
layout.tsx
File metadata and controls
88 lines (81 loc) · 2.34 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import { Pangolin, Poppins, Inter } from "next/font/google";
import "./globals.css";
import SessionProviderWrapper from "./SessionProvider";
import ServiceWorkerRegister from "../components/ServiceWorkerRegister/ServiceWorkerRegister";
import Script from "next/script";
const pangolin = Pangolin({
weight: "400",
subsets: ["latin"],
variable: "--font-pangolin",
display: "swap",
});
const poppins = Poppins({
weight: ["400", "500", "600", "700"],
subsets: ["latin"],
variable: "--font-poppins",
display: "swap",
});
const inter = Inter({
weight: ["400", "500", "600", "700"],
subsets: ["latin"],
variable: "--font-inter",
display: "swap",
});
export const metadata = {
title: "FFCS-inator",
description:
"Generate priority-based timetables in seconds with FFCS-inator. No hassle. No stress. No more clashes. The smartest way to plan your VIT FFCS.",
icons: {
icon: "/logo_ffcs.svg",
},
manifest: "/manifest.webmanifest",
openGraph: {
title: "FFCS-inator",
description:
"Generate priority-based timetables in seconds with FFCS-inator. No hassle. No stress. No more clashes. The smartest way to plan your VIT FFCS.",
siteName: "FFCS-inator",
type: "website",
images: [
{
url: "/og-image.png",
alt: "FFCS-inator - Timetable Generator for VIT",
width: 1200,
height: 630,
},
],
},
twitter: {
card: "summary_large_image",
title: "FFCS-inator",
description:
"Generate priority-based timetables in seconds with FFCS-inator.",
images: ["/og-image.png"],
},
robots: "index, follow",
};
export default function RootLayout({
children,
}: Readonly<{ children: React.ReactNode }>) {
return (
<html lang="en">
<head>
<Script
async
src="https://www.googletagmanager.com/gtag/js?id=G-ZC8LE59L8H"
></Script>
<Script id="google-analytics">
{`window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-ZC8LE59L8H');`}
</Script>
</head>
<body
className={`${pangolin.variable} ${poppins.variable} ${inter.variable} antialiased bg-[#CEE4E5]`}
>
<SessionProviderWrapper>{children}</SessionProviderWrapper>
<ServiceWorkerRegister />
</body>
</html>
);
}