diff --git a/app/api/submit/settings/success/page.tsx b/app/api/submit/settings/success/page.tsx deleted file mode 100644 index ae93d427..00000000 --- a/app/api/submit/settings/success/page.tsx +++ /dev/null @@ -1,72 +0,0 @@ -// app/submit/settings/success/page.tsx -"use client"; - -import Link from "next/link"; -import { useSearchParams } from "next/navigation"; -import { useMemo } from "react"; - -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 function SuccessPage() { - const sp = useSearchParams(); - const id = (sp.get("id") || "").trim(); - const target = (sp.get("target") || "settings_fiber") as Target; - - const listHref = TARGET_TO_LIST[target] || "/projects"; - const targetLabel = TARGET_LABEL[target] || "Settings"; - - const title = useMemo( - () => `Settings Submitted${id ? ` (#${id})` : ""}`, - [id] - ); - - return ( -
-
-

{title}

-

- Your submission was received successfully. -

-
- -
- - Submit Another ({targetLabel}) - - - Go to {targetLabel} Database - -
- - {id ? ( -

- Reference ID: {id} -

- ) : null} -
- ); -} diff --git a/app/submit/settings/success/page.tsx b/app/submit/settings/success/page.tsx new file mode 100644 index 00000000..179848c7 --- /dev/null +++ b/app/submit/settings/success/page.tsx @@ -0,0 +1,86 @@ +// 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 function SuccessPage({ + searchParams, +}: { + searchParams: Record; +}) { + const rawTarget = searchParams?.target; + const rawId = searchParams?.id; + + 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} +

+ +
+ + View {label} database + + + Submit another + + + Home + +
+
+ ); +}