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 && (