diff --git a/app/submit/settings/success/page.tsx b/app/submit/settings/success/page.tsx index 179848c7..83f68c18 100644 --- a/app/submit/settings/success/page.tsx +++ b/app/submit/settings/success/page.tsx @@ -1,11 +1,7 @@ // app/submit/settings/success/page.tsx import Link from "next/link"; -type Target = -| "settings_fiber" -| "settings_co2gan" -| "settings_co2gal" -| "settings_uv"; +type Target = "settings_fiber" | "settings_co2gan" | "settings_co2gal" | "settings_uv"; const TARGET_TO_LIST: Record = { settings_fiber: "/fiber-settings", @@ -21,60 +17,41 @@ const TARGET_LABEL: Record = { settings_uv: "UV", }; -export default function SuccessPage({ +export default async function SuccessPage({ searchParams, }: { - searchParams: Record; + // Next 15 types `searchParams` as a Promise + searchParams: Promise>; }) { - const rawTarget = searchParams?.target; - const rawId = searchParams?.id; + 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 targetStr = Array.isArray(rawTarget) ? rawTarget[0] : rawTarget; const id = Array.isArray(rawId) ? rawId[0] : rawId || ""; - - const validTargets: Target[] = [ - "settings_fiber", - "settings_co2gan", - "settings_co2gal", - "settings_uv", - ]; - const t: Target = (validTargets.includes(targetStr as Target) - ? (targetStr as Target) - : "settings_fiber"); - 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} + {id ? <> Reference ID: {id}. : null}

- + View {label} database - + Submit another