Skip to content

Commit

Permalink
Merge branch 'master' into IOCOM-1354
Browse files Browse the repository at this point in the history
# Conflicts:
#	ts/features/pushNotifications/sagas/__tests__/checkNotificationsPreferencesSaga.test.tsx
#	ts/features/pushNotifications/sagas/checkNotificationsPreferencesSaga.ts
#	ts/features/pushNotifications/screens/OnboardingNotificationsInfoScreenConsent.tsx
#	ts/screens/profile/NotificationsPreferencesScreen.tsx
  • Loading branch information
Vangaorth committed May 23, 2024
2 parents 8951336 + 45d20bc commit 9f06628
Show file tree
Hide file tree
Showing 41 changed files with 3,370 additions and 644 deletions.
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,34 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [2.61.0-rc.0](https://github.com/pagopa/io-app/compare/2.60.0-rc.2...2.61.0-rc.0) (2024-05-22)


### Features

* [[IOCOM-1391](https://pagopa.atlassian.net/browse/IOCOM-1391)] Flag to enable Messages Home with the new DS ([#5766](https://github.com/pagopa/io-app/issues/5766)) ([fdca533](https://github.com/pagopa/io-app/commit/fdca533b583000ecd4c066ba0ca17f8a74e3786e))
* [[IOCOM-823](https://pagopa.atlassian.net/browse/IOCOM-823)] Chips for Inbox and Archived messages on new DS Messages' Home ([#5770](https://github.com/pagopa/io-app/issues/5770)) ([cb333d9](https://github.com/pagopa/io-app/commit/cb333d920955eaf96124f1b054ca2d53f8ef072e))
* [[IOPID-1548](https://pagopa.atlassian.net/browse/IOPID-1548)] DS add new cie errors ([#5750](https://github.com/pagopa/io-app/issues/5750)) ([26916b7](https://github.com/pagopa/io-app/commit/26916b76f9c867a354613d4d6b48543ace4bcb8f))
* [[IOPID-1725](https://pagopa.atlassian.net/browse/IOPID-1725)] New DS on CIE certificates KO screen ([#5775](https://github.com/pagopa/io-app/issues/5775)) ([26db96b](https://github.com/pagopa/io-app/commit/26db96bf693acc46a4f14faab3f4040a9bb95969)), closes [/github.com/pagopa/io-app/blob/d5d5681817064085219e3854e4fef56431c4519b/ts/screens/authentication/cie/CieCardReaderScreen.tsx#L282](https://github.com/pagopa//github.com/pagopa/io-app/blob/d5d5681817064085219e3854e4fef56431c4519b/ts/screens/authentication/cie/CieCardReaderScreen.tsx/issues/L282) [/github.com/pagopa/io-app/blob/d5d5681817064085219e3854e4fef56431c4519b/ts/screens/authentication/cie/CieCardReaderScreen.tsx#L298](https://github.com/pagopa//github.com/pagopa/io-app/blob/d5d5681817064085219e3854e4fef56431c4519b/ts/screens/authentication/cie/CieCardReaderScreen.tsx/issues/L298)
* **IT Wallet:** [[SIW-980](https://pagopa.atlassian.net/browse/SIW-980)] Add eID issuing IDP selection screen ([#5752](https://github.com/pagopa/io-app/issues/5752)) ([d5d5681](https://github.com/pagopa/io-app/commit/d5d5681817064085219e3854e4fef56431c4519b))


### Bug Fixes

* [[IOPAE-1129](https://pagopa.atlassian.net/browse/IOPAE-1129)] Service Details bottom gradient displayed only with CTAs ([#5781](https://github.com/pagopa/io-app/issues/5781)) ([8164a03](https://github.com/pagopa/io-app/commit/8164a036eec31c81b750dfd15aa5cc93f003d0da))
* [[IOPAE-1164](https://pagopa.atlassian.net/browse/IOPAE-1164)] Fix infinite scroll in `InstitutionServicesScreen` ([#5774](https://github.com/pagopa/io-app/issues/5774)) ([8760edc](https://github.com/pagopa/io-app/commit/8760edc9242e945baf027dd4410fd3945a5a473b))
* `LandingScreen`'s `Carousel` translations ([#5789](https://github.com/pagopa/io-app/issues/5789)) ([04c1105](https://github.com/pagopa/io-app/commit/04c11053cd55ce2b2ae394066c80f5cfa7b93877))


### Chores

* [[IOBP-575](https://pagopa.atlassian.net/browse/IOBP-575)] Removed seconds from a11y label transaction detail date ([#5786](https://github.com/pagopa/io-app/issues/5786)) ([a4e1f79](https://github.com/pagopa/io-app/commit/a4e1f7930f49aca62a31353ea5a9ff163577aa48))
* **IT Wallet:** [[SIW-1127](https://pagopa.atlassian.net/browse/SIW-1127)] IT Wallet POC utils implementation ([#5779](https://github.com/pagopa/io-app/issues/5779)) ([6610236](https://github.com/pagopa/io-app/commit/6610236817163bea59b303ee056554223b9a7860))
* **IT Wallet:** [[SIW-1128](https://pagopa.atlassian.net/browse/SIW-1128)] Add `EidCard` and `EidCardPreview` components ([#5772](https://github.com/pagopa/io-app/issues/5772)) ([8d55432](https://github.com/pagopa/io-app/commit/8d55432dcf081d617a89a6d42cc9ed4dd906f32b))
* [[IOPAE-1145](https://pagopa.atlassian.net/browse/IOPAE-1145)] Add FeaturedInstitution and FeaturedService carousel/card layout ([#5771](https://github.com/pagopa/io-app/issues/5771)) ([2b85bf7](https://github.com/pagopa/io-app/commit/2b85bf750ba18defa8bc8409b66ab1d738f43604))
* **Cross:** [[IOAPPX-283](https://pagopa.atlassian.net/browse/IOAPPX-283)] Add `IOScrollView` (next iteration of `GradientScroll`, now deprecated) + `IOScrollViewWithLargeHeader` ([#5704](https://github.com/pagopa/io-app/issues/5704)) ([b4f2762](https://github.com/pagopa/io-app/commit/b4f276279a0384e824221e2ba50651f7020f268a))
* **Cross:** [[IOAPPX-295](https://pagopa.atlassian.net/browse/IOAPPX-295)] Remove nested navigator from DS section ([#5763](https://github.com/pagopa/io-app/issues/5763)) ([55fa198](https://github.com/pagopa/io-app/commit/55fa198da99e3fda5aaefd7a9e689eab8ab59370))

## [2.60.0-rc.2](https://github.com/pagopa/io-app/compare/2.60.0-rc.1...2.60.0-rc.2) (2024-05-15)


Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,8 @@ android {
applicationId "it.pagopa.io.app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 100154816
versionName "2.60.0.2"
versionCode 100154817
versionName "2.61.0.0"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
if (isNewArchitectureEnabled()) {
// We configure the CMake build only if you decide to opt-in for the New Architecture.
Expand Down
4 changes: 2 additions & 2 deletions ios/ItaliaApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -784,7 +784,7 @@
CODE_SIGN_ENTITLEMENTS = ItaliaApp/ItaliaApp.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 2;
CURRENT_PROJECT_VERSION = 0;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = M2X5YQ4BJ7;
ENABLE_BITCODE = NO;
Expand Down Expand Up @@ -825,7 +825,7 @@
CODE_SIGN_ENTITLEMENTS = ItaliaApp/ItaliaApp.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CURRENT_PROJECT_VERSION = 2;
CURRENT_PROJECT_VERSION = 0;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = M2X5YQ4BJ7;
ENABLE_BITCODE = NO;
Expand Down
4 changes: 2 additions & 2 deletions ios/ItaliaApp/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2.60.0</string>
<string>2.61.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand All @@ -34,7 +34,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>2</string>
<string>0</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
4 changes: 2 additions & 2 deletions ios/ItaliaAppTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>2.60.0</string>
<string>2.61.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2</string>
<string>0</string>
</dict>
</plist>
1 change: 0 additions & 1 deletion locales/de/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -700,7 +700,6 @@ authentication:
subtitlel2: "Um die App nutzen zu können, müsst du zunächst den Zugang zu IO entsperren."
subtitlel3: "Um mit all deinen SPID-Anmeldedaten oder deiner CIE auf die App zugreifen zu können, musst du den Zugang entsperren."
learnmore: "Mehr erfahren"
loginIO: "Schließen"
unlockmodal:
title: "Was bedeutet das?"
description1_1: "Wenn du den Zugang zu IO aus Sicherheitsgründen gesperrt hast, musst du ihn zunächst entsperren, um die App wieder öffnen zu können."
Expand Down
17 changes: 16 additions & 1 deletion locales/en/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,16 @@ authentication:
expiredCardHeaderTitle: Login with CIE
expiredCardContent: The card used is no longer valid or has expired. Use SPID to enter the app.
expiredCardHelp: How to renew your Electronic Identity Card?
cie_errors:
error_22:
title: You haven't agreed to share your data
subtitle: To enter, you must agree to share some data
error_1001:
title: Sorry, you don't meet the minimum age requirement
subtitle: You must be at least 18 years old
generic:
title: Sorry, access was not available.
subtitle: A problem occurred while logging in. Please try again in a few minutes.
cie:
genericTitle: Login with CIE
cie: CIE
Expand Down Expand Up @@ -751,7 +761,7 @@ authentication:
subtitlel2: In order to use the app, you must first unlock access to IO.
subtitlel3: To be able to access the app with all your SPID or CIE identities, unlock access.
learnmore: Learn more
loginIO: Close
loginIO: Not now
unlockmodal:
title: What does it mean?
description1_1: If you have blocked access to IO for security reasons, you must first unlock it in order to re-enter the app.
Expand Down Expand Up @@ -2094,6 +2104,11 @@ services:
emptyListMessage: There are no services available at this time, pull down to refresh
new: New
home:
featured:
services:
title: Featured
institutions:
title: Featured Institutions
institutions:
title: National
institution:
Expand Down
17 changes: 16 additions & 1 deletion locales/it/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,16 @@ authentication:
expiredCardHeaderTitle: Entra con CIE
expiredCardContent: La carta utilizzata potrebbe essere scaduta o non più valida. Prova ad usare SPID per entrare in app.
expiredCardHelp: Come rinnovare la propria Carta di Identità Elettronica?
cie_errors:
error_22:
title: Non hai dato il consenso all’invio dei dati
subtitle: Per accedere, è necessario acconsentire all’invio di alcuni dati.
error_1001:
title: Non hai l'età minima richiesta
subtitle: Per accedere, devi avere almeno 18 anni
generic:
title: Non è stato possibile accedere
subtitle: Si è verificato un problema durante l’accesso. Riprova tra qualche minuto.
cie:
genericTitle: Entra con CIE
cie: CIE
Expand Down Expand Up @@ -751,7 +761,7 @@ authentication:
subtitlel2: Per poter usare l'app, devi prima sbloccare l'accesso a IO.
subtitlel3: Per poter accedere all’app con tutte le tue identità SPID o CIE, sblocca l’accesso.
learnmore: Scopri di più
loginIO: Chiudi
loginIO: Non ora, entra su IO
unlockmodal:
title: Cosa significa?
description1_1: Se hai bloccato l’accesso a IO per motivi di sicurezza, per poter rientrare in app devi prima sbloccarlo.
Expand Down Expand Up @@ -2094,6 +2104,11 @@ services:
emptyListMessage: Non ci sono servizi disponibili al momento, trascina in basso per aggiornare
new: Nuovo
home:
featured:
services:
title: In primo piano
institutions:
title: Enti in evidenza
institutions:
title: Nazionali
institution:
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "italia-app",
"version": "2.60.0-rc.2",
"version": "2.61.0-rc.0",
"io_backend_api": "https://raw.githubusercontent.com/pagopa/io-backend/v13.32.1-RELEASE/api_backend.yaml",
"io_public_api": "https://raw.githubusercontent.com/pagopa/io-backend/v13.32.1-RELEASE/api_public.yaml",
"io_content_specs": "https://raw.githubusercontent.com/pagopa/io-services-metadata/1.0.31/definitions.yml",
Expand Down
4 changes: 2 additions & 2 deletions publiccode.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
publiccodeYmlVersion: '0.2'
name: IO
logo: "img/app-logo.svg"
releaseDate: '2024-05-15'
releaseDate: '2024-05-22'
url: 'https://github.com/pagopa/io-app'
applicationSuite: IO
landingURL: 'https://io.italia.it/'
softwareVersion: 2.60.0-rc.2
softwareVersion: 2.61.0-rc.0
developmentStatus: beta
softwareType: standalone/mobile
roadmap: 'https://io.italia.it/'
Expand Down
126 changes: 126 additions & 0 deletions ts/components/screens/CustomWizardScreen.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
import {
Body,
ButtonLink,
ButtonLinkProps,
ButtonSolid,
ButtonSolidProps,
ContentWrapper,
H3,
IOPictograms,
IOStyles,
Pictogram,
VSpacer
} from "@pagopa/io-app-design-system";
import { SafeAreaView } from "react-native-safe-area-context";
import * as React from "react";
import { StyleSheet, View } from "react-native";
import {
BodyProps,
ComposedBodyFromArray
} from "../core/typography/ComposedBodyFromArray";
export type CustomWizardScreenProps = {
title: string;
description?: string | Array<BodyProps>;
pictogram: IOPictograms;
primaryButton: Pick<
ButtonSolidProps,
"label" | "accessibilityLabel" | "onPress" | "testID"
>;
actionButton?: Pick<
ButtonLinkProps,
"label" | "accessibilityLabel" | "onPress" | "testID"
>;
buttonLink?: Pick<
ButtonLinkProps,
"label" | "accessibilityLabel" | "onPress" | "testID"
>;
};

/**
* A common screen used in a wizard flow to show a pictogram, a title, a description and one or two buttons.
*/
const CustomWizardScreen = ({
title,
description,
pictogram,
primaryButton,
actionButton,
buttonLink
}: CustomWizardScreenProps) => (
<SafeAreaView style={IOStyles.flex}>
<WizardBody
pictogram={pictogram}
title={title}
description={description}
buttonLink={buttonLink}
/>
<ContentWrapper>
<ButtonSolid {...primaryButton} fullWidth={true} />
{actionButton && (
<>
<VSpacer size={24} />
<View style={[IOStyles.alignCenter, IOStyles.selfCenter]}>
<ButtonLink {...actionButton} />
</View>
<VSpacer size={16} />
</>
)}
</ContentWrapper>
</SafeAreaView>
);

type CustomWizardBodyProps = {
title: string;
description?: string | Array<BodyProps>;
pictogram: IOPictograms;
buttonLink?: Pick<
ButtonLinkProps,
"label" | "accessibilityLabel" | "onPress" | "testID"
>;
};

const WizardBody = ({
title,
description,
pictogram,
buttonLink
}: CustomWizardBodyProps) => (
<View style={styles.wizardContent}>
<View style={IOStyles.alignCenter}>
<Pictogram name={pictogram} size={120} />
</View>
<VSpacer size={24} />
<View style={{ paddingHorizontal: 28 }}>
<H3 style={styles.textCenter}>{title}</H3>
{description && (
<>
<VSpacer size={8} />
{typeof description === "string" ? (
<Body style={styles.textCenter}>{description}</Body>
) : (
<ComposedBodyFromArray body={description} textAlign="center" />
)}
</>
)}
{buttonLink && (
<View style={IOStyles.selfCenter}>
<VSpacer size={16} />
<ButtonLink {...buttonLink} />
</View>
)}
</View>
</View>
);

const styles = StyleSheet.create({
textCenter: {
textAlign: "center"
},
wizardContent: {
...IOStyles.flex,
...IOStyles.horizontalContentPadding,
...IOStyles.centerJustified
}
});

export { CustomWizardScreen };
35 changes: 35 additions & 0 deletions ts/features/services/common/components/CardPressableBase.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import React from "react";
import { Pressable } from "react-native";
import Animated from "react-native-reanimated";
import { PressableBaseProps, WithTestID } from "@pagopa/io-app-design-system";
import { useSpringPressScaleAnimation } from "../../../../components/ui/utils/hooks/useSpringPressScaleAnimation";

type CardPressableBaseProps = WithTestID<PressableBaseProps>;

export const CardPressableBase = ({
onPress,
testID,
accessibilityLabel,
children
}: React.PropsWithChildren<CardPressableBaseProps>) => {
const { onPressIn, onPressOut, animatedScaleStyle } =
useSpringPressScaleAnimation();

if (onPress === undefined) {
return <>{children}</>;
}

return (
<Pressable
onPress={onPress}
testID={testID}
accessible={true}
accessibilityLabel={accessibilityLabel}
onPressIn={onPressIn}
onPressOut={onPressOut}
onTouchEnd={onPressOut}
>
<Animated.View style={animatedScaleStyle}>{children}</Animated.View>
</Pressable>
);
};
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import React from "react";
import { View } from "react-native";
import {
Divider,
IOListItemStyles,
IOListItemVisualParams,
IOStyles,
Expand All @@ -25,3 +26,20 @@ export const InstitutionListItemSkeleton = () => (
</View>
</View>
);

type InstitutionListSkeletonProps = {
size?: number;
};

export const InstitutionListSkeleton = ({
size = 3
}: InstitutionListSkeletonProps) => (
<View testID="institutions-skeleton">
{Array.from({ length: size }).map((_, index) => (
<React.Fragment key={index}>
<InstitutionListItemSkeleton />
{index < size - 1 ? <Divider /> : undefined}
</React.Fragment>
))}
</View>
);

0 comments on commit 9f06628

Please sign in to comment.