Skip to content

Commit 26859f5

Browse files
JS00001OSBotify
authored andcommitted
Merge pull request #60298 from Expensify/jsenyitko-phone-error-fix
Show message when validating suspended phone number (cherry picked from commit c7b5ba1) (CP triggered by roryabraham)
1 parent 717da1c commit 26859f5

3 files changed

Lines changed: 13 additions & 6 deletions

File tree

src/languages/en.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2079,7 +2079,7 @@ const translations = {
20792079
smsDeliveryFailureMessage: ({login}: OurEmailProviderParams) =>
20802080
`We've been unable to deliver SMS messages to ${login}, so we've suspended it temporarily. Please try validating your number:`,
20812081
validationSuccess: 'Your number has been validated! Click below to send a new magic sign-in code.',
2082-
validationFailed: ({timeData}: {timeData?: {days?: number; hours?: number; minutes?: number}}) => {
2082+
validationFailed: ({timeData}: {timeData?: {days?: number; hours?: number; minutes?: number} | null}) => {
20832083
if (!timeData) {
20842084
return 'Please wait a moment before trying again.';
20852085
}

src/languages/es.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2083,7 +2083,7 @@ const translations = {
20832083
smsDeliveryFailureMessage: ({login}: OurEmailProviderParams) =>
20842084
`No hemos podido entregar mensajes SMS a ${login}, así que lo hemos suspendido temporalmente. Por favor, intenta validar tu número:`,
20852085
validationSuccess: '¡Tu número ha sido validado! Haz clic abajo para enviar un nuevo código mágico de inicio de sesión.',
2086-
validationFailed: ({timeData}: {timeData?: {days?: number; hours?: number; minutes?: number}}) => {
2086+
validationFailed: ({timeData}: {timeData?: {days?: number; hours?: number; minutes?: number} | null}) => {
20872087
if (!timeData) {
20882088
return 'Por favor, espera un momento antes de intentarlo de nuevo.';
20892089
}

src/pages/signin/SMSDeliveryFailurePage.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ function SMSDeliveryFailurePage() {
1818
const styles = useThemeStyles();
1919
const {isKeyboardShown} = useKeyboardState();
2020
const {translate} = useLocalize();
21-
const [credentials] = useOnyx(ONYXKEYS.CREDENTIALS);
22-
const [account] = useOnyx(ONYXKEYS.ACCOUNT);
21+
const [credentials] = useOnyx(ONYXKEYS.CREDENTIALS, {canBeMissing: true});
22+
const [account] = useOnyx(ONYXKEYS.ACCOUNT, {canBeMissing: true});
2323

2424
const login = useMemo(() => {
2525
if (!credentials?.login) {
@@ -40,7 +40,14 @@ function SMSDeliveryFailurePage() {
4040
if (!SMSDeliveryFailureMessage) {
4141
return null;
4242
}
43-
return JSON.parse(SMSDeliveryFailureMessage) as TimeData;
43+
44+
const parsedData = JSON.parse(SMSDeliveryFailureMessage) as TimeData | [];
45+
46+
if (Array.isArray(parsedData) && !parsedData.length) {
47+
return null;
48+
}
49+
50+
return parsedData as TimeData;
4451
}, [SMSDeliveryFailureMessage]);
4552

4653
const hasSMSDeliveryFailure = account?.smsDeliveryFailureStatus?.hasSMSDeliveryFailure;
@@ -63,7 +70,7 @@ function SMSDeliveryFailurePage() {
6370
<>
6471
<View style={[styles.mv3, styles.flexRow]}>
6572
<View style={[styles.flex1]}>
66-
<Text>{timeData && translate('smsDeliveryFailurePage.validationFailed', {timeData})}</Text>
73+
<Text>{translate('smsDeliveryFailurePage.validationFailed', {timeData})}</Text>
6774
</View>
6875
</View>
6976
<View style={[styles.mv4, styles.flexRow, styles.justifyContentBetween, styles.alignItemsEnd]}>

0 commit comments

Comments
 (0)