// app/category/page.tsx import Category from '@/features/category/ui/Category'; import { category_api } from '@/shared/config/api/category/api'; import { Metadata } from 'next'; import { Suspense } from 'react'; const fetchCategoryData = async () => { try { const res = await category_api.getCategory({ page: 1, page_size: 99 }); return res.data; } catch { return []; } }; interface PageProps { params: { locale: 'uz' | 'ru'; }; } export async function generateMetadata({ params, }: PageProps): Promise { const { locale } = await params; const categories = await fetchCategoryData(); const categoryNames = categories.map((c) => c.name).join(', '); if (locale === 'ru') { return { title: 'Категории | GASTRO', description: `Категории в нашем магазине: ${categoryNames}`, keywords: `категории, продукты, магазин, ${categoryNames}`, openGraph: { title: 'Категории | GASTRO', description: `Категории в нашем магазине: ${categoryNames}`, siteName: 'GASTRO', images: [ { url: '/logos/logo.png', width: 1200, height: 1200, alt: 'Категории', }, ], type: 'website', }, twitter: { card: 'summary_large_image', title: 'Категории | GASTRO', description: `Категории в нашем магазине: ${categoryNames}`, images: ['/logos/logo.png'], }, }; } // default: Uzbek return { title: 'Kategoriyalar | GASTRO', description: `Bizning do‘konimizdagi kategoriyalar: ${categoryNames}`, keywords: `kategoriyalar, mahsulotlar, do‘kon, ${categoryNames}`, openGraph: { title: 'Kategoriyalar | GASTRO', description: `Bizning do‘konimizdagi kategoriyalar: ${categoryNames}`, siteName: 'GASTRO', images: [ { url: '/logos/logo.png', width: 1200, height: 1200, alt: 'Kategoriyalar', }, ], type: 'website', }, twitter: { card: 'summary_large_image', title: 'Kategoriyalar | GASTRO', description: `Bizning do‘konimizdagi kategoriyalar: ${categoryNames}`, images: ['/logos/logo.png'], }, }; } const Page = () => { return ( ); }; export default Page;