lazyflat/web
EiSiMo 787f848aba feat(ui): green map pin for applied flats, hide map reject after apply, lightbox image viewer
Map: replace Leaflet's default marker with a divIcon SVG pin coloured
per state — green when the user has already successfully applied
(status.chip === "ok"), brand-blue otherwise. Same condition also hides
the action buttons in the popup, matching the list view, which already
hid both Bewerben and Ablehnen on success — so the only remaining
action on an applied flat is opening the original ad link.

Image gallery: clicks now open a global lightbox modal instead of a new
tab. The viewer fits each image into the viewport via max-width/height
+ object-fit: contain (uniform sizing regardless of source aspect),
shows × top-right, prev/next arrows on the sides, ←/→/Esc keyboard
nav, and click-on-backdrop to close. Prev arrow is hidden on the first
image and next on the last. Tile changes from <a target="_blank"> to
<button> since the new-tab fallback is no longer wanted.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 12:37:15 +02:00
..
routes feat(wohnungen): "Rausgefilterte Wohnungen" section with reason chips 2026-04-23 11:27:49 +02:00
static feat(ui): green map pin for applied flats, hide map reject after apply, lightbox image viewer 2026-04-23 12:37:15 +02:00
templates feat(ui): green map pin for applied flats, hide map reject after apply, lightbox image viewer 2026-04-23 12:37:15 +02:00
app.py refactor: rename wohnungsdidi → lazyflat 2026-04-23 09:26:12 +02:00
apply_client.py perf + simpler: composite index, range-filtered protokoll, simpler profile 2026-04-21 19:16:45 +02:00
auth.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
berlin_districts.py feat(filter): Berlin-Bezirk filter in Einstellungen 2026-04-23 10:05:55 +02:00
common.py feat(web): footer build SHA shows "(latest)" or "(N behind)" 2026-04-23 11:21:24 +02:00
db.py feat(filter): Berlin-Bezirk filter in Einstellungen 2026-04-23 10:05:55 +02:00
Dockerfile fix(web): take git SHA from Coolify's runtime SOURCE_COMMIT 2026-04-23 11:04:24 +02:00
enrichment.py refactor: rename wohnungsdidi → lazyflat 2026-04-23 09:26:12 +02:00
llm.py secrets tab, drop commute filter, favicon, robust error reports 2026-04-21 17:56:57 +02:00
matching.py feat(wohnungen): "Rausgefilterte Wohnungen" section with reason chips 2026-04-23 11:27:49 +02:00
notifications.py feat(notifications): new match format with Gmaps + lazyflat deep-link 2026-04-23 10:28:04 +02:00
requirements.txt enrichment: drop LLM for structured info, dedup images by sha + phash 2026-04-21 15:29:55 +02:00
retention.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
settings.py fix(web): read SOURCE_COMMIT directly, don't reference it in compose 2026-04-23 11:16:19 +02:00
version.py feat(web): footer build SHA shows "(latest)" or "(N behind)" 2026-04-23 11:21:24 +02:00