Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
23 lines
1.1 KiB
TypeScript
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} />;
|
|
}
|