import type { Metadata } from "next"; import { unstable_noStore as noStore } from "next/cache"; import { Sparkles } from "lucide-react"; import { getLocale, getTranslations } from "next-intl/server"; import { FloatingPreferences } from "@/components/layout/floating-preferences"; import { HeroContentMotion, HeroMotionItem, HeroShell, HeroTitle } from "@/components/layout/site-hero"; import { getSiteSettings } from "@/lib/app-config"; import { buildLocalizedMetadata } from "@/lib/metadata"; import { resolveLocale } from "@/lib/locale"; type ComingSoonPageProps = { params: Promise<{ locale: string; }>; }; export const dynamic = "force-dynamic"; export const revalidate = 0; export async function generateMetadata({ params }: ComingSoonPageProps): Promise { noStore(); await params; const siteSettings = await getSiteSettings(); const localeKey = resolveLocale(await getLocale().catch(() => siteSettings.defaultLocale), siteSettings.defaultLocale); const t = await getTranslations({ locale: localeKey, namespace: "comingSoon" }); return await buildLocalizedMetadata({ locale: localeKey, pathname: "/coming-soon", title: siteSettings.locales[localeKey].siteName, description: t("description"), applyTitleTemplate: false, }); } export default async function ComingSoonPage({ params, }: ComingSoonPageProps) { noStore(); await params; const siteSettings = await getSiteSettings(); const localeKey = resolveLocale(await getLocale().catch(() => siteSettings.defaultLocale), siteSettings.defaultLocale); const t = await getTranslations({ locale: localeKey, namespace: "comingSoon" }); const isArabic = localeKey === "ar"; const lines = [ { text: t("titleLineOne"), tone: "soft" as const, align: isArabic ? "center" as const : "start" as const, }, { text: t("titleLineTwo"), tone: "default" as const, align: isArabic ? "center" as const : "end" as const, }, { text: t("titleLineThree"), tone: "accent" as const, align: isArabic ? "center" as const : "start" as const, }, ]; return (

{t("kicker")}

{t("description")}

{t("note")}

); }