import type { MetadataRoute } from 'next'

const SITE_URL = 'https://ocka.konfluance.io'

/**
 * Sitemap dynamique OCKA avec hreflang.
 */
export default function sitemap(): MetadataRoute.Sitemap {
  const now = new Date()

  const routes: Array<{
    path: string
    changeFrequency: 'always' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'never'
    priority: number
  }> = [
    { path: '/',                    changeFrequency: 'weekly',  priority: 1.0 },
    { path: '/about',               changeFrequency: 'monthly', priority: 0.9 },
    { path: '/lcadb',               changeFrequency: 'weekly',  priority: 0.9 },
    { path: '/lcadb/about',         changeFrequency: 'monthly', priority: 0.7 },
    { path: '/lcadb/processes',     changeFrequency: 'daily',   priority: 0.8 },
    { path: '/lcadb/contributions', changeFrequency: 'daily',   priority: 0.8 },
  ]

  const entries: MetadataRoute.Sitemap = []

  for (const route of routes) {
    const frUrl = `${SITE_URL}${route.path}`
    const enPath = route.path === '/' ? '/en' : `/en${route.path}`
    const enUrl = `${SITE_URL}${enPath}`

    const alternates = {
      languages: {
        'fr-FR': frUrl,
        'en-US': enUrl,
        'x-default': frUrl,
      },
    }

    entries.push({
      url: frUrl,
      lastModified: now,
      changeFrequency: route.changeFrequency,
      priority: route.priority,
      alternates,
    })

    entries.push({
      url: enUrl,
      lastModified: now,
      changeFrequency: route.changeFrequency,
      priority: route.priority,
      alternates,
    })
  }

  return entries
}
