From 1e61b8c04a6b642af364d17c99a26b82c4b3adf5 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 15 Jul 2025 18:59:00 +0100 Subject: [PATCH] deplying new remote assessment model --- src/app/api/plan/trigger/route.ts | 2 + .../components/RemoteAssessmentDropdowns.tsx | 1 + .../components/RemoteAssessmentModal.tsx | 136 ++++++++++++------ 3 files changed, 94 insertions(+), 45 deletions(-) diff --git a/src/app/api/plan/trigger/route.ts b/src/app/api/plan/trigger/route.ts index baa49a66..9746b392 100644 --- a/src/app/api/plan/trigger/route.ts +++ b/src/app/api/plan/trigger/route.ts @@ -17,6 +17,8 @@ const PresignedUrlBodySchema = z.object({ inclusions: z.array(MeasureKeyEnum).optional(), exclusions: z.array(MeasureKeyEnum).optional(), already_installed_file_path: z.string().optional(), + // optional scenario_id to link the plan to an existing scenario + scenario_id: z.string().optional().nullable(), }); export async function POST(request: NextRequest) { diff --git a/src/app/portfolio/[slug]/components/RemoteAssessmentDropdowns.tsx b/src/app/portfolio/[slug]/components/RemoteAssessmentDropdowns.tsx index e056dd3f..1da5392f 100644 --- a/src/app/portfolio/[slug]/components/RemoteAssessmentDropdowns.tsx +++ b/src/app/portfolio/[slug]/components/RemoteAssessmentDropdowns.tsx @@ -72,6 +72,7 @@ export function SelectScenarioDropdown({ {({ active }) => ( - {showMeasures && } + {showMeasures && }
@@ -851,8 +861,15 @@ export default function RemoteAssessmentModal({ > Cancel -
@@ -872,40 +889,69 @@ function setIsOpen(arg0: boolean) { throw new Error("Function not implemented."); } -function MeasuresCheckboxes() { - const { control } = useFormContext(); +function MeasuresCheckboxes({ + form, +}: { + form: ReturnType>; +}) { + const { control } = form; + const allMeasures = measuresList; return ( -
- {measuresList.map((measure) => ( - ( - - { - const checked = e.target.checked; - const current = new Set(field.value ?? []); - if (checked) { - current.add(measure); - } else { - current.delete(measure); - } - field.onChange(Array.from(current)); - }} - className="h-4 w-4" - /> - - {measuresDisplayLabels[measure]} - - - )} - /> - ))} +
+
+ + +
+ + {/* Measures grid */} +
+ {measuresList.map((measure) => ( + ( + + { + const checked = e.target.checked; + const current = new Set(field.value ?? []); + if (checked) { + current.add(measure); + } else { + current.delete(measure); + } + field.onChange(Array.from(current)); + }} + className="h-4 w-4" + /> + + {measuresDisplayLabels[measure]} + + + )} + /> + ))} +
); }