import type { Metadata } from "next"; import { unstable_noStore as noStore } from "next/cache"; import { Sparkles } from "lucide-react"; import { getTranslations } from "next-intl/server"; import { FloatingPreferences } from "@/components/layout/floating-preferences"; import { MotionFade } from "@/components/motion-fade"; import { HeroShell, HeroTitle } from "@/components/layout/site-hero"; import { getSiteSettings } from "@/lib/app-config"; import { buildLocalizedMetadata } from "@/lib/metadata"; import { FALLBACK_LOCALE, 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(); const { locale } = await params; const localeKey = resolveLocale(locale, FALLBACK_LOCALE); const t = await getTranslations({ locale: localeKey, namespace: "comingSoon" }); const siteSettings = await getSiteSettings(); 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(); const { locale } = await params; const localeKey = resolveLocale(locale, FALLBACK_LOCALE); const [t, siteSettings] = await Promise.all([ getTranslations({ locale: localeKey, namespace: "comingSoon" }), getSiteSettings(), ]); 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")}

); }