From 011c3ec2c1ed539dbdc2889834e99410e2d21015 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Fri, 8 May 2026 11:06:01 +0000 Subject: [PATCH] collapsed measures section --- .../live/PropertyDocumentsContent.tsx | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/app/portfolio/[slug]/(portfolio)/your-projects/live/PropertyDocumentsContent.tsx b/src/app/portfolio/[slug]/(portfolio)/your-projects/live/PropertyDocumentsContent.tsx index 6c6d2bb..298fdf1 100644 --- a/src/app/portfolio/[slug]/(portfolio)/your-projects/live/PropertyDocumentsContent.tsx +++ b/src/app/portfolio/[slug]/(portfolio)/your-projects/live/PropertyDocumentsContent.tsx @@ -4,6 +4,7 @@ import { useState } from "react"; import { useMutation } from "@tanstack/react-query"; import { motion, AnimatePresence } from "framer-motion"; import { + ChevronRight, FileDown, FileText, FileX, @@ -161,6 +162,14 @@ export default function PropertyDocumentsContent({ approvedMeasures, }: PropertyDocumentsContentProps) { const [uploadOpen, setUploadOpen] = useState(false); + const [openMeasures, setOpenMeasures] = useState>(new Set()); + + const toggleMeasure = (measureName: string) => + setOpenMeasures((prev) => { + const next = new Set(prev); + next.has(measureName) ? next.delete(measureName) : next.add(measureName); + return next; + }); const { retrofitDocs, installDocs } = splitDocumentsByType(documents); const missingRetrofitTypes = getMissingRetrofitTypes(retrofitDocs); @@ -291,10 +300,17 @@ export default function PropertyDocumentsContent({ const uploadedTypeSet = new Set(measureDocs.map((d) => d.docType)); const missingTypes = mp.required.filter((t) => !uploadedTypeSet.has(t)); + const isOpen = openMeasures.has(mp.measureName); return (
-
- {mp.measureName} +
-
+ + {isOpen &&
{mp.uploaded.map((docType) => { const doc = measureDocs.find((d) => d.docType === docType); if (!doc) return null; @@ -350,7 +366,7 @@ export default function PropertyDocumentsContent({
))} -
+
} ); })}