import type { Metadata } from "next"; import { Mail, MapPin, Phone } from "lucide-react"; import { getLocale, getTranslations } from "next-intl/server"; import { Container } from "@/components/layout/container"; import { PageHero } from "@/components/layout/page-hero"; import { MotionFade } from "@/components/motion-fade"; import { ContactForm } from "@/components/site/contact-form"; import { buildLocalizedMetadata } from "@/lib/metadata"; import { getPublicContactProtectionSettings, getSiteSettings } from "@/lib/app-config"; import { getLocalizedPath, resolveLocale } from "@/lib/locale"; import { AppCard } from "@/components/ui/app-card"; import { CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { submitContactFormAction } from "./actions"; type ContactPageProps = { params: Promise<{ locale: string; }>; }; export async function generateMetadata({ params }: ContactPageProps): Promise { await params; const siteSettings = await getSiteSettings(); const localeKey = resolveLocale(await getLocale().catch(() => siteSettings.defaultLocale), siteSettings.defaultLocale); const t = await getTranslations({ locale: localeKey, namespace: "contactPage" }); return await buildLocalizedMetadata({ locale: localeKey, pathname: "/contact", title: t("title"), description: t("intro"), }); } export default async function ContactPage({ params }: ContactPageProps) { await params; const siteSettings = await getSiteSettings(); const localeKey = resolveLocale(await getLocale().catch(() => siteSettings.defaultLocale), siteSettings.defaultLocale); const [t, protection] = await Promise.all([ getTranslations({ locale: localeKey, namespace: "contactPage" }), getPublicContactProtectionSettings(), ]); return ( <> {t("title")}

{t("intro")}

  • +49 30 123456
  • hello@moh-sass.dev
  • {t("city")}
); }