feat(notifications): new match format with Gmaps + lazyflat deep-link
New Telegram match layout: Karl-Ziegler-Straße 7 (linked → Google Maps) 12489 Treptow-Köpenick Miete: 944.12 (18.51 €/m²) Fläche: 51.0 Zimmer: 2.0 WBS: nicht erforderlich Zur original Anzeige (→ flat URL) Zur lazyflat Seite (→ /?flat=<id>) Deep-link behavior on lazyflat: ?flat=<id> expands the matching row, scrolls it into view, and pulses a yellow highlight for 3s. The query param is stripped from history afterwards so reload stays clean. Unknown flat IDs drop the param silently. Helpers: _address_lines splits the scraper's "Street, PLZ, District" into two display lines; _gmaps_url falls back to a maps.google query when the payload has no explicit link; _wbs_label normalises the German WBS variants to "erforderlich" / "nicht erforderlich". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
77246d1381
commit
81d6b65eae
3 changed files with 108 additions and 7 deletions
|
|
@ -115,6 +115,13 @@ body:has(#v_map:checked) .view-map { display: block; }
|
|||
.flat-detail { background: #fafcfe; border-top: 1px solid var(--border); }
|
||||
.flat-detail:empty { display: none; }
|
||||
|
||||
/* Temporary row highlight after arriving via a Telegram deep-link (?flat=…). */
|
||||
.flat-highlight { animation: flat-highlight-pulse 3s ease-out; }
|
||||
@keyframes flat-highlight-pulse {
|
||||
0% { background-color: #fff4dd; }
|
||||
100% { background-color: transparent; }
|
||||
}
|
||||
|
||||
/* Normalised image gallery — every tile has the same aspect ratio */
|
||||
.flat-gallery { display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue