"use client"; import { Suspense } from "react"; import { useSearchParams, useRouter } from "next/navigation"; import { useQuery } from "@tanstack/react-query"; import { listScenarios } from "@/lib/api"; import { ScenarioCompare } from "@/components/ScenarioCompare"; import { Button } from "@/components/ui/button"; function CompareContent() { const params = useSearchParams(); const router = useRouter(); const ids = params.getAll("id"); const { data: scenarios } = useQuery({ queryKey: ["scenarios"], queryFn: listScenarios, }); const successScenarios = (scenarios ?? []).filter((s) => s.status === "success"); const nameMap = Object.fromEntries( (scenarios ?? []).map((s) => [s.id, s.name]) ); function toggleId(id: string) { const next = ids.includes(id) ? ids.filter((x) => x !== id) : [...ids, id]; const qs = next.map((x) => `id=${x}`).join("&"); router.push(qs ? `/compare?${qs}` : "/compare"); } return ( router.push("/")}> ← Back Compare Scenarios Select 2–4 completed scenarios to compare side-by-side. {successScenarios.map((s) => ( toggleId(s.id)} className={`px-3 py-1.5 rounded-full text-sm border transition-colors ${ ids.includes(s.id) ? "bg-primary text-primary-foreground border-primary" : "border-muted-foreground/40 text-muted-foreground hover:border-foreground" }`} > {s.name} ))} {ids.length >= 2 ? ( ) : ( Select at least 2 scenarios above to see the comparison table. )} ); } export default function ComparePage() { return ( Loading…}> ); }
Select 2–4 completed scenarios to compare side-by-side.