[HOMEASSIST-9] Map dashboard: discover person markers and fill the viewport #9

Merged
chris merged 6 commits from feature/HOMEASSIST-9 into main 2026-10-03 22:58:14 -06:00
Owner

Ticket

HOMEASSIST-9 Map dashboard: scaffold the package and render a base map

Summary

  • Markers are now discovered from every hass person.* entity that has coordinates, instead of the hard-coded TRACKED_PEOPLE list. TRACKED_PEOPLE stays only as the notify mapping for the locate buttons.
  • Marker labels now use friendly_name (e.g. "Quinn Harrington") rather than the short hard-coded name. The locate button and toast still say "Quinn". This is intentional.
  • Marker markup is extracted into a pure, HTML-escaped personIconHtml and is otherwise identical to the design.
  • Stale markers are removed. setIcon and setLatLng only run when something changed. The StrictMode remount no longer leaves refs pointing at a removed map.
  • min-h-[480px] is dropped so the map fills the viewport.
  • The mock gets a third untracked person, person.guest.
  • Pure helpers (getMapPeople, staleMarkerIds, completedRequests, personIconHtml) are tested. Map has 37 tests; typecheck, lint, format:check, test and build all pass.
  • Not included: the panel_custom registration in ../ha/configuration.yaml, which needs the owner's approval.

🤖 Generated with Claude Code

https://claude.ai/code/session_01A6WV37dDVNs4Zhq7RQB4ku

## Ticket [HOMEASSIST-9](http://192.168.2.100:7123/home/browse/HOMEASSIST-9/) Map dashboard: scaffold the package and render a base map ## Summary - Markers are now discovered from every hass `person.*` entity that has coordinates, instead of the hard-coded `TRACKED_PEOPLE` list. `TRACKED_PEOPLE` stays only as the notify mapping for the locate buttons. - Marker labels now use `friendly_name` (e.g. "Quinn Harrington") rather than the short hard-coded name. The locate button and toast still say "Quinn". This is intentional. - Marker markup is extracted into a pure, HTML-escaped `personIconHtml` and is otherwise identical to the design. - Stale markers are removed. `setIcon` and `setLatLng` only run when something changed. The StrictMode remount no longer leaves refs pointing at a removed map. - `min-h-[480px]` is dropped so the map fills the viewport. - The mock gets a third untracked person, `person.guest`. - Pure helpers (`getMapPeople`, `staleMarkerIds`, `completedRequests`, `personIconHtml`) are tested. Map has 37 tests; typecheck, lint, format:check, test and build all pass. - Not included: the `panel_custom` registration in `../ha/configuration.yaml`, which needs the owner's approval. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01A6WV37dDVNs4Zhq7RQB4ku
chris merged commit aeb7f2d142 into main 2026-10-03 22:58:14 -06:00
chris deleted branch feature/HOMEASSIST-9 2026-10-03 22:58:14 -06:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
chris/home-assistant-dashboards!9
No description provided.