import { MetadataRoute } from 'next' import { mockDb } from '@/lib/mockDb' export default async function sitemap(): Promise { const baseUrl = 'https://marmarislocal.com' const locales = ['tr', 'en', 'ru'] // Static routes const staticRoutes = [ '', '/aparts', '/restaurants', '/businesses', '/add-business', '/contact', '/about' ] const sitemapEntries: MetadataRoute.Sitemap = [] // 1. Generate static routes for each locale for (const route of staticRoutes) { for (const locale of locales) { sitemapEntries.push({ url: `${baseUrl}/${locale}${route}`, lastModified: new Date(), changeFrequency: 'weekly', priority: route === '' ? 1.0 : 0.8, }) } } // 2. Dynamic listing routes try { const listings = await mockDb.getListings() for (const listing of listings) { // Find the category slug dynamically const catSlug = listing.category?.slug || 'isletmeler' for (const locale of locales) { sitemapEntries.push({ url: `${baseUrl}/${locale}/${catSlug}/${listing.slug}`, lastModified: listing.updatedAt || new Date(), changeFrequency: 'weekly', priority: 0.6, }) } } } catch (e) { console.error('Sitemap listings fetch error:', e) } // 3. Dynamic neighborhood routes try { const neighborhoods = await mockDb.getNeighborhoods() for (const neighborhood of neighborhoods) { for (const locale of locales) { sitemapEntries.push({ url: `${baseUrl}/${locale}/neighborhood/${neighborhood.slug}`, lastModified: new Date(), changeFrequency: 'monthly', priority: 0.4, }) } } } catch (e) { console.error('Sitemap neighborhoods fetch error:', e) } return sitemapEntries }