feat(landing): секции по DESIGN.md

Шрифты Golos Text и Martian Mono через next/font, токены @theme,
все блоки по плану: первый экран со штампом даты ближайшей обжарки,
лента недели, этикетки сортов, подписка, кто мы, доставка, форма,
подвал. Три фото Unsplash локально, priority только у первого экрана.
LeadForm перекрашена под токены, логика и data-атрибуты те же.
В site.ts и form.ts добавлены служебные подписи для вёрстки.
This commit is contained in:
2026-10-17 16:56:52 +03:00
parent 66d69c1245
commit dc70ebccd8
26 changed files with 1364 additions and 65 deletions
+15 -4
View File
@@ -1,16 +1,27 @@
import type { Metadata } from 'next';
import type { Metadata, Viewport } from 'next';
import { Golos_Text, Martian_Mono } from 'next/font/google';
import { StampInkFilter } from '@/components/Stamp';
import { TouchRecorder } from '@/components/TouchRecorder';
import { site } from '@/content/site';
import './globals.css';
const golos = Golos_Text({ subsets: ['cyrillic', 'latin'], variable: '--font-golos', display: 'swap' });
const martian = Martian_Mono({ subsets: ['cyrillic', 'latin'], variable: '--font-martian', axes: ['wdth'], display: 'swap' });
export const metadata: Metadata = {
title: 'Кварта — свежая обжарка в Минске',
description: 'Обжариваем по четвергам, привозим по пятницам.',
title: site.meta.title,
description: site.meta.description,
};
export const viewport: Viewport = {
themeColor: '#f3ebdd',
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="ru">
<html lang="ru" className={`${golos.variable} ${martian.variable}`}>
<body>
<StampInkFilter />
{children}
<TouchRecorder />
</body>