From 5259579f85a349034faf2d2acd4d21194abfd3ed Mon Sep 17 00:00:00 2001 From: Benjamin Sutter Date: Fri, 12 Jun 2026 00:02:03 +0200 Subject: [PATCH] refactor(PropertyIntelligenceCard): smaller image, larger text, more spacing Co-Authored-By: Claude Sonnet 4.6 --- .claude/settings.json | 18 +++++++- .claude/settings.local.json | 18 +++++++- .../supply/PropertyIntelligenceCard.tsx | 44 +++++++++---------- 3 files changed, 56 insertions(+), 24 deletions(-) diff --git a/.claude/settings.json b/.claude/settings.json index 063e98e..5a5e6f0 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -13,7 +13,23 @@ "Bash(git pull *)", "Bash(node scripts/check-tokens.js)", "Bash(echo \"EXIT:$?\")", - "Bash(echo \"EXIT_CODE:$?\")" + "Bash(echo \"EXIT_CODE:$?\")", + "Bash(Get-ChildItem \"c:\\\\Users\\\\beni_\\\\AppData\\\\Local\\\\Temp\\\\docx-gen\\\\node_modules\\\\docx\" -Recurse -Name)", + "Bash(start \"C:\\\\Users\\\\beni_\\\\OneDrive\\\\Desktop\\\\property-match\\\\Aenderungsprotokoll_Meeting_26052026.docx\")", + "Bash(start http://localhost:5176)", + "Bash(start http://localhost:5176/demand/ai-search)", + "Bash(node -e ' *)", + "Skill(run)", + "Skill(run:*)", + "Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:5173)", + "Bash(powershell.exe -Command \"Start-Process 'http://localhost:5173'\")", + "Bash(findstr \"LISTENING\")", + "Bash(findstr \":517\")", + "Bash(findstr \"LISTEN\")", + "Bash(findstr \":5\")", + "Bash(echo \"Exit: $?\")", + "Bash(npx vercel *)", + "Bash(Start-Process \"http://localhost:5180\")" ] } } diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 8ba92fe..2134e2a 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -5,7 +5,23 @@ "Bash(git commit *)", "Bash(node -e ' *)", "Bash(git stash *)", - "Read(//c/Users/beni_/.claude/projects/c--Users-beni--OneDrive-Desktop-property-match/8e388ddd-e02e-47fe-8bb9-cdb8164c9fc3/tool-results/**)" + "Read(//c/Users/beni_/.claude/projects/c--Users-beni--OneDrive-Desktop-property-match/8e388ddd-e02e-47fe-8bb9-cdb8164c9fc3/tool-results/**)", + "Bash(pandoc --version)", + "Bash(npm list *)", + "Read(//c/Program Files/LibreOffice/program/**)", + "Read(//c/Program Files/Microsoft Office/**)", + "Read(//c/Program Files \\(x86\\)/**)", + "Bash(mkdir -p /tmp/docx-gen)", + "Read(//tmp/**)", + "Bash(npm init *)", + "Bash(node generate.js)", + "Bash(timeout 8 bash -c \"until curl -s http://localhost:5173 > /dev/null; do sleep 1; done\")", + "Bash(dir \"c:\\\\Users\\\\beni_\\\\OneDrive\\\\Desktop\\\\property-match\\\\src\" -Depth 2)", + "Bash(start \"\" \"http://localhost:5178/demand/results\")", + "Bash(start \"\" \"http://localhost:5178/supply/properties\")" + ], + "additionalDirectories": [ + "c:\\Users\\beni_\\AppData\\Local\\Temp\\docx-gen" ] } } diff --git a/src/components/supply/PropertyIntelligenceCard.tsx b/src/components/supply/PropertyIntelligenceCard.tsx index 489923d..46ce9fe 100644 --- a/src/components/supply/PropertyIntelligenceCard.tsx +++ b/src/components/supply/PropertyIntelligenceCard.tsx @@ -62,7 +62,7 @@ export const PropertyIntelligenceCard = memo(function PropertyIntelligenceCard({ }} > {/* ── Image — clean, no text overlay ── */} - + {hasImage ? ( @@ -85,24 +85,24 @@ export const PropertyIntelligenceCard = memo(function PropertyIntelligenceCard({ {/* ── Body ── */} - + {/* Title + location + status inline */} - + {p.title} - + - - + + {p.location.city}{p.location.district ? ` · ${p.location.district}` : ''} {/* Status — plain dot + text, no pill container */} - - + + {status.label} {p.availabilityStatus === 'AVAILABLE_SOON' && availDate ? ` · ab ${availDate}` : ''} @@ -111,26 +111,26 @@ export const PropertyIntelligenceCard = memo(function PropertyIntelligenceCard({ {/* 3 key metrics — no boxes, whitespace only */} - + - Fläche - + Fläche + {p.areaSqm.toLocaleString('de-CH')} m² - Miete - + Miete + {p.rentPricePerSqm} - CHF/m²/J + CHF/m²/J - Anfragen - + Anfragen + {inquiryCount ?? 0} @@ -139,27 +139,27 @@ export const PropertyIntelligenceCard = memo(function PropertyIntelligenceCard({ {/* Chips + Datenvollständigkeit in einer Zeile */} - + {p.hardFacts?.fitOut && (() => { const meta = FIT_OUT_META[p.hardFacts!.fitOut!] ?? { label: p.hardFacts!.fitOut!, tip: '' } return ( + sx={{ height: 22, fontSize: '0.73rem', bgcolor: '#f4f3f0', color: DS_TEXT.secondary, border: `1px solid ${DS_BORDER.default}`, cursor: 'help' }} /> ) })()} {p.contractDurationMonths && ( + sx={{ height: 22, fontSize: '0.73rem', bgcolor: '#f4f3f0', color: DS_TEXT.secondary, border: `1px solid ${DS_BORDER.default}` }} /> )} - Daten + Daten - = 0.75 ? '#b8975a' : DS_TEXT.muted }}> + = 0.75 ? '#b8975a' : DS_TEXT.muted }}> {confPct}%