Skip to content

Add label filtering to the map#25

Merged
dfalling merged 1 commit into
mainfrom
add-label-filtering
Jun 3, 2026
Merged

Add label filtering to the map#25
dfalling merged 1 commit into
mainfrom
add-label-filtering

Conversation

@dfalling
Copy link
Copy Markdown
Owner

@dfalling dfalling commented Jun 3, 2026

Summary

  • Tapping a label in an element's detail view now closes the detail and adds that label as a map filter — turning the labels already shown on elements into a navigation affordance.
  • Label filters combine with an active trip filter, and with each other (ALL-matched), so multiple constraints can apply at once. Each is shown as its own clearable pill.
  • Trip and label pills now share one FilterPill renderer (icon + title + clear); a tag glyph stands in for a label's icon. This replaces the single-purpose TripFilterChip.
  • The Elements/Search queries now request labels, and Elements accepts labels/labelsMatch so filtering happens server-side; the map also filters accumulated pins client-side to avoid a refetch flash.

Notes

  • react pinned 19.2.7 → 19.2.3 (unrelated pre-existing crash): react-native@0.85.3 bundles react-native-renderer@19.2.3 and React requires an exact match, so the Renovate bump in Update react to v19.2.7 #22 crashed the app at launch before any feature code ran. CI didn't catch it since it doesn't boot the app on a device. Worth a Renovate constraint so react can't outpace react-native's renderer again.
  • codegen can't run here (schema isn't committed per codegen.ts), so the generated types.ts changes were applied by hand and verified with tsc.

Test plan

  • bunx tsc --noEmit, bun run lint, bun run test all pass.
  • Manually verified on device: tap a label → detail animates closed → label pill appears and filters the map; combines with a trip filter; pills clear individually.

Lets users narrow the map by tapping a label in an element's details:
the detail view closes and that label becomes an active filter. Labels
combine with an existing trip filter (and with each other, ALL-matched)
so several constraints can apply at once, each shown as its own clearable
pill. This turns the labels already shown on elements into a navigation
affordance rather than static decoration.

The trip and label pills now share one FilterPill renderer (icon + title
+ clear), with a tag glyph standing in for a label's icon, replacing the
single-purpose TripFilterChip.

Also pin react to 19.2.3 to match react-native-renderer: react-native
0.85.3 bundles renderer 19.2.3 and React requires an exact match, so the
Renovate bump to 19.2.7 (#22) crashed the app at launch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dfalling dfalling merged commit 7d9d3f1 into main Jun 3, 2026
2 checks passed
@dfalling dfalling deleted the add-label-filtering branch June 3, 2026 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant