145 lines
3.3 KiB
TypeScript
145 lines
3.3 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { Geist, Geist_Mono } from "next/font/google";
|
|
import localFont from "next/font/local";
|
|
import { SessionProvider } from "@/components/providers/session-provider";
|
|
import { NotificationProvider } from "@/components/providers/notification-provider";
|
|
import "./globals.css";
|
|
|
|
const geistSans = Geist({
|
|
variable: "--font-geist-sans",
|
|
subsets: ["latin"],
|
|
});
|
|
|
|
const geistMono = Geist_Mono({
|
|
variable: "--font-geist-mono",
|
|
subsets: ["latin"],
|
|
});
|
|
|
|
// Local Fractul font
|
|
const fractul = localFont({
|
|
src: [
|
|
{
|
|
path: "../fonts/fractul/Fractul-Regular.ttf",
|
|
weight: "400",
|
|
style: "normal",
|
|
},
|
|
{
|
|
path: "../fonts/fractul/Fractul-Italic.ttf",
|
|
weight: "400",
|
|
style: "italic",
|
|
},
|
|
{
|
|
path: "../fonts/fractul/Fractul-Medium.ttf",
|
|
weight: "500",
|
|
style: "normal",
|
|
},
|
|
{
|
|
path: "../fonts/fractul/Fractul-MediumItalic.ttf",
|
|
weight: "500",
|
|
style: "italic",
|
|
},
|
|
{
|
|
path: "../fonts/fractul/Fractul-SemiBold.ttf",
|
|
weight: "600",
|
|
style: "normal",
|
|
},
|
|
{
|
|
path: "../fonts/fractul/Fractul-SemiBoldItalic.ttf",
|
|
weight: "600",
|
|
style: "italic",
|
|
},
|
|
{
|
|
path: "../fonts/fractul/Fractul-Bold.ttf",
|
|
weight: "700",
|
|
style: "normal",
|
|
},
|
|
{
|
|
path: "../fonts/fractul/Fractul-BoldItalic.ttf",
|
|
weight: "700",
|
|
style: "italic",
|
|
},
|
|
{
|
|
path: "../fonts/fractul/Fractul-ExtraBold.ttf",
|
|
weight: "800",
|
|
style: "normal",
|
|
},
|
|
{
|
|
path: "../fonts/fractul/Fractul-ExtraBoldItalic.ttf",
|
|
weight: "800",
|
|
style: "italic",
|
|
},
|
|
],
|
|
variable: "--font-fractul",
|
|
});
|
|
|
|
// Local Source Serif 4 font
|
|
const sourceSerif4 = localFont({
|
|
src: [
|
|
{
|
|
path: "../fonts/Source_Serif_4/static/SourceSerif4-Regular.ttf",
|
|
weight: "400",
|
|
style: "normal",
|
|
},
|
|
{
|
|
path: "../fonts/Source_Serif_4/static/SourceSerif4-Italic.ttf",
|
|
weight: "400",
|
|
style: "italic",
|
|
},
|
|
{
|
|
path: "../fonts/Source_Serif_4/static/SourceSerif4-Medium.ttf",
|
|
weight: "500",
|
|
style: "normal",
|
|
},
|
|
{
|
|
path: "../fonts/Source_Serif_4/static/SourceSerif4-MediumItalic.ttf",
|
|
weight: "500",
|
|
style: "italic",
|
|
},
|
|
{
|
|
path: "../fonts/Source_Serif_4/static/SourceSerif4-SemiBold.ttf",
|
|
weight: "600",
|
|
style: "normal",
|
|
},
|
|
{
|
|
path: "../fonts/Source_Serif_4/static/SourceSerif4-SemiBoldItalic.ttf",
|
|
weight: "600",
|
|
style: "italic",
|
|
},
|
|
{
|
|
path: "../fonts/Source_Serif_4/static/SourceSerif4-Bold.ttf",
|
|
weight: "700",
|
|
style: "normal",
|
|
},
|
|
{
|
|
path: "../fonts/Source_Serif_4/static/SourceSerif4-BoldItalic.ttf",
|
|
weight: "700",
|
|
style: "italic",
|
|
},
|
|
],
|
|
variable: "--font-source-serif-4",
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Real Estate Platform",
|
|
description: "Find your dream property with trusted agents",
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="en">
|
|
<body
|
|
className={`${geistSans.variable} ${geistMono.variable} ${sourceSerif4.variable} ${fractul.variable} antialiased`}
|
|
>
|
|
<SessionProvider>
|
|
<NotificationProvider />
|
|
{children}
|
|
</SessionProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|