43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
import type { Metadata } from "next";
|
||
import { Manrope, Source_Sans_3 } from "next/font/google";
|
||
import "./globals.css";
|
||
import { ThemeProvider } from "@/shared/hooks/theme-provider";
|
||
import { ThemeMessageListener } from "@/shared/hooks/theme-message-listener";
|
||
import { SiteHeader, SiteFooter } from "@/widgets/site-shell";
|
||
|
||
const display = Manrope({
|
||
variable: "--font-display",
|
||
weight: ["500", "600", "700", "800"],
|
||
subsets: ["latin", "cyrillic"],
|
||
});
|
||
|
||
const sans = Source_Sans_3({
|
||
variable: "--font-sans",
|
||
weight: ["400", "500", "600", "700"],
|
||
subsets: ["latin", "cyrillic"],
|
||
});
|
||
|
||
export const metadata: Metadata = {
|
||
title: "Northline Clinic — planned care clinic template",
|
||
description: "Клинический шаблон с пациентским маршрутом, triage-записью, специалистами, документами и privacy.",
|
||
};
|
||
|
||
export default function RootLayout({
|
||
children,
|
||
}: Readonly<{
|
||
children: React.ReactNode;
|
||
}>) {
|
||
return (
|
||
<html lang="ru" suppressHydrationWarning>
|
||
<body className={`${display.variable} ${sans.variable} antialiased`}>
|
||
<ThemeProvider attribute="class" defaultTheme="light" enableSystem disableTransitionOnChange>
|
||
<ThemeMessageListener />
|
||
<SiteHeader />
|
||
<main>{children}</main>
|
||
<SiteFooter />
|
||
</ThemeProvider>
|
||
</body>
|
||
</html>
|
||
);
|
||
}
|