feat: init

This commit is contained in:
2026-05-08 22:45:11 +03:00
commit 0ab34ce1bc
84 changed files with 13038 additions and 0 deletions

42
src/app/layout.tsx Normal file
View File

@@ -0,0 +1,42 @@
import type { Metadata } from "next";
import { Inter, Montserrat } 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/template-ui";
const display = Montserrat({
variable: "--font-display",
weight: ["500", "600", "700", "800"],
subsets: ["latin", "cyrillic"],
});
const sans = Inter({
variable: "--font-sans",
weight: ["400", "500", "600", "700"],
subsets: ["latin", "cyrillic"],
});
export const metadata: Metadata = {
title: "Monochrome Supply — fashion commerce",
description: "Минималистичный e-commerce-шаблон с каталогом, PDP, lookbook, корзиной и shipping FAQ.",
};
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>
);
}