From d4b9c23a015fa55d6f9e2bcd5139c2cb67d1209d Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Mon, 2 Mar 2026 09:42:50 +0000 Subject: [PATCH] prevent single scenario being selected --- .../reporting/RecommendationsOptions.tsx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/app/portfolio/[slug]/(portfolio)/reporting/RecommendationsOptions.tsx b/src/app/portfolio/[slug]/(portfolio)/reporting/RecommendationsOptions.tsx index e463252..e67246a 100644 --- a/src/app/portfolio/[slug]/(portfolio)/reporting/RecommendationsOptions.tsx +++ b/src/app/portfolio/[slug]/(portfolio)/reporting/RecommendationsOptions.tsx @@ -86,8 +86,10 @@ export function RecommendationsOptions({ const [isApplying, setIsApplying] = useState(false); const [open, setOpen] = useState(false); const [selectedScenarios, setSelectedScenarios] = useState([]); + const [warning, setWarning] = useState(null); const toggleScenario = (id: number) => { + setWarning("") setSelectedScenarios((prev) => prev.includes(id) ? prev.filter((s) => s !== id) @@ -96,10 +98,12 @@ export function RecommendationsOptions({ }; const handleSelectAll = () => { + setWarning("") setSelectedScenarios(scenarios.map((s) => s.id)); }; const handleDeselectAll = () => { + setWarning("") setSelectedScenarios([]); }; @@ -115,6 +119,13 @@ export function RecommendationsOptions({ }; const handleSubmit = async () => { + console.log('handleSubmit', selectedScenarios, selectedScenarios.length); + if (selectedScenarios.length === 1) { + setWarning("Cannot generate recommendations for a single scenario"); + return; + } + + setWarning(null); setIsApplying(true); await onApply({ @@ -127,8 +138,8 @@ export function RecommendationsOptions({ setIsApplying(false); setOpen(false); }; - const handleCancel = () => { + setWarning("") setSelectedScenarios([]); setOpen(false); }; @@ -222,6 +233,10 @@ export function RecommendationsOptions({ )} + {warning && ( +

{warning}

+ )} +