import '../../variants.css'; import { createT, isLocale, LOCALES, pickMessages, type Locale } from '@barev/i18n'; import { notFound } from 'next/navigation'; import { BotLink, BotLinkProvider } from '../../../components/client'; import { Savings } from '../../../components/savings'; import { VariantHeader, variantMetadata } from '../../../components/variant'; import { getCatalog, getCleaning } from '../../../lib/data'; export const revalidate = 300; export const dynamicParams = false; export function generateStaticParams() { return LOCALES.map((locale) => ({ locale })); } export function generateMetadata({ params }: { params: Promise<{ locale: string }> }) { return variantMetadata(params, '/land5', 'landing.v5.title'); } /** Версия 5 «Калькулятор Barev+»: для тех, кто решает про подписку. Честная экономия за вычетом цены подписки */ export default async function Land5({ params }: { params: Promise<{ locale: string }> }) { const { locale: raw } = await params; if (!isLocale(raw)) notFound(); const locale: Locale = raw; const t = createT(locale); const [catalog, cleaning] = await Promise.all([getCatalog(), getCleaning()]); const others = catalog.categories.filter((c) => c.code !== 'HOME' && c.barevPlusDiscountPct > 0); const messages = pickMessages(locale, ['landing.v5.', 'params.cleaning.', 'common.']); return (

{t('landing.v5.title')}

{t('landing.v5.sub')}

{t('landing.v5.other')}

    {others.map((c) => (
  • −{c.barevPlusDiscountPct}% {t(`categories.${c.code}.name`)}
  • ))}
{t('landing.v5.cta')}

{t('landing.v5.gift')}

); }