Fix alert dedup across reloads, add radar fullscreen, fix swipe conflicts

- Persist alertIdsSeen to localStorage so already-seen alerts don't
  re-notify every time the PWA is opened; cap stored IDs at 200 entries
- Use serviceWorker.showNotification() for alert notifications so they
  work when the app is backgrounded, with fallback to new Notification()
- Add ⛶ fullscreen button to radar embed; uses Fullscreen API and
  resizes the MapLibre canvas after toggle
- Fix swipe-to-change-tab: block gesture when touch starts on a map,
  hourly scroll row, or radar timeline; also require the gesture to be
  more horizontal than vertical (dx > dy*1.5) to avoid conflict with
  vertical scrolling
This commit is contained in:
Claude committed 2026-08-17 01:10:09 +00:00
1 parent a25864d9ed
commit 4d92739df4
3 files changed
+88 -5

No files matched your search

+2 -1
View File
@@ -194,13 +194,14 @@
<button class="link-btn" id="open-map-tab">Open full map →</button>
</span>
</div>
<div class="radar-embed-wrap">
<div class="radar-embed-wrap" id="radar-embed-wrap">
<div id="radar-embed" class="radar-map"></div>
<div class="radar-controls">
<button id="embed-play" class="radar-btn play-btn" title="Play/Pause">▶</button>
<button id="embed-layer" class="radar-btn layer-btn" title="Toggle radar/satellite">R</button>
<div class="radar-timeline" id="embed-timeline"></div>
<span id="embed-timestamp" class="radar-ts">--</span>
<button id="embed-fullscreen" class="radar-btn fullscreen-btn" title="Toggle fullscreen">⛶</button>
</div>
</div>