Skip to content

Conversation

@mastro993
Copy link
Contributor

@mastro993 mastro993 commented Oct 28, 2025

Warning

This PR depends on #7542

Short description

This PR refactors and simplifies the Identification state of the eID issuance machine and updates the ItwIdentificationModeSelectionScreen component to reflect the new Figma specifications.

List of changes proposed in this pull request

  • Bumped @pagopa/io-app-design-system to version 5.11.10
  • Updated locales
  • Simplified #itwEidIssuanceMachine.UserIdentification.Identification
    • Removed L2 and L3 sub-states
  • Refactored ItwIdentificationModeSelectionScreen component
    • Simplified components confitional rendering logic
    • Added L2+ flow components

How 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

  • Documenti su IO (L2) issuance
  • IT-Wallet (L3) issuance
  • IT-Wallet (L3) issuance with Documenti su IO (L2) fallback
  • IT Wallet (L3) issuance with L2+ flow (only accessible via playgrounds)
  • Documenti su IO (L2) reissuance
  • IT-Wallet (L3) reissuance (only accessible via playgrounds)

Preview

Issuing

Documenti su IO (L2) IT Wallet (L3) IT Wallet (L3/L2+) Documenti su IO (L2 fallback)
IMG_0193 IMG_0194 Screenshot 2025-10-28 (16 30 11)

Reissuing

Documenti su IO (L2) IT Wallet (L3/L2+)
IMG_0192

@mastro993 mastro993 self-assigned this Oct 28, 2025
@mastro993 mastro993 requested a review from Copilot October 28, 2025 10:56
@github-actions
Copy link
Contributor

PR Title Validation for conventional commit type

All good! PR title follows the conventional commit type.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 28, 2025

Jira Pull Request Link

This Pull Request refers to Jira issues:

Copy link
Contributor

Copilot AI left a 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 an EidIssuanceLevel type 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 eidReissuing parameter is derived from mode === 'reissuance' but passed separately to the navigation. Consider removing this derived parameter and using mode directly 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.

@mastro993 mastro993 changed the title feat(IT Wallet): [SIW-3044] L2+ identification methods feat(IT Wallet): [SIW-3044] Add L2+ identification methods screen Oct 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant