# Report — 2026-01-11

Breve riepilogo delle modifiche svolte ieri:

- Dati e lookup
  - Importato dataset CAP Svizzera in `src/data/countryCodes.ts` e esposti helper: `findPostalCodes`, `findPostalCodeDetails`, `ALL_CH_POSTAL_CODES`.

- Componenti e UX indirizzi
  - Ripristinato e rifattorizzato `src/components/AddressModal.vue` (SFC pulita).
  - Aggiunta prop `allowForeign?: boolean` (default true); quando `allowForeign === false` il toggle `foreign` è nascosto e forzato a `false`.
  - ZIP input sanitizzato (solo cifre, maxlength 4); con 4 cifre per CAP CH la città viene autocompletata.
  - `ChildrenStep` ora salva oggetti `address?: Address | null` (non più la stringa composta); `formatAddressForString` usato solo per rendering.
  - `TaxpayerStep` e `MaritalStep` integrati con `AddressModal` (in `TaxpayerStep` `:allowForeign="false"`).

- Store e tipi
  - `src/types/schema.ts`: estesi `MaritalData` con `spousePreviousDivorces` e `spouseAlimentiVersati`.
  - `src/stores/taxstore.ts`: aggiornato `defaultMarital` per includere i nuovi campi a `false`.
  - `src/stores/children.ts`: persistenza aggiornata per `alimentiVersati` (se applicabile).

- UI e layout
  - Spostati i pulsanti `Prev`/`Next` sulla stessa riga del titolo in tutti gli step (`src/components/steps/*`): titolo in `div.col`, bottoni in `div.col-auto` dentro `div.row`.
  - Aggiunti `q-separator` dopo i titoli.
  - In `ChildrenStep` spostato anche il layout del modal (titolo + bottoni coerenti).

- Campi e regole specifiche
  - `ChildrenStep` modal: aggiunta toggle `alimentiVersati` (visibile solo se `sameHousehold === false`), e messaggio di validazione `validation.insertAddress` se manca l'indirizzo.
  - `MaritalStep`: sostituiti campi `spouse.address/zip/city` con `AddressModal`; aggiunti toggle `spouse.previousDivorces` e `spouse.alimentiVersati` e persistenza nel payload.

- i18n
  - Aggiunte traduzioni: `enum.maritalStatus.SEPARATED`, `marital.previousDivorces`, `marital.spouse.previousDivorces`, e `validation.insertAddress` in `it-IT`, `en-US`, `de-DE`, `fr-FR`.

- Pulizia e correzioni
  - Risolti errori TypeScript/ESLint derivanti da SFC corrotta; rimossi helper inutilizzati e sistemati cast e tipi.
  - Linter e `vue-tsc` eseguiti più volte; stato attuale: lint e type-check OK (solo avviso deprecazione `.eslintignore`).

Note e prossimi passi suggeriti

- Valutare se persistere l'`Address` strutturato anche per il `Taxpayer` (ora usa campi piatti `address/zip/city`).
- Commit e review dei cambi (ci sono molte modifiche locali non ancora committate?).
- QA manuale in browser per verificare: modal indirizzo, autocompletamento CAP CH, visualizzazione dei messaggi di validazione e comportamento dei toggle `allowForeign`.

---
Generato automaticamente dal worklog in repo. Se vuoi, aggiorno anche il `CHANGELOG.md` o aggiungo il report in un formato diverso.
