lazyflat/web/templates
EiSiMo d13f9c5b6e feat(filter): Berlin-Bezirk filter in Einstellungen
Adds a collapsible 12-Bezirk checkbox list to the filter tab. The UI
speaks Bezirke; internally the match runs on the PLZ extracted from
flat.address and resolved to a dominant Bezirk via a curated 187-PLZ
map (berlin_districts.py).

- Migration 0011 adds user_filters.districts (CSV of selected names)
- Empty stored value = no filter = all Bezirke ticked in the UI.
  Submitting "all ticked" or "none ticked" both normalise to empty
  so the defaults and the nuclear state mean the same thing.
- When a Bezirk filter is active, flats with an unknown/unmapped PLZ
  are excluded — if the user bothered to narrow by district, sneaking
  in unplaceable flats would be the wrong default.
- Filter summary on the Wohnungen page shows "N Bezirke" so it's
  visible the filter is active.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 10:05:55 +02:00
..
_admin_logs.html ui batch: admin tab, time filter, count-up, chevron sync, tidy 2026-04-21 17:11:58 +02:00
_admin_secrets.html secrets tab, drop commute filter, favicon, robust error reports 2026-04-21 17:56:57 +02:00
_layout.html refactor: rename wohnungsdidi → lazyflat 2026-04-23 09:26:12 +02:00
_settings_account.html multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
_settings_filter.html feat(filter): Berlin-Bezirk filter in Einstellungen 2026-04-23 10:05:55 +02:00
_settings_notifications.html feat(notifications): add Telegram test button 2026-04-23 09:35:02 +02:00
_settings_partner.html bewerben UX: instant feedback; drop forensics detail; partner feature 2026-04-21 18:18:24 +02:00
_settings_profil.html ui batch: admin tab, time filter, count-up, chevron sync, tidy 2026-04-21 17:11:58 +02:00
_settings_users.html guard double-apply, hide error msg, wohnungen polish, bitwarden block 2026-04-21 14:20:31 +02:00
_wohnung_detail.html enrichment: drop LLM for structured info, dedup images by sha + phash 2026-04-21 15:29:55 +02:00
_wohnungen_body.html frontend: hoist inline <style> into /static/app.css, drop redundant hx-on 2026-04-21 19:19:40 +02:00
admin.html secrets tab, drop commute filter, favicon, robust error reports 2026-04-21 17:56:57 +02:00
base.html refactor: rename wohnungsdidi → lazyflat 2026-04-23 09:26:12 +02:00
bewerbungen.html feat(apply): treat "Inserat offline" as its own outcome 2026-04-23 09:56:04 +02:00
einstellungen.html bewerben UX: instant feedback; drop forensics detail; partner feature 2026-04-21 18:18:24 +02:00
login.html refactor: rename wohnungsdidi → lazyflat 2026-04-23 09:26:12 +02:00
wohnungen.html ui: slim 4-card strip, admin-only system log, HTMX apply, title cleanup 2026-04-21 11:25:59 +02:00