import type { Metadata } from "next"; import { draftMode } from "next/headers"; import { getCompanySettings, type CompanySettings } from "../lib/payload"; import { LiveCompanySettingsPreviewClient } from "./components/LiveCompanySettingsPreviewClient"; export const metadata: Metadata = { title: "Firmendaten-Vorschau", robots: { index: false, follow: false }, }; const FALLBACK: CompanySettings = { sellerName: "", sellerStreet: "", sellerZip: "", sellerCity: "", sellerCountry: "", sellerEmail: "", vatId: "", taxRatePercent: 19, bankDetails: null, }; // Entered exclusively via CompanySettings.ts's admin.livePreview.url (a // Payload-admin-only iframe target, see buildPreviewUrl()/api/preview) — // not a page a real visitor would ever land on. Unlike email-templates // there's no draft/published distinction here (company-settings has no // content-versioning concept, it's just the current row) — the initial // fetch is the same live data getCompanySettings() always returns, // useLivePreview() takes over from there as the admin edits fields. export default async function CompanySettingsPreviewPage() { await draftMode(); const initialSettings = (await getCompanySettings()) ?? FALLBACK; return ; }