Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
25 lines
1022 B
TypeScript
25 lines
1022 B
TypeScript
import '../../variants.css';
|
|
import '../../home.css';
|
|
import '../../service.css';
|
|
import { isLocale, LOCALES } from '@barev/i18n';
|
|
import type { Viewport } from 'next';
|
|
import { notFound } from 'next/navigation';
|
|
import { ServicePage, serviceMetadata } from '../../../components/service-page';
|
|
|
|
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 serviceMetadata(params, 'airport');
|
|
}
|
|
export const viewport: Viewport = { themeColor: '#4A1028' };
|
|
|
|
/** /airport — страница услуги под поисковый запрос; тексты landing.svc.airport, цены из админки */
|
|
export default async function Page({ params }: { params: Promise<{ locale: string }> }) {
|
|
const { locale } = await params;
|
|
if (!isLocale(locale)) notFound();
|
|
return <ServicePage locale={locale} id="airport" />;
|
|
}
|