import type { Metadata } from "next"; import { unstable_noStore as noStore } from "next/cache"; 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 { LaunchCountdown } from "@/components/site/launch-countdown"; import { getSiteSettings } from "@/lib/app-config"; import { buildLocalizedMetadata } from "@/lib/metadata"; import { resolveLocale } from "@/lib/locale"; import { cn } from "@/lib/utils"; // Target launch date for the countdown. Edit this single line to change it. const LAUNCH_DATE_ISO = "2026-08-28T12:00:00Z"; 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), }, ]; const trackedEyebrow = isArabic ? "tracking-normal" : "uppercase tracking-[0.28em]"; const trackedPill = isArabic ? "tracking-normal" : "uppercase tracking-[0.12em]"; return (
{t("status")}

{t("kicker")}

{t("description")}

); }