Tsk4.04.01 highlight indoor poi#205
Conversation
…to tsk4.04.01-highlight-indoor-poi
There was a problem hiding this comment.
Pull request overview
This PR adds indoor “highlight points of interest” support by standardizing POI metadata in indoor graph data and rendering category-specific icons + highlight overlays on indoor floor maps, controlled via new toggles in the indoor map settings.
Changes:
- Extend indoor checkpoint typing to support optional POI metadata used for categorization.
- Add indoor POI highlight toggles (bathrooms, elevators, water fountains, stairs, escalators) and pass them into floor rendering.
- Render POI icons/highlight rectangles on indoor floors and update indoor graph JSON + theme colors to support the feature.
Reviewed changes
Copilot reviewed 13 out of 18 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
types/mapTypes.ts |
Adds optional metadata.POI to FloorCheckpoint to classify indoor POIs. |
constants/theme.ts |
Introduces highlight colors for indoor POI categories (light + dark). |
components/map/indoor-map-settings.tsx |
Updates settings UI to toggle highlighting for multiple indoor POI categories. |
components/map/building-floor.tsx |
Renders POI icons and optional highlight overlays based on poiFilters. |
app/(tabs)/(map)/[buildingCode].tsx |
Adds new poiFilters state shape and passes it to MapSettings and BuildingFloor. |
__tests__/components/map/map-settings.test.tsx |
Updates tests for new POI filter shape (but needs one expectation updated to match new header text). |
__tests__/building-floor.test.tsx |
Adds coverage for rendering/highlighting POI icons and highlights. |
data/indoorMapData/jsonGraphs/*.json.txt |
Normalizes POI metadata/positions and adjusts some edges to support consistent POI highlighting. |
assets/svg/*.png |
Adds new PNG assets used as indoor POI icons. |
Comments suppressed due to low confidence (1)
components/map/building-floor.tsx:71
viewContainerRefis a ref object and is always truthy, so theif (!viewContainerRef) { return null; }guard is effectively dead code. If the intent is to gate rendering on the native view being mounted, checkviewContainerRef.current(and include it in deps via state), otherwise remove the guard to avoid confusion.
const nodes = useMemo(() => {
if (!viewContainerRef) {
return null;
}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…thods to reduce complexity and improve readibility
|
It is kind of hard to see the icons on certain floors, I think it would be better to either change the colors to more brighter ones or, it might be easier to just add a white-ish background behind the color hightlight in order to make it more visible. Maybe making the highlight border thicker would also help? |
…make them more visible
benjaminsunliu
left a comment
There was a problem hiding this comment.
The settings do not seem to be saved. Should we have them be saved so the user does not need to re-set them everytime they go in and out of the indoor view? I did it for the wheelchair accessible toggle, it could be done the same way.
There was a problem hiding this comment.
Honestly, I don't see much of a difference between highlight on and highlight off. The POI's do not pop more then without it (except the elevator one). To make it more noticeable, should we switch to black icons with transparent background, or would there be a better way to make the POI's more noticeable with the settings checked?
The way i see it is that the user will highlight the idoor POIs if they wish to see them more clearly within a building. They might not want to see them once they go in another building. Unlike the accessibility mode, where the user will always need accessibility pathing, a user might not always need to have the highlight of an indoor POI. If you think its absolutely necessary, i can try to implement it. |
|









Summary
Adds new feature to highlight indoor POIs
Indoor POIs include:
Adds new toggle buttons in the indoor settings:
When POIs are toggled in the settings, they become highlighted. Types of POIs are highlighted differently
Related Issues
Closes: TSK #issue
#156 TSK4.04.01 – Display and highlight Points of interest on each floor
Changes Made
Shows toggle feature
https://github.com/user-attachments/assets/0ba6ac89-3f5b-455e-a628-e352a69bf88c
Images instead:


Testing
Checklist (Author & Reviewer)