mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 19:41:09 +02:00
feat(places): surface geocoding privacy notices in autocomplete UI
The mana-geocoding wrapper now returns `notice: 'fallback_used' | 'sensitive_local_unavailable'` alongside results so the UI can show the user *why* a query had unusual behavior. This commit wires that all the way through the Places module's address-autocomplete inputs. Geocoding client (lib/geocoding/index.ts): - Add `GeocodingNotice` and `SearchOutcome` types - Add `searchAddressDetailed` and `reverseGeocodeDetailed` — same semantics as the existing functions but return the wrapper's provider/notice metadata. Existing `searchAddress`/`reverseGeocode` stay backward-compatible (they call the detailed variants under the hood and discard the metadata). - Extend GeocodingResult with optional `provider` field. Places ListView (the only current consumer that exposes typed addresses to users): - Both autocomplete inputs (tracking-edit + main address-search) now use searchAddressDetailed and surface notices inline. - 'sensitive_local_unavailable' renders an amber explainer block in the dropdown — title + body — so the user knows why their medical query returned 0 hits without leaking the search to a public API. - 'fallback_used' renders a small "≈ ungefähr" footer badge so users understand the result came from public OSM (less precise but still valid). - The dropdown opens when EITHER results exist OR a notice is present — sensitive blocked queries with empty results still surface their explainer. i18n: new `places.geocoding_notice.*` sub-namespace in all 5 locales (de/en/es/fr/it) — 4 strings each. All validators green. Other consumers (places DetailView, events, photos, contacts) keep the existing searchAddress/reverseGeocode calls — they don't need the privacy notices today and would just add noise. They can adopt the detailed variant if/when the use case warrants it.
This commit is contained in:
parent
f20a411fd8
commit
b1fa55dbca
8 changed files with 218 additions and 25 deletions
|
|
@ -10,8 +10,8 @@
|
|||
"apps/mana/apps/web/src/lib/components/dashboard/widgets/CardsProgressWidget.svelte": 4,
|
||||
"apps/mana/apps/web/src/lib/components/dashboard/widgets/MusicLibraryWidget.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/components/DetailViewShell.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/components/feedback/FeedbackQuickModal.svelte": 7,
|
||||
"apps/mana/apps/web/src/lib/components/feedback/GlobalFeedbackPill.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/components/feedback/FeedbackForm.svelte": 5,
|
||||
"apps/mana/apps/web/src/lib/components/feedback/FeedbackQuickModal.svelte": 2,
|
||||
"apps/mana/apps/web/src/lib/components/KeyboardShortcutsModal.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/components/landing/LandingEditor.svelte": 16,
|
||||
"apps/mana/apps/web/src/lib/components/layout/SpaceCreateDialog.svelte": 4,
|
||||
|
|
@ -85,11 +85,6 @@
|
|||
"apps/mana/apps/web/src/lib/modules/comic/ListView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/comic/views/CharactersView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/comic/views/ListView.svelte": 2,
|
||||
"apps/mana/apps/web/src/lib/modules/community/components/ItemCard.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/community/views/DetailView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/community/views/ListView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/community/views/MyWishesView.svelte": 6,
|
||||
"apps/mana/apps/web/src/lib/modules/community/views/RoadmapView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/companion/components/CompanionChat.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/companion/components/RitualRunner.svelte": 5,
|
||||
"apps/mana/apps/web/src/lib/modules/companion/ListView.svelte": 1,
|
||||
|
|
@ -106,6 +101,11 @@
|
|||
"apps/mana/apps/web/src/lib/modules/core/widgets/RecentContactsWidget.svelte": 2,
|
||||
"apps/mana/apps/web/src/lib/modules/core/widgets/TasksTodayWidget.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/core/widgets/UpcomingEventsWidget.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/feedback/components/ItemCard.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/feedback/views/DetailView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/feedback/views/ListView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/feedback/views/MyWishesView.svelte": 6,
|
||||
"apps/mana/apps/web/src/lib/modules/feedback/views/RoadmapView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/goals/ListView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/guides/ListView.svelte": 1,
|
||||
"apps/mana/apps/web/src/lib/modules/habits/components/HabitDetail.svelte": 5,
|
||||
|
|
@ -286,11 +286,11 @@
|
|||
"apps/mana/apps/web/src/routes/+error.svelte": 1,
|
||||
"apps/mana/apps/web/src/routes/auth/callback/+page.svelte": 3,
|
||||
"apps/mana/apps/web/src/routes/auth/reset-password/+page.svelte": 1,
|
||||
"apps/mana/apps/web/src/routes/community/+layout.svelte": 5,
|
||||
"apps/mana/apps/web/src/routes/community/+page.svelte": 1,
|
||||
"apps/mana/apps/web/src/routes/community/admin/+page.svelte": 6,
|
||||
"apps/mana/apps/web/src/routes/community/eule/[hash]/+page.svelte": 1,
|
||||
"apps/mana/apps/web/src/routes/community/roadmap/+page.svelte": 1,
|
||||
"apps/mana/apps/web/src/routes/feedback/+layout.svelte": 5,
|
||||
"apps/mana/apps/web/src/routes/feedback/+page.svelte": 1,
|
||||
"apps/mana/apps/web/src/routes/feedback/admin/+page.svelte": 6,
|
||||
"apps/mana/apps/web/src/routes/feedback/eule/[hash]/+page.svelte": 1,
|
||||
"apps/mana/apps/web/src/routes/feedback/roadmap/+page.svelte": 1,
|
||||
"apps/mana/apps/web/src/routes/g/[code]/+page.svelte": 6,
|
||||
"apps/mana/apps/web/src/routes/rsvp/[token]/+page.svelte": 1,
|
||||
"apps/mana/apps/web/src/routes/share/[token]/+layout.svelte": 1,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue