import type { Metadata } from "next"; import { locales, localize, ogLocale, type Locale } from "@/i18n/config"; import type { Page } from "./pages"; /** Canonical URL plus hreflang alternates for a locale-free path. */ export function localeAlternates(path: string, locale: Locale): Metadata["alternates"] { return { canonical: localize(path, locale), languages: { ...Object.fromEntries(locales.map((l) => [l, localize(path, l)])), "x-default": path, }, }; } export function pageMetadata(page: Page): Metadata { const title = page.meta.title ?? "AI Growth Technologies"; const description = page.meta.description ?? undefined; return { title, description, alternates: localeAlternates(page.path, page.locale), openGraph: { type: "website", url: localize(page.path, page.locale), siteName: "AI Growth Technologies", locale: ogLocale[page.locale], title, description, }, }; }