Vendune
frontend/src/shared/customer/README.mdView on GitHub ↗

shared/customer

Reusable customer/address forms; parents own persistence.

Each file starts with its responsibility. See the source inventory for the full map.

Modules

  • AddressBook.tsx: Tenant-owned address cards, defaults and revision-aware CRUD shared by account and CRM.
  • AddressCard.tsx: Human-readable address used in order snapshots and address books.
  • AddressFields.tsx: Structured accessible address editor; no hidden JSON or storefront-only duplicate model.
  • CustomerFields.tsx: Contact fields mirror the account API while access, identity and pricing remain separate.
  • customer-types.ts: Shared customer/address contracts; merchant and customer sessions use distinct request adapters.

  • GoogleAddressSearch.tsx: explicitly activated optional Places widget with stale-reply and destination guards.

  • google-address.ts: lazy provider loader and international address mapping.

Verification

Run npm run build, npm test, npm run test:coverage and npm run architecture from frontend/. Coverage includes untested source files. See testing and limitations; file presence does not mean full test coverage.