diff --git a/src/languages/de.ts b/src/languages/de.ts
index f047a04f6754..198bc55e30f3 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -163,6 +163,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3616,9 +3617,8 @@ const translations = {
title: 'Öffnen Sie diesen Link, um eine Verbindung herzustellen.',
body: 'Um die Einrichtung abzuschließen, öffnen Sie den folgenden Link auf dem Computer, auf dem QuickBooks Desktop ausgeführt wird.',
setupErrorTitle: 'Etwas ist schiefgelaufen',
- setupErrorBody1: 'Die QuickBooks Desktop-Verbindung funktioniert momentan nicht. Bitte versuchen Sie es später erneut oder',
- setupErrorBody2: 'wenn das Problem weiterhin besteht.',
- setupErrorBodyContactConcierge: 'Wenden Sie sich an Concierge.',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `The QuickBooks Desktop connection isn't working at the moment. Bitte versuchen Sie es später noch einmal oder wenden Sie sich an Concierge, wenn das Problem weiterhin besteht.`,
},
importDescription: 'Wählen Sie aus, welche Kodierungskonfigurationen aus QuickBooks Desktop in Expensify importiert werden sollen.',
classes: 'Klassen',
diff --git a/src/languages/en.ts b/src/languages/en.ts
index 43b033502526..aadc4376805b 100755
--- a/src/languages/en.ts
+++ b/src/languages/en.ts
@@ -151,6 +151,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3610,9 +3611,8 @@ const translations = {
title: 'Open this link to connect',
body: 'To complete setup, open the following link on the computer where QuickBooks Desktop is running.',
setupErrorTitle: 'Something went wrong',
- setupErrorBody1: "The QuickBooks Desktop connection isn't working at the moment. Please try again later or",
- setupErrorBody2: 'if the problem persists.',
- setupErrorBodyContactConcierge: 'reach out to Concierge',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `The QuickBooks Desktop connection isn't working at the moment. Please try again later or reach out to Concierge if the problem persists.`,
},
importDescription: 'Choose which coding configurations to import from QuickBooks Desktop to Expensify.',
classes: 'Classes',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index d9ea77c217ed..97837fe48ac7 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -150,6 +150,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3604,9 +3605,8 @@ const translations = {
title: 'Abre este enlace para conectar',
body: 'Para completar la configuración, abre el siguiente enlace en la computadora donde se está ejecutando QuickBooks Desktop.',
setupErrorTitle: '¡Ups! Ha ocurrido un error',
- setupErrorBody1: 'La conexión con QuickBooks Desktop no está funcionando en este momento. Por favor, inténtalo de nuevo más tarde o',
- setupErrorBody2: 'si el problema persiste.',
- setupErrorBodyContactConcierge: 'contacta con Concierge',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `La conexión con QuickBooks Desktop no está funcionando en este momento. Por favor, inténtalo de nuevo más tarde o contacta con Concierge si el problema persiste.`,
},
importDescription: 'Elige que configuraciónes de codificación son importadas desde QuickBooks Desktop a Expensify.',
classes: 'Clases',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 8338f6b0be75..d6a34001c8b1 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -163,6 +163,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3625,9 +3626,8 @@ const translations = {
title: 'Ouvrez ce lien pour vous connecter.',
body: "Pour terminer la configuration, ouvrez le lien suivant sur l'ordinateur où QuickBooks Desktop est en cours d'exécution.",
setupErrorTitle: "Quelque chose s'est mal passé",
- setupErrorBody1: 'La connexion QuickBooks Desktop ne fonctionne pas pour le moment. Veuillez réessayer plus tard ou',
- setupErrorBody2: 'si le problème persiste.',
- setupErrorBodyContactConcierge: 'contactez Concierge',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `La connexion à QuickBooks Desktop ne fonctionne pas pour le moment. Veuillez réessayer plus tard ou contacter le Concierge si le problème persiste.`,
},
importDescription: 'Choisissez quelles configurations de codage importer de QuickBooks Desktop vers Expensify.',
classes: 'Cours',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index cc758ca9efd2..b0c0cfaca24d 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -163,6 +163,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3629,9 +3630,8 @@ const translations = {
title: 'Apri questo link per connetterti',
body: 'Per completare la configurazione, apri il seguente link sul computer dove è in esecuzione QuickBooks Desktop.',
setupErrorTitle: 'Qualcosa è andato storto',
- setupErrorBody1: 'La connessione a QuickBooks Desktop non funziona al momento. Per favore, riprova più tardi o',
- setupErrorBody2: 'se il problema persiste.',
- setupErrorBodyContactConcierge: 'contatta Concierge',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `La connessione a QuickBooks Desktop non funziona al momento. Riprovare più tardi o contattare Concierge se il problema persiste.`,
},
importDescription: 'Scegli quali configurazioni di codifica importare da QuickBooks Desktop a Expensify.',
classes: 'Classi',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index c8fd5c1d50cf..0a7d5c4a3758 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -163,6 +163,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3627,9 +3628,8 @@ const translations = {
title: 'このリンクを開いて接続してください。',
body: 'セットアップを完了するには、QuickBooks Desktop が実行されているコンピューターで次のリンクを開いてください。',
setupErrorTitle: '問題が発生しました',
- setupErrorBody1: 'QuickBooks Desktopの接続が現在機能していません。後でもう一度お試しください、または',
- setupErrorBody2: '問題が解決しない場合。',
- setupErrorBodyContactConcierge: 'Conciergeに連絡する',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `現在、QuickBooks Desktopへの接続ができません。問題が解決しない場合は、後でもう一度お試しいただくか、Conciergeまでご連絡ください。`,
},
importDescription: 'QuickBooks DesktopからExpensifyにインポートするコーディング設定を選択してください。',
classes: 'クラス',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 4d251c624e00..d3ca53e513b3 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -163,6 +163,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3636,9 +3637,8 @@ const translations = {
title: 'Open deze link om verbinding te maken',
body: 'Om de installatie te voltooien, opent u de volgende link op de computer waar QuickBooks Desktop draait.',
setupErrorTitle: 'Er is iets misgegaan',
- setupErrorBody1: 'De QuickBooks Desktop-verbinding werkt momenteel niet. Probeer het later opnieuw of',
- setupErrorBody2: 'als het probleem aanhoudt.',
- setupErrorBodyContactConcierge: 'neem contact op met Concierge',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `De QuickBooks Desktop-verbinding werkt momenteel niet. Probeer het later nog eens of neem contact op met Concierge als het probleem zich blijft voordoen.`,
},
importDescription: 'Kies welke codeconfiguraties u wilt importeren van QuickBooks Desktop naar Expensify.',
classes: 'Klassen',
diff --git a/src/languages/params.ts b/src/languages/params.ts
index 6a20ebef8e01..78ec92e1a17d 100644
--- a/src/languages/params.ts
+++ b/src/languages/params.ts
@@ -818,6 +818,10 @@ type BusinessTaxIDParams = {
country: string;
};
+type QBDSetupErrorBodyParams = {
+ conciergeLink: string;
+};
+
type EmptyCategoriesSubtitleWithAccountingParams = {
accountingPageURL: string;
};
@@ -1113,6 +1117,7 @@ export type {
WorkspacesListRouteParams,
WorkspaceRouteParams,
BusinessTaxIDParams,
+ QBDSetupErrorBodyParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
SettlementAccountInfoParams,
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 1bda5db8e213..3c2e7b4bc4d0 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -163,6 +163,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3628,9 +3629,8 @@ const translations = {
title: 'Otwórz ten link, aby się połączyć',
body: 'Aby zakończyć konfigurację, otwórz poniższy link na komputerze, na którym działa QuickBooks Desktop.',
setupErrorTitle: 'Coś poszło nie tak',
- setupErrorBody1: 'Połączenie z QuickBooks Desktop nie działa w tej chwili. Proszę spróbować ponownie później lub',
- setupErrorBody2: 'jeśli problem będzie się powtarzał.',
- setupErrorBodyContactConcierge: 'skontaktuj się z Concierge',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `Połączenie QuickBooks Desktop obecnie nie działa. Spróbuj ponownie później lub skontaktuj się z Concierge, jeśli problem będzie się powtarzał.`,
},
importDescription: 'Wybierz, które konfiguracje kodowania zaimportować z QuickBooks Desktop do Expensify.',
classes: 'Klasy',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 412073883c1c..2cc95bb3bf6e 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -163,6 +163,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3632,9 +3633,8 @@ const translations = {
title: 'Abra este link para conectar',
body: 'Para concluir a configuração, abra o seguinte link no computador onde o QuickBooks Desktop está sendo executado.',
setupErrorTitle: 'Algo deu errado',
- setupErrorBody1: 'A conexão do QuickBooks Desktop não está funcionando no momento. Por favor, tente novamente mais tarde ou',
- setupErrorBody2: 'se o problema persistir.',
- setupErrorBodyContactConcierge: 'entre em contato com o Concierge',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `A conexão com o QuickBooks Desktop não está funcionando no momento. Tente novamente mais tarde ou entre em contato com o Concierge se o problema persistir.`,
},
importDescription: 'Escolha quais configurações de codificação importar do QuickBooks Desktop para o Expensify.',
classes: 'Classes',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 6bf0c1884a0b..54f7eae59301 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -163,6 +163,7 @@ import type {
PolicyDisabledReportFieldAllOptionsParams,
PolicyDisabledReportFieldOptionParams,
PolicyExpenseChatNameParams,
+ QBDSetupErrorBodyParams,
RailTicketParams,
ReconciliationWorksParams,
RemovedFromApprovalWorkflowParams,
@@ -3583,9 +3584,8 @@ const translations = {
title: '打开此链接进行连接',
body: '要完成设置,请在运行QuickBooks Desktop的计算机上打开以下链接。',
setupErrorTitle: '出现错误',
- setupErrorBody1: 'QuickBooks Desktop 连接目前无法使用。请稍后再试或',
- setupErrorBody2: '如果问题仍然存在。',
- setupErrorBodyContactConcierge: '联系Concierge',
+ setupErrorBody: ({conciergeLink}: QBDSetupErrorBodyParams) =>
+ `QuickBooks Desktop 连接暂时无法正常工作。请稍后再试,如果问题仍然存在,请联系Concierge。`,
},
importDescription: '选择从 QuickBooks Desktop 导入到 Expensify 的编码配置。',
classes: '类',
diff --git a/src/pages/workspace/accounting/qbd/QuickBooksDesktopSetupPage.tsx b/src/pages/workspace/accounting/qbd/QuickBooksDesktopSetupPage.tsx
index 4ae6eb167c88..f080562ba235 100644
--- a/src/pages/workspace/accounting/qbd/QuickBooksDesktopSetupPage.tsx
+++ b/src/pages/workspace/accounting/qbd/QuickBooksDesktopSetupPage.tsx
@@ -9,20 +9,20 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton';
import Icon from '@components/Icon';
import * as Illustrations from '@components/Icon/Illustrations';
import ImageSVG from '@components/ImageSVG';
+import RenderHTML from '@components/RenderHTML';
import ScreenWrapper from '@components/ScreenWrapper';
import Text from '@components/Text';
-import TextLink from '@components/TextLink';
import useEnvironment from '@hooks/useEnvironment';
import useLocalize from '@hooks/useLocalize';
import useNetwork from '@hooks/useNetwork';
import useTheme from '@hooks/useTheme';
import useThemeStyles from '@hooks/useThemeStyles';
-import {setConnectionError} from '@libs/actions/connections';
-import * as QuickbooksDesktop from '@libs/actions/connections/QuickbooksDesktop';
import Navigation from '@libs/Navigation/Navigation';
import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
-import * as PolicyAction from '@userActions/Policy/Policy';
+import {setConnectionError} from '@userActions/connections';
+import {getQuickbooksDesktopCodatSetupLink} from '@userActions/connections/QuickbooksDesktop';
+import {enablePolicyTaxes} from '@userActions/Policy/Policy';
import CONST from '@src/CONST';
import ROUTES from '@src/ROUTES';
import type SCREENS from '@src/SCREENS';
@@ -46,7 +46,7 @@ function RequireQuickBooksDesktopModal({route}: RequireQuickBooksDesktopModalPro
const fetchSetupLink = useCallback(() => {
setHasError(false);
// eslint-disable-next-line rulesdir/no-thenable-actions-in-views
- QuickbooksDesktop.getQuickbooksDesktopCodatSetupLink(policyID).then((response) => {
+ getQuickbooksDesktopCodatSetupLink(policyID).then((response) => {
if (!response?.jsonCode) {
return;
}
@@ -62,7 +62,7 @@ function RequireQuickBooksDesktopModal({route}: RequireQuickBooksDesktopModalPro
useEffect(() => {
// Since QBD doesn't support Taxes, we should disable them from the LHN when connecting to QBD
- PolicyAction.enablePolicyTaxes(policyID, false);
+ enablePolicyTaxes(policyID, false);
fetchSetupLink();
// disabling this rule, as we want this to run only on the first render
@@ -100,16 +100,9 @@ function RequireQuickBooksDesktopModal({route}: RequireQuickBooksDesktopModalPro
height={168}
/>
{translate('workspace.qbd.setupPage.setupErrorTitle')}
-
- {translate('workspace.qbd.setupPage.setupErrorBody1')}{' '}
-
- {translate('workspace.qbd.setupPage.setupErrorBodyContactConcierge')}
- {' '}
- {translate('workspace.qbd.setupPage.setupErrorBody2')}
-
+
+
+
)}
{!shouldShowError && (