mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 04:01:09 +02:00
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. |
||
|---|---|---|
| .. | ||
| dev | ||
| mac-mini | ||
| personas | ||
| test-data | ||
| test-reporting | ||
| audit-bundle.mjs | ||
| audit-complexity.mjs | ||
| audit-crypto-registry.mjs | ||
| audit-encrypted-tools.ts | ||
| audit-i18n-coverage.mjs | ||
| audit-icon-usage.mjs | ||
| audit-module-coupling.mjs | ||
| audit-modules.mjs | ||
| audit-port-drift.mjs | ||
| audit-test-coverage.mjs | ||
| audit-workspace-deps.mjs | ||
| backup-monitoring.sh | ||
| build-complexity-map.mjs | ||
| check-status.sh | ||
| create-gift-codes.mjs | ||
| deploy-metrics.sh | ||
| ecosystem-audit.mjs | ||
| fix-mixed-imports.mjs | ||
| generate-dockerfiles.mjs | ||
| generate-env.mjs | ||
| generate-status-page.sh | ||
| i18n-hardcoded-baseline.json | ||
| i18n-missing-baseline.json | ||
| lighthouse-audit.sh | ||
| migrate-theme-tokens.mjs | ||
| migrate-transition-all.mjs | ||
| run-integration-tests.sh | ||
| run-tests-with-coverage.sh | ||
| setup-databases.sh | ||
| setup-secrets.mjs | ||
| test-chat-auth.sh | ||
| validate-cloudflared-config.mjs | ||
| validate-dockerfiles.mjs | ||
| validate-i18n-keys.mjs | ||
| validate-i18n-parity.mjs | ||
| validate-llm-strings.mjs | ||
| validate-monorepo.mjs | ||
| validate-no-hardcoded-strings.mjs | ||
| validate-no-recursive-turbo.mjs | ||
| validate-pg-schema-isolation.mjs | ||
| validate-theme-parity.mjs | ||
| validate-theme-utilities.mjs | ||
| validate-theme-variables.mjs | ||