import { getTranslations, setRequestLocale } from 'next-intl/server' import { mockDb } from '@/lib/mockDb' import { Link } from '@/i18n/routing' import { notFound } from 'next/navigation' import { renderMarkdownToHtml } from '@/lib/markdown' import ListingCard from '@/components/ListingCard' import { ArrowLeft, Sparkles } from 'lucide-react' import type { Metadata } from 'next' import { basicMetadata } from '@/lib/seo' interface Props { params: Promise<{ locale: string; id: string }> } export async function generateMetadata({ params }: Props): Promise { const { locale, id } = await params const itinerary = await mockDb.getItineraryById(id) if (!itinerary) return {} const t = await getTranslations({ locale, namespace: 'planner' }) const p = itinerary.params as { days?: number } const title = `${p.days ?? ''}${locale === 'tr' ? ' günlük' : locale === 'ru' ? '-дневный' : '-day'} ${t('title')} — Marmaris Local` const description = itinerary.content.replace(/[#*_>[\]()]/g, '').slice(0, 150) return basicMetadata(title, description, locale) } export default async function PlanResultPage({ params }: Props) { const { locale, id } = await params setRequestLocale(locale) const itinerary = await mockDb.getItineraryById(id) if (!itinerary) { notFound() } const t = await getTranslations('planner') const htmlContent = renderMarkdownToHtml(itinerary.content) const relatedListings: any[] = [] for (const listingId of itinerary.listingIds.slice(0, 6)) { const listing = await mockDb.getListingById(listingId) if (listing) relatedListings.push(listing) } return (
{t('generate')}
{t('title')}
{relatedListings.length > 0 && (

{t('placesInPlan')}

{relatedListings.map((listing) => ( ))}
)}
) }