From e1623a7e67284d09d3d62a1f9744b89d47e944ae Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Thu, 18 Jul 2024 16:09:41 +0200 Subject: [PATCH 1/7] translations --- src/languages/en.ts | 5 +++++ src/languages/es.ts | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/languages/en.ts b/src/languages/en.ts index ee4bef78f106..e2ab9e109967 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -2951,6 +2951,11 @@ export default { limitType: 'Limit type', name: 'Name', }, + deactivateCard: { + deactivate: 'Deactivate', + deactivateCard: 'Deactivate card', + deleteConfirmation: 'Deactivating this card will decline all future transactions and can’t be undone.', + }, }, reimburse: { captureReceipts: 'Capture receipts', diff --git a/src/languages/es.ts b/src/languages/es.ts index b8a38f5bbbe5..2ad99224806b 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -3198,6 +3198,11 @@ export default { limitType: 'Tipo de limite', name: 'Nombre', }, + deactivateCard: { + deactivate: 'Desactivar', + deactivateCard: 'Desactivar tarjeta', + deleteConfirmation: 'Al desactivar esta tarjeta, se rechazarán todas las transacciones futuras y no se podrá deshacer.', + }, }, reimburse: { captureReceipts: 'Captura recibos', From 376a5a97dfa1618aaaaa911d4a67fda8283fa7a0 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Thu, 18 Jul 2024 16:12:53 +0200 Subject: [PATCH 2/7] update translations --- src/languages/en.ts | 2 +- src/languages/es.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index e2ab9e109967..058dc27334c4 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -2954,7 +2954,7 @@ export default { deactivateCard: { deactivate: 'Deactivate', deactivateCard: 'Deactivate card', - deleteConfirmation: 'Deactivating this card will decline all future transactions and can’t be undone.', + deactivateConfirmation: 'Deactivating this card will decline all future transactions and can’t be undone.', }, }, reimburse: { diff --git a/src/languages/es.ts b/src/languages/es.ts index 2ad99224806b..c1b602a2eda7 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -3201,7 +3201,7 @@ export default { deactivateCard: { deactivate: 'Desactivar', deactivateCard: 'Desactivar tarjeta', - deleteConfirmation: 'Al desactivar esta tarjeta, se rechazarán todas las transacciones futuras y no se podrá deshacer.', + deactivateConfirmation: 'Al desactivar esta tarjeta, se rechazarán todas las transacciones futuras y no se podrá deshacer.', }, }, reimburse: { From 65bb6c9c2643efd43c771bb86af79c26093d6769 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Thu, 18 Jul 2024 18:18:34 +0200 Subject: [PATCH 3/7] add confirmation modal --- .../WorkspaceExpensifyCardDetailsPage.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx index 6934776e44ba..345e6561b1a5 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx @@ -1,9 +1,10 @@ import type {StackScreenProps} from '@react-navigation/stack'; -import React from 'react'; +import React, {useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; import ExpensifyCardImage from '@assets/images/expensify-card.svg'; import Badge from '@components/Badge'; +import ConfirmModal from '@components/ConfirmModal'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import {FallbackAvatar} from '@components/Icon/Expensicons'; import * as Expensicons from '@components/Icon/Expensicons'; @@ -44,6 +45,7 @@ type WorkspaceExpensifyCardDetailsPageProps = StackScreenProps {}} // TODO: create Deactivate card logic https://github.com/Expensify/App/issues/44320 + onPress={() => setIsDeactivateModalVisible(true)} + /> + {}} + onCancel={() => setIsDeactivateModalVisible(false)} + shouldSetModalVisibility={false} + prompt={translate('workspace.card.deactivateCard.deactivateConfirmation')} + confirmText={translate('workspace.card.deactivateCard.deactivate')} + cancelText={translate('common.cancel')} + danger /> From 5665bae47215e7ea90ecaf9a0a47f090672734ea Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Thu, 18 Jul 2024 18:56:28 +0200 Subject: [PATCH 4/7] add deactivate functionality --- .../WorkspaceExpensifyCardDetailsPage.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx index 345e6561b1a5..2be740354939 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx @@ -61,6 +61,14 @@ function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetail const displayName = PersonalDetailsUtils.getDisplayNameOrDefault(cardholder); const translationForLimitType = CardUtils.getTranslationKeyForLimitType(card.nameValuePairs?.limitType); + const deactivateCard = () => { + setIsDeactivateModalVisible(false); + + // TODO: add API call when it's supported https://github.com/Expensify/Expensify/issues/407841 + + Navigation.goBack(); + }; + return ( {}} + onConfirm={deactivateCard} onCancel={() => setIsDeactivateModalVisible(false)} shouldSetModalVisibility={false} prompt={translate('workspace.card.deactivateCard.deactivateConfirmation')} From a494c90a65c8f2891ca0327adfd753f3e77cc0a7 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Fri, 19 Jul 2024 12:42:43 +0200 Subject: [PATCH 5/7] update translations keys --- src/languages/en.ts | 2 +- src/languages/es.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 058dc27334c4..4f800ebab213 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -2953,7 +2953,7 @@ export default { }, deactivateCard: { deactivate: 'Deactivate', - deactivateCard: 'Deactivate card', + deactivateCardModal: 'Deactivate card', deactivateConfirmation: 'Deactivating this card will decline all future transactions and can’t be undone.', }, }, diff --git a/src/languages/es.ts b/src/languages/es.ts index c1b602a2eda7..2fbaceade398 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -3200,7 +3200,7 @@ export default { }, deactivateCard: { deactivate: 'Desactivar', - deactivateCard: 'Desactivar tarjeta', + deactivateCardModal: 'Desactivar tarjeta', deactivateConfirmation: 'Al desactivar esta tarjeta, se rechazarán todas las transacciones futuras y no se podrá deshacer.', }, }, From 81a41425448aaa87bdb11dde4f561bf4d4fe79d7 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Fri, 19 Jul 2024 12:43:55 +0200 Subject: [PATCH 6/7] update translations keys --- src/languages/en.ts | 4 ++-- src/languages/es.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 4f800ebab213..01658f2b98cb 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -2951,9 +2951,9 @@ export default { limitType: 'Limit type', name: 'Name', }, - deactivateCard: { + deactivateCardModal: { deactivate: 'Deactivate', - deactivateCardModal: 'Deactivate card', + deactivateCard: 'Deactivate card', deactivateConfirmation: 'Deactivating this card will decline all future transactions and can’t be undone.', }, }, diff --git a/src/languages/es.ts b/src/languages/es.ts index 2fbaceade398..9b4bce7152af 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -3198,9 +3198,9 @@ export default { limitType: 'Tipo de limite', name: 'Nombre', }, - deactivateCard: { + deactivateCardModal: { deactivate: 'Desactivar', - deactivateCardModal: 'Desactivar tarjeta', + deactivateCard: 'Desactivar tarjeta', deactivateConfirmation: 'Al desactivar esta tarjeta, se rechazarán todas las transacciones futuras y no se podrá deshacer.', }, }, From dbe6c2e0d433cf9ddcd4e5bbe8a4bf39bbaac1c3 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Fri, 19 Jul 2024 12:45:16 +0200 Subject: [PATCH 7/7] update tranlsation keys in modal --- .../expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx index 2be740354939..e1e111399f94 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx @@ -147,13 +147,13 @@ function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetail onPress={() => setIsDeactivateModalVisible(true)} /> setIsDeactivateModalVisible(false)} shouldSetModalVisibility={false} - prompt={translate('workspace.card.deactivateCard.deactivateConfirmation')} - confirmText={translate('workspace.card.deactivateCard.deactivate')} + prompt={translate('workspace.card.deactivateCardModal.deactivateConfirmation')} + confirmText={translate('workspace.card.deactivateCardModal.deactivate')} cancelText={translate('common.cancel')} danger />