Use dedicated day, month and year controls for birthdays #70

Merged
tech merged 2 commits from kyc-67 into main 2026-10-23 10:32:05 +00:00
Owner

Fixes #67.

The identity profile previously required customers to type an exact YYYY-MM-DD string, with no date control or specific error. It now provides labeled numeric day/year inputs and a localized month selector. Valid dates retain the existing profile contract; impossible and future dates show inline errors, and incomplete edits cannot keep Continue enabled from a previous valid value.

The controls preserve edits, support saved profile values and Back navigation, disable while busy, and adapt to narrow screens and enlarged text. Existing KYC journey measurement is reused without collecting birth dates.

Validation: four changed Dart files pass format verification; flutter analyze in frontend/app reports no issues; make test-frontend passes all 230 tests (including eight added tests); flutter build web passes with Wasm dry run. Release-browser smoke testing verifies 23 April 1990 entry, 31 April rejection and recovery. Native screen-reader/mobile keyboard and autofill QA remain device release checks. Scope and UX/measurement evidence: docs/ux/kyc.md.

Stacked on #65 (kyc-64). Merge #65 first, then retarget this PR to main. This PR's current base isolates the birthday contribution. Merge is not authorized.

Fixes #67. The identity profile previously required customers to type an exact YYYY-MM-DD string, with no date control or specific error. It now provides labeled numeric day/year inputs and a localized month selector. Valid dates retain the existing profile contract; impossible and future dates show inline errors, and incomplete edits cannot keep Continue enabled from a previous valid value. The controls preserve edits, support saved profile values and Back navigation, disable while busy, and adapt to narrow screens and enlarged text. Existing KYC journey measurement is reused without collecting birth dates. Validation: four changed Dart files pass format verification; flutter analyze in frontend/app reports no issues; make test-frontend passes all 230 tests (including eight added tests); flutter build web passes with Wasm dry run. Release-browser smoke testing verifies 23 April 1990 entry, 31 April rejection and recovery. Native screen-reader/mobile keyboard and autofill QA remain device release checks. Scope and UX/measurement evidence: docs/ux/kyc.md. Stacked on #65 (kyc-64). Merge #65 first, then retarget this PR to main. This PR's current base isolates the birthday contribution. Merge is not authorized.
tech added the frontend label 2026-10-23 10:19:39 +00:00
tech self-assigned this 2026-10-23 10:19:39 +00:00
tech changed target branch from kyc-64 to main 2026-10-23 10:31:35 +00:00
tech added 2 commits 2026-10-23 10:31:35 +00:00
tech merged commit ec4115d083 into main 2026-10-23 10:32:05 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tech/sxchnge#70