Files
BarevClub/apps/landing/app/[locale]/terms/page.tsx
T
2026-10-25 22:57:03 +04:00

23 lines
1.1 KiB
TypeScript

import { isLocale, LOCALES } from '@barev/i18n';
import { notFound } from 'next/navigation';
import { LegalDocument, legalMetadata } from '../../../components/legal';
export const dynamicParams = false;
export function generateStaticParams() {
return LOCALES.map((locale) => ({ locale }));
}
/** Разделы по порядку; тексты — terms.<id>.title / terms.<id>.body */
const SECTIONS = ['about', 'acceptance', 'orders', 'prices', 'payment', 'cancel', 'subscription', 'perks', 'docs', 'client', 'quality', 'liability', 'content', 'changes', 'law'] as const;
export function generateMetadata({ params }: { params: Promise<{ locale: string }> }) {
return legalMetadata(params, 'terms');
}
/** Условия использования сервиса (публичная оферта). Основной текст на русском, переводы needs_review */
export default async function Page({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params;
if (!isLocale(locale)) notFound();
return <LegalDocument locale={locale} ns="terms" sections={SECTIONS} />;
}