From 9e3df59ea04eb01e23400b4d47cb9c413139cbaa Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Thu, 28 May 2026 15:33:08 +0000 Subject: [PATCH] Broaden the Awaab's Law panel to cover other condition issues Coordinators record non-damp/mould observations (e.g. wasp nests) in the same comments field, but the section was framed entirely around damp and mould. Reframe the panel copy and table titles around "condition issues", keep "Damp, Mould" up front so the Awaab's Law urgency still leads, and mark the damp/mould rows specifically with a red badge column so they don't blend into the broader list. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../your-projects/live/DampMouldRiskPanel.tsx | 14 +++++++++----- .../your-projects/live/DrillDownTable.tsx | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/app/portfolio/[slug]/(portfolio)/your-projects/live/DampMouldRiskPanel.tsx b/src/app/portfolio/[slug]/(portfolio)/your-projects/live/DampMouldRiskPanel.tsx index 816de4b..e3667c2 100644 --- a/src/app/portfolio/[slug]/(portfolio)/your-projects/live/DampMouldRiskPanel.tsx +++ b/src/app/portfolio/[slug]/(portfolio)/your-projects/live/DampMouldRiskPanel.tsx @@ -106,6 +106,7 @@ export default function DampMouldRiskPanel({ const surveyColumns: (keyof ClassifiedDeal)[] = [ "dealname", "landlordPropertyId", + "dampMouldFlag", "majorConditionIssueDescription", "majorConditionIssuePhotosS3", ]; @@ -113,6 +114,7 @@ export default function DampMouldRiskPanel({ const surveyLabels: Partial> = { dealname: "Address", landlordPropertyId: "Property Ref", + dampMouldFlag: "Damp & Mould", majorConditionIssueDescription: "Surveyor Notes", majorConditionIssuePhotosS3: "Photo Evidence", }; @@ -120,6 +122,7 @@ export default function DampMouldRiskPanel({ const coordColumns: (keyof ClassifiedDeal)[] = [ "dealname", "landlordPropertyId", + "dampMouldFlag", "dampMouldAndRepairComments", "coordinator", ]; @@ -127,6 +130,7 @@ export default function DampMouldRiskPanel({ const coordLabels: Partial> = { dealname: "Address", landlordPropertyId: "Property Ref", + dampMouldFlag: "Damp & Mould", dampMouldAndRepairComments: "Comments", coordinator: "Coordinator", }; @@ -145,7 +149,7 @@ export default function DampMouldRiskPanel({

- Awaab's Law — Damp & Mould Risk + Awaab's Law — Damp, Mould & Other Condition Issues

Comparison of flags raised at survey vs coordination stage @@ -159,7 +163,7 @@ export default function DampMouldRiskPanel({

- No damp or mould flags recorded for this project. + No condition issues recorded for this project.

) : ( @@ -174,7 +178,7 @@ export default function DampMouldRiskPanel({ color="red" onClick={() => onOpenTable( - "Damp & Mould — Survey Stage Flags", + "Condition Issues — Survey Stage", risk.surveyFlagDeals, surveyColumns, surveyLabels @@ -190,7 +194,7 @@ export default function DampMouldRiskPanel({ color="red" onClick={() => onOpenTable( - "Damp & Mould — Coordination Stage Flags", + "Condition Issues — Coordination Stage", risk.coordinatorFlagDeals, coordColumns, coordLabels @@ -208,7 +212,7 @@ export default function DampMouldRiskPanel({ {risk.coordinatorFlagCount - risk.surveyFlagCount} additional{" "} {risk.coordinatorFlagCount - risk.surveyFlagCount === 1 ? "property was" : "properties were"}{" "} - flagged for damp & mould at the coordination stage that{" "} + flagged with condition issues at the coordination stage that{" "} {risk.coordinatorFlagCount - risk.surveyFlagCount === 1 ? "was" : "were"} not identified during the initial survey.

diff --git a/src/app/portfolio/[slug]/(portfolio)/your-projects/live/DrillDownTable.tsx b/src/app/portfolio/[slug]/(portfolio)/your-projects/live/DrillDownTable.tsx index 25dc5f8..c5b314d 100644 --- a/src/app/portfolio/[slug]/(portfolio)/your-projects/live/DrillDownTable.tsx +++ b/src/app/portfolio/[slug]/(portfolio)/your-projects/live/DrillDownTable.tsx @@ -34,6 +34,19 @@ const NO_COMMENT_PLACEHOLDER = "Damp & mould discovered — no note from coordinator"; const COMMENT_PREVIEW_LIMIT = 60; +function DampMouldBadgeCell({ value }: { value: unknown }) { + const isYes = + typeof value === "string" && value.trim().toLowerCase() === "yes"; + + if (!isYes) return null; + + return ( + + Damp & Mould + + ); +} + function DampMouldCommentCell({ value }: { value: unknown }) { const comment = typeof value === "string" ? value.trim() : ""; @@ -176,6 +189,9 @@ export default function DrillDownTable({ if (key === "dampMouldAndRepairComments") { return ; } + if (key === "dampMouldFlag") { + return ; + } return ( {value != null ? String(value) : (