Skip to content

Commit

Permalink
chore(IT Wallet): [SIW-604] Refactor screens directory structure (#5245)
Browse files Browse the repository at this point in the history
## Short description
Depends on #5244.

This PR aligns the screens directory structure according to the changes
made to the routes in #5244, thus introducing a structure which
separates the issuance and presentation flows for PID and generic
credentials.

## List of changes proposed in this pull request
- Updates folder structure;
- Updates file names; 
- Updates usages.

## How to test
Static tests. Optionally check every flow again.
  • Loading branch information
LazyAfternoons committed Nov 22, 2023
1 parent 3473d6d commit 7fd4b63
Show file tree
Hide file tree
Showing 33 changed files with 294 additions and 293 deletions.
17 changes: 9 additions & 8 deletions ts/features/it-wallet/navigation/ItwParamsList.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { ItwCredentialDetailsScreenNavigationParams } from "../screens/credential/ItwCredentialDetailsScreen";
import { ItwPidRequestScreenNavigationParams } from "../screens/issuing/ItwPidRequestScreen";
import { ItwCieCardReaderScreenNavigationParams } from "../screens/issuing/cie/ItwCieCardReaderScreen";
import { ItwCieConsentDataUsageScreenNavigationParams } from "../screens/issuing/cie/ItwCieConsentDataUsageScreen";
import { ItwCieWrongPinScreenNavigationParams } from "../screens/issuing/cie/ItwCieWrongPinScreen";
import { ItwRpInitScreenNavigationParams } from "../screens/presentation/crossdevice/ItwRpInitScreen";
import { ItwPrCredentialDetailsScreenNavigationParams } from "../screens/presentation/ItwPrCredentialDetails";
import { ItwPidRequestScreenNavigationParams } from "../screens/issuing/pid/ItwPidRequestScreen";
import { ItwCieCardReaderScreenNavigationParams } from "../screens/issuing/pid/cie/ItwCieCardReaderScreen";
import { ItwCieConsentDataUsageScreenNavigationParams } from "../screens/issuing/pid/cie/ItwCieConsentDataUsageScreen";
import { ItwCieWrongPinScreenNavigationParams } from "../screens/issuing/pid/cie/ItwCieWrongPinScreen";
import { ItwPrPidChecksScreenNavigationParams } from "../screens/presentation/remote/pid/ItwPrPidChecksScreen";
import { ITW_ROUTES } from "./ItwRoutes";

export type ItwParamsList = {
Expand Down Expand Up @@ -34,13 +34,14 @@ export type ItwParamsList = {

// PRESENTATION REMOTE PID
[ITW_ROUTES.PRESENTATION.PID.DETAILS]: undefined;
[ITW_ROUTES.PRESENTATION.PID.REMOTE.CHECKS]: ItwRpInitScreenNavigationParams;
[ITW_ROUTES.PRESENTATION.PID.REMOTE
.CHECKS]: ItwPrPidChecksScreenNavigationParams;
[ITW_ROUTES.PRESENTATION.PID.REMOTE.DATA]: undefined;
[ITW_ROUTES.PRESENTATION.PID.REMOTE.RESULT]: undefined;

// PRESENTATION REMOTE CREDENTIAL
[ITW_ROUTES.PRESENTATION.CREDENTIAL
.DETAILS]: ItwCredentialDetailsScreenNavigationParams;
.DETAILS]: ItwPrCredentialDetailsScreenNavigationParams;
[ITW_ROUTES.PRESENTATION.CREDENTIAL.REMOTE.CHECKS]: undefined;
[ITW_ROUTES.PRESENTATION.CREDENTIAL.REMOTE.DATA]: undefined;
[ITW_ROUTES.PRESENTATION.CREDENTIAL.REMOTE.RESULT]: undefined;
Expand Down
78 changes: 39 additions & 39 deletions ts/features/it-wallet/navigation/ItwStackNavigator.tsx
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
import * as React from "react";
import { createStackNavigator } from "@react-navigation/stack";
import { isGestureEnabled } from "../../../utils/navigation";
import ItwCiePinScreen from "../screens/issuing/cie/ItwCiePinScreen";
import CieCardReaderScreen from "../screens/issuing/cie/ItwCieCardReaderScreen";
import CieConsentDataUsageScreen from "../screens/issuing/cie/ItwCieConsentDataUsageScreen";
import CieExpiredOrInvalidScreen from "../screens/issuing/cie/ItwCieExpiredOrInvalidScreen";
import CieWrongCiePinScreen from "../screens/issuing/cie/ItwCieWrongPinScreen";
import ItwDiscoveryInfoScreen from "../screens/discovery/ItwDiscoveryInfoScreen";
import ItwPidAuthInfoScreen from "../screens/issuing/ItwPidAuthInfoScreen";
import ItwPidPreviewScreen from "../screens/issuing/ItwPidPreviewScreen";
import ItwPidAddingScreen from "../screens/issuing/ItwPidAddingScreen";
import ItwPidDetails from "../screens/credential/ItwPidDetails";
import ItwPidRequestScreen from "../screens/issuing/ItwPidRequestScreen";
import ItwRpInitScreen from "../screens/presentation/crossdevice/ItwRpInitScreen";
import ItwPresentationScreen from "../screens/presentation/crossdevice/ItwRpPresentationScreen";
import ItwDiscoveryProviderInfoScreen from "../screens/discovery/ItwDiscoveryProviderInfoScreen";
import ItwMissingFeatureScreen from "../screens/generic/ItwMissingFeatureScreen";
import ItwCredentialPreviewScreen from "../screens/credential/issuing/ItwCredentialPreviewScreen";
import ItwCredentialAuthScreen from "../screens/credential/issuing/ItwCredentialAuthScreen";
import ItwPresentationChecksScreen from "../screens/presentation/crossdevice/new/ItwPresentationChecksScreen";
import ItwPresentationDataScreen from "../screens/presentation/crossdevice/new/ItwPresentationDataScreen";
import ItwPresentationResultScreen from "../screens/presentation/crossdevice/new/ItwPresentationResultScreen";
import ItwCredentialsChecksScreen from "../screens/credential/issuing/ItwCredentialChecksScreen";
import ItwCredentialCatalogScreen from "../screens/credential/issuing/ItwCredentialsCatalogScreen";
import ItwCredentialDetailsScreen from "../screens/credential/ItwCredentialDetailsScreen";
import ItwPidPresentationDataScreen from "../screens/presentation/crossdevice/ItwPidPresentationDataScreen";
import ItwCiePinScreen from "../screens/issuing/pid/cie/ItwCiePinScreen";
import ItwCieCardReaderScreen from "../screens/issuing/pid/cie/ItwCieCardReaderScreen";
import ItwCieConsentDataUsageScreen from "../screens/issuing/pid/cie/ItwCieConsentDataUsageScreen";
import ItwCieExpiredOrInvalidScreen from "../screens/issuing/pid/cie/ItwCieExpiredOrInvalidScreen";
import ItwCieWrongPinScreen from "../screens/issuing/pid/cie/ItwCieWrongPinScreen";
import ItwPidInfoScreen from "../screens/issuing/pid/ItwPidInfoScreen";
import ItwPidAuthInfoScreen from "../screens/issuing/pid/ItwPidAuthInfoScreen";
import ItwPidPreviewScreen from "../screens/issuing/pid/cie/ItwPidPreviewScreen";
import ItwPidAddingScreen from "../screens/issuing/pid/ItwPidAddingScreen";
import ItwPrPidDetails from "../screens/presentation/ItwPrPidDetails";
import ItwPidRequestScreen from "../screens/issuing/pid/ItwPidRequestScreen";
import ItwPrPidChecksScreen from "../screens/presentation/remote/pid/ItwPrPidChecksScreen";
import ItwPrPidResultScreen from "../screens/presentation/remote/pid/ItwPrPidResultScreen";
import ItwPidAuthScreen from "../screens/issuing/pid/ItwPidAuthScreen";
import ItwGenericNotAvailableScreen from "../screens/generic/ItwGenericNotAvailableScreen";
import ItwCredentialPreviewScreen from "../screens/issuing/credential/ItwCredentialPreviewScreen";
import ItwCredentialAuthScreen from "../screens/issuing/credential/ItwCredentialAuthScreen";
import ItwPrCredentialChecksScreen from "../screens/presentation/remote/credential/ItwPrCredentialChecksScreen";
import ItwPrCredentialDataScreen from "../screens/presentation/remote/credential/ItwPrCredentialDataScreen";
import ItwPrCredentialResultScreen from "../screens/presentation/remote/credential/ItwPrCredentialResultScreen";
import ItwCredentialsChecksScreen from "../screens/issuing/credential/ItwCredentialChecksScreen";
import ItwCredentialCatalogScreen from "../screens/issuing/credential/ItwCredentialCatalogScreen";
import ItwPrCredentialDetailsScreen from "../screens/presentation/ItwPrCredentialDetails";
import ItwPrPidDataScreen from "../screens/presentation/remote/pid/ItwPrPidDataScreen";
import { ItwParamsList } from "./ItwParamsList";
import { ITW_ROUTES } from "./ItwRoutes";

Expand All @@ -38,33 +38,33 @@ export const ItwStackNavigator = () => (
{/* ISSUING PID CIE */}
<Stack.Screen
name={ITW_ROUTES.ISSUING.PID.CIE.EXPIRED_SCREEN}
component={CieExpiredOrInvalidScreen}
component={ItwCieExpiredOrInvalidScreen}
/>
<Stack.Screen
name={ITW_ROUTES.ISSUING.PID.CIE.PIN_SCREEN}
component={ItwCiePinScreen}
/>
<Stack.Screen
name={ITW_ROUTES.ISSUING.PID.CIE.CARD_READER_SCREEN}
component={CieCardReaderScreen}
component={ItwCieCardReaderScreen}
/>
<Stack.Screen
name={ITW_ROUTES.ISSUING.PID.CIE.CONSENT_DATA_USAGE}
component={CieConsentDataUsageScreen}
component={ItwCieConsentDataUsageScreen}
/>
<Stack.Screen
name={ITW_ROUTES.ISSUING.PID.CIE.WRONG_PIN_SCREEN}
component={CieWrongCiePinScreen}
component={ItwCieWrongPinScreen}
/>

{/* ISSUING PID */}
<Stack.Screen
name={ITW_ROUTES.ISSUING.PID.INFO}
component={ItwDiscoveryInfoScreen}
component={ItwPidInfoScreen}
/>
<Stack.Screen
name={ITW_ROUTES.ISSUING.PID.AUTH}
component={ItwDiscoveryProviderInfoScreen}
component={ItwPidAuthScreen}
/>
<Stack.Screen
name={ITW_ROUTES.ISSUING.PID.AUTH_INFO}
Expand Down Expand Up @@ -104,43 +104,43 @@ export const ItwStackNavigator = () => (
{/* PRESENTATION PID */}
<Stack.Screen
name={ITW_ROUTES.PRESENTATION.PID.DETAILS}
component={ItwPidDetails}
component={ItwPrPidDetails}
/>
<Stack.Screen
name={ITW_ROUTES.PRESENTATION.PID.REMOTE.CHECKS}
component={ItwRpInitScreen}
component={ItwPrPidChecksScreen}
/>
<Stack.Screen
name={ITW_ROUTES.PRESENTATION.PID.REMOTE.DATA}
component={ItwPidPresentationDataScreen}
component={ItwPrPidDataScreen}
/>
<Stack.Screen
name={ITW_ROUTES.PRESENTATION.PID.REMOTE.RESULT}
component={ItwPresentationScreen}
component={ItwPrPidResultScreen}
/>

{/* CREDENTIAL PRESENTATION */}
<Stack.Screen
name={ITW_ROUTES.PRESENTATION.CREDENTIAL.DETAILS}
component={ItwCredentialDetailsScreen}
component={ItwPrCredentialDetailsScreen}
/>
<Stack.Screen
name={ITW_ROUTES.PRESENTATION.CREDENTIAL.REMOTE.CHECKS}
component={ItwPresentationChecksScreen}
component={ItwPrCredentialChecksScreen}
/>
<Stack.Screen
name={ITW_ROUTES.PRESENTATION.CREDENTIAL.REMOTE.DATA}
component={ItwPresentationDataScreen}
component={ItwPrCredentialDataScreen}
/>
<Stack.Screen
name={ITW_ROUTES.PRESENTATION.CREDENTIAL.REMOTE.RESULT}
component={ItwPresentationResultScreen}
component={ItwPrCredentialResultScreen}
/>

{/* GENERIC */}
<Stack.Screen
name={ITW_ROUTES.GENERIC.NOT_AVAILABLE}
component={ItwMissingFeatureScreen}
component={ItwGenericNotAvailableScreen}
/>
</Stack.Navigator>
);
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import BaseScreenComponent from "../../../../components/screens/BaseScreenCompon
import I18n from "../../../../i18n";
import ItwKoView from "../../components/ItwKoView";

const ItwMissingFeatureScreen = () => {
const ItwGenericNotAvailableScreen = () => {
const { isExperimental } = useIOExperimentalDesign();
const navigation = useNavigation();

Expand Down Expand Up @@ -82,4 +82,4 @@ const ItwMissingFeatureScreen = () => {
);
};

export default ItwMissingFeatureScreen;
export default ItwGenericNotAvailableScreen;
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ import React from "react";
import { useNavigation } from "@react-navigation/native";
import * as pot from "@pagopa/ts-commons/lib/pot";
import { VSpacer } from "@pagopa/io-app-design-system";
import { useOnFirstRender } from "../../../../utils/hooks/useOnFirstRender";
import { useIODispatch, useIOSelector } from "../../../../store/hooks";
import ItwLoadingSpinnerOverlay from "../../components/ItwLoadingSpinnerOverlay";
import ItwActionCompleted from "../../components/ItwActionCompleted";
import I18n from "../../../../i18n";
import FooterWithButtons from "../../../../components/ui/FooterWithButtons";
import { itwPidValueSelector } from "../../store/reducers/itwPidReducer";
import { itwCredentialsAddPid } from "../../store/actions/itwCredentialsActions";
import { itwActivationCompleted } from "../../store/actions/itwActivationActions";
import ItwErrorView from "../../components/ItwErrorView";
import { cancelButtonProps } from "../../utils/itwButtonsUtils";
import { ItwCredentialsStateSelector } from "../../store/reducers/itwCredentialsReducer";
import { ItWalletError } from "../../utils/errors/itwErrors";
import { useOnFirstRender } from "../../../../../utils/hooks/useOnFirstRender";
import { useIODispatch, useIOSelector } from "../../../../../store/hooks";
import ItwLoadingSpinnerOverlay from "../../../components/ItwLoadingSpinnerOverlay";
import ItwActionCompleted from "../../../components/ItwActionCompleted";
import I18n from "../../../../../i18n";
import FooterWithButtons from "../../../../../components/ui/FooterWithButtons";
import { itwPidValueSelector } from "../../../store/reducers/itwPidReducer";
import { itwCredentialsAddPid } from "../../../store/actions/itwCredentialsActions";
import { itwActivationCompleted } from "../../../store/actions/itwActivationActions";
import ItwErrorView from "../../../components/ItwErrorView";
import { cancelButtonProps } from "../../../utils/itwButtonsUtils";
import { ItwCredentialsStateSelector } from "../../../store/reducers/itwCredentialsReducer";
import { ItWalletError } from "../../../utils/errors/itwErrors";

/**
* Renders an activation screen which displays a loading screen while the PID is being added and a success screen when the PID is added.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,34 @@ import { Image, View, SafeAreaView, Pressable } from "react-native";
import { useNavigation } from "@react-navigation/native";
import * as pot from "@pagopa/ts-commons/lib/pot";
import { VSpacer } from "@pagopa/io-app-design-system";
import BaseScreenComponent from "../../../../components/screens/BaseScreenComponent";
import I18n from "../../../../i18n";
import { emptyContextualHelp } from "../../../../utils/emptyContextualHelp";
import { IOStyles } from "../../../../components/core/variables/IOStyles";
import ScreenContent from "../../../../components/screens/ScreenContent";
import { H4 } from "../../../../components/core/typography/H4";
import ItwFooterInfoBox from "../../components/ItwFooterInfoBox";
import FooterWithButtons from "../../../../components/ui/FooterWithButtons";
import authInfoCie from "../../../../../img/features/it-wallet/auth-info-cie.png";
import { Link } from "../../../../components/core/typography/Link";
import { openWebUrl } from "../../../../utils/url";
import { useOnFirstRender } from "../../../../utils/hooks/useOnFirstRender";
import { useIODispatch, useIOSelector } from "../../../../store/hooks";
import LoadingSpinnerOverlay from "../../../../components/LoadingSpinnerOverlay";
import { ITW_ROUTES } from "../../navigation/ItwRoutes";
import BaseScreenComponent from "../../../../../components/screens/BaseScreenComponent";
import I18n from "../../../../../i18n";
import { emptyContextualHelp } from "../../../../../utils/emptyContextualHelp";
import { IOStyles } from "../../../../../components/core/variables/IOStyles";
import ScreenContent from "../../../../../components/screens/ScreenContent";
import { H4 } from "../../../../../components/core/typography/H4";
import ItwFooterInfoBox from "../../../components/ItwFooterInfoBox";
import FooterWithButtons from "../../../../../components/ui/FooterWithButtons";
import authInfoCie from "../../../../../../img/features/it-wallet/auth-info-cie.png";
import { Link } from "../../../../../components/core/typography/Link";
import { openWebUrl } from "../../../../../utils/url";
import { useOnFirstRender } from "../../../../../utils/hooks/useOnFirstRender";
import { useIODispatch, useIOSelector } from "../../../../../store/hooks";
import LoadingSpinnerOverlay from "../../../../../components/LoadingSpinnerOverlay";
import { ITW_ROUTES } from "../../../navigation/ItwRoutes";
import {
profileBirthDateSelector,
profileFiscalCodeSelector,
profileNameSelector,
profileSurnameSelector
} from "../../../../store/reducers/profile";
import { pidDataMock } from "../../utils/mocks";
import { formatDateToYYYYMMDD } from "../../../../utils/dates";
import { isIos } from "../../../../utils/platform";
import ItwErrorView from "../../components/ItwErrorView";
import { cancelButtonProps } from "../../utils/itwButtonsUtils";
import { itwWiaStateSelector } from "../../store/reducers/itwWiaReducer";
import { itwWiaRequest } from "../../store/actions/itwWiaActions";
} from "../../../../../store/reducers/profile";
import { pidDataMock } from "../../../utils/mocks";
import { formatDateToYYYYMMDD } from "../../../../../utils/dates";
import { isIos } from "../../../../../utils/platform";
import ItwErrorView from "../../../components/ItwErrorView";
import { cancelButtonProps } from "../../../utils/itwButtonsUtils";
import { itwWiaStateSelector } from "../../../store/reducers/itwWiaReducer";
import { itwWiaRequest } from "../../../store/actions/itwWiaActions";

/**
* Delay in milliseconds to bypass the CIE authentication process.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,19 @@ import {
} from "@pagopa/io-app-design-system";
import { useNavigation } from "@react-navigation/native";
import { constNull } from "fp-ts/lib/function";
import BaseScreenComponent from "../../../../components/screens/BaseScreenComponent";
import { emptyContextualHelp } from "../../../../utils/emptyContextualHelp";
import { IOStyles } from "../../../../components/core/variables/IOStyles";
import { ITW_ROUTES } from "../../navigation/ItwRoutes";
import I18n from "../../../../i18n";
import ListItemItw from "../../components/ListItems/ListItemItw";
import { useItwInfoBottomSheet } from "../../hooks/useItwInfoBottomSheet";
import BaseScreenComponent from "../../../../../components/screens/BaseScreenComponent";
import { emptyContextualHelp } from "../../../../../utils/emptyContextualHelp";
import { IOStyles } from "../../../../../components/core/variables/IOStyles";
import { ITW_ROUTES } from "../../../navigation/ItwRoutes";
import I18n from "../../../../../i18n";
import ListItemItw from "../../../components/ListItems/ListItemItw";
import { useItwInfoBottomSheet } from "../../../hooks/useItwInfoBottomSheet";

/**
* Renders the screen which display a list of features (or trusty providers)
* to activate the wallet.
*/
const ItwDiscoveryProviderInfoScreen = () => {
const ItwPidAuthScreen = () => {
const navigation = useNavigation();

const { present, bottomSheet } = useItwInfoBottomSheet({
Expand Down Expand Up @@ -204,4 +204,4 @@ const ItwDiscoveryProviderInfoScreen = () => {
);
};

export default ItwDiscoveryProviderInfoScreen;
export default ItwPidAuthScreen;
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ import {
IconButton,
VSpacer
} from "@pagopa/io-app-design-system";
import BaseScreenComponent from "../../../../components/screens/BaseScreenComponent";
import { emptyContextualHelp } from "../../../../utils/emptyContextualHelp";
import I18n from "../../../../i18n";
import { IOStyles } from "../../../../components/core/variables/IOStyles";
import { ITW_ROUTES } from "../../navigation/ItwRoutes";
import { useIODispatch } from "../../../../store/hooks";
import { itwActivationStop } from "../../store/actions/itwActivationActions";
import ItwTextInfo from "../../components/ItwTextInfo";
import itwHeroImage from "../../assets/discovery/itw_hero.png";
import itwCardImage from "../../assets/discovery/itw_card.png";
import { isAndroid } from "../../../../utils/platform";
import ItwFooterVerticalButtons from "../../components/ItwFooterVerticalButtons";
import BaseScreenComponent from "../../../../../components/screens/BaseScreenComponent";
import { emptyContextualHelp } from "../../../../../utils/emptyContextualHelp";
import I18n from "../../../../../i18n";
import { IOStyles } from "../../../../../components/core/variables/IOStyles";
import { ITW_ROUTES } from "../../../navigation/ItwRoutes";
import { useIODispatch } from "../../../../../store/hooks";
import { itwActivationStop } from "../../../store/actions/itwActivationActions";
import ItwTextInfo from "../../../components/ItwTextInfo";
import itwHeroImage from "../../../assets/img/issuing/itw_hero.png";
import itwCardImage from "../../../assets/img/issuing/itw_card.png";
import { isAndroid } from "../../../../../utils/platform";
import ItwFooterVerticalButtons from "../../../components/ItwFooterVerticalButtons";

const ItwDiscoveryInfoScreen = () => {
const ItwPidInfoScreen = () => {
const dispatch = useIODispatch();
const navigation = useNavigation();

Expand Down Expand Up @@ -98,4 +98,4 @@ const ItwDiscoveryInfoScreen = () => {
);
};

export default ItwDiscoveryInfoScreen;
export default ItwPidInfoScreen;
Loading

0 comments on commit 7fd4b63

Please sign in to comment.