// app/submit/settings/success/page.tsx import Link from "next/link"; type Target = "settings_fiber" | "settings_co2gan" | "settings_co2gal" | "settings_uv"; const TARGET_TO_LIST: Record = { settings_fiber: "/fiber-settings", settings_co2gan: "/co2-gantry-settings", settings_co2gal: "/co2-galvo-settings", settings_uv: "/uv-settings", }; const TARGET_LABEL: Record = { settings_fiber: "Fiber", settings_co2gan: "CO₂ Gantry", settings_co2gal: "CO₂ Galvo", settings_uv: "UV", }; export default async function SuccessPage({ searchParams, }: { // Next 15 types `searchParams` as a Promise searchParams: Promise>; }) { const sp = await searchParams; const rawTarget = sp?.target; const rawId = sp?.id; const valid: Target[] = ["settings_fiber", "settings_co2gan", "settings_co2gal", "settings_uv"]; const t: Target = (valid.includes(rawTarget as Target) ? (rawTarget as Target) : "settings_fiber"); const id = Array.isArray(rawId) ? rawId[0] : rawId || ""; const listHref = TARGET_TO_LIST[t]; const label = TARGET_LABEL[t]; return (

Settings submitted!

Your {label} submission has been received. {id ? <> Reference ID: {id}. : null}

View {label} database Submit another Home
); }