-
Notifications
You must be signed in to change notification settings - Fork 113
feat(IT Wallet): [SIW-3044] Add L2+ identification methods screen #7551
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
PR Title Validation for conventional commit type✅ All good! PR title follows the conventional commit type. |
Jira Pull Request LinkThis Pull Request refers to Jira issues: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces L2+ identification methods for the IT Wallet feature, refactoring the eID issuance flow to support different authentication levels and modes. The changes consolidate L2 and L3 identification flows into a unified approach while introducing a new "l3-next" level for future authentication enhancements.
Key Changes:
- Replaced boolean flags (
isL3,isL2Fallback) with anEidIssuanceLeveltype system supporting "l2", "l2-fallback", "l3", and "l3-next" levels - Unified the identification state machine by removing separate L2/L3 state branches
- Updated UI components to dynamically display authentication methods based on the issuance level
Reviewed Changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
machine/eid/context.ts |
Defines new EidIssuanceLevel type and removes deprecated boolean flags |
machine/eid/machine.ts |
Refactors state machine to use level-based logic instead of L2/L3 branches |
machine/eid/events.ts |
Updates event types to require mode and level parameters |
machine/eid/selectors.ts |
Adds level selector and updates L3 feature detection logic |
machine/eid/utils.ts |
Introduces utility function for L3 feature detection |
machine/eid/actions.ts |
Updates tracking and navigation logic to use level-based conditions |
machine/eid/actors.ts |
Updates PID request logic to use new level parameter |
identification/.../ItwIdentificationModeSelectionScreen.tsx |
Refactors to dynamically render authentication methods based on level |
playgrounds/screens/ItwPlayground.tsx |
Reorganizes playground into tabbed sections |
playgrounds/components/ItwPidIssuanceSection.tsx |
New component for testing different issuance modes and levels |
playgrounds/components/ItwLifecycleSection.tsx |
Moves L3 whitelist controls from deleted section |
| Test files | Updates all tests to use new level-based API |
Comments suppressed due to low confidence (1)
ts/features/itwallet/identification/common/screens/ItwIdentificationModeSelectionScreen.tsx:1
- [nitpick] The
eidReissuingparameter is derived frommode === 'reissuance'but passed separately to the navigation. Consider removing this derived parameter and usingmodedirectly in the target screen to simplify the API and reduce redundancy.
import {
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
Warning
This PR depends on #7542
Short description
This PR refactors and simplifies the
Identificationstate of the eID issuance machine and updates theItwIdentificationModeSelectionScreencomponent to reflect the new Figma specifications.List of changes proposed in this pull request
@pagopa/io-app-design-systemto version5.11.10#itwEidIssuanceMachine.UserIdentification.IdentificationL2andL3sub-statesItwIdentificationModeSelectionScreencomponentHow to test
You can test this PR in the issuance/reissuance flows of Documenti su IO/IT-Wallet, also accessible from the playgrounds.
Verify that the identification method selection screen displays the correct copy and methods in the following scenarios
Preview
Issuing
Reissuing