import { createT, isLocale, LOCALES, type Locale } from '@barev/i18n'; import { Logo } from '@barev/ui'; import type { Metadata } from 'next'; import { notFound } from 'next/navigation'; import { RichText } from '../../../components/rich-text'; import { FooterContacts, LegalLine } from '../../../components/seo'; import { CONTACTS, languageAlternates } from '../../../lib/seo'; export const dynamicParams = false; export function generateStaticParams() { return LOCALES.map((locale) => ({ locale })); } /** Разделы политики по порядку; тексты — privacy..title / privacy..body */ const SECTIONS = ['operator', 'data', 'purposes', 'basis', 'recipients', 'location', 'retention', 'security', 'rights', 'marketing', 'cookies', 'age', 'changes'] as const; export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise { const { locale } = await params; if (!isLocale(locale)) return {}; const t = createT(locale); return { title: `${t('privacy.title')} — Barev Club`, description: t('privacy.intro'), alternates: { canonical: `/${locale}/privacy`, languages: languageAlternates('/privacy') }, // своё превью ссылки, иначе подставляется старый слоган из общего layout openGraph: { title: `${t('privacy.title')} — Barev Club`, description: t('privacy.intro'), locale, type: 'article', siteName: 'Barev Club' }, twitter: { card: 'summary_large_image', title: `${t('privacy.title')} — Barev Club`, description: t('privacy.intro') }, }; } /** ONB-3: политика конфиденциальности. Оператор — ИП владельца; основной текст на русском, переводы needs_review */ export default async function Privacy({ params }: { params: Promise<{ locale: string }> }) { const { locale: raw } = await params; if (!isLocale(raw)) notFound(); const locale: Locale = raw; const t = createT(locale); const vars = { email: CONTACTS.email, phone: CONTACTS.phoneDisplay, tin: CONTACTS.tin }; return (

{t('privacy.title')}

{t('privacy.updated')}

{t('privacy.intro')}

    {SECTIONS.map((s) => (
  1. {t(`privacy.${s}.title`)}
  2. ))}
{SECTIONS.map((s, i) => (

{i + 1}. {t(`privacy.${s}.title`)}

))}
); }