diff --git a/src/languages/de.ts b/src/languages/de.ts
index 0b679990bc6d..16ec96f335cd 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -4982,6 +4982,8 @@ const translations = {
limit: 'Limit',
limitType: 'Typ begrenzen',
name: 'Name',
+ disabledApprovalForSmartLimitError:
+ 'Bitte aktivieren Sie Genehmigungen unter Workflows > Genehmigungen hinzufügen, bevor Sie intelligente Limits einrichten',
},
deactivateCardModal: {
deactivate: 'Deaktivieren',
diff --git a/src/languages/en.ts b/src/languages/en.ts
index a436b5a5d4e2..725c3e91df8c 100755
--- a/src/languages/en.ts
+++ b/src/languages/en.ts
@@ -4964,6 +4964,7 @@ const translations = {
limit: 'Limit',
limitType: 'Limit type',
name: 'Name',
+ disabledApprovalForSmartLimitError: 'Please enable approvals in Workflows > Add approvals before setting up smart limits',
},
deactivateCardModal: {
deactivate: 'Deactivate',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index ab5b7d735ab7..2bc6e2cec41c 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -5223,6 +5223,7 @@ const translations = {
limit: 'Limite',
limitType: 'Tipo de limite',
name: 'Nombre',
+ disabledApprovalForSmartLimitError: 'Por favor, habilita las aprobaciones en Flujos de trabajo > Aprobaciones antes de configurar los límites inteligentes',
},
deactivateCardModal: {
deactivate: 'Desactivar',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 20ac165a9497..07a6b4369f6a 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -4997,6 +4997,8 @@ const translations = {
limit: 'Limite',
limitType: 'Limiter le type',
name: 'Nom',
+ disabledApprovalForSmartLimitError:
+ 'Veuillez activer les approbations dans Workflows > Ajouter des approbations avant de configurer les limites intelligentes',
},
deactivateCardModal: {
deactivate: 'Désactiver',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 7582da608e59..10bccda4d9a6 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -4996,6 +4996,7 @@ const translations = {
limit: 'Limite',
limitType: 'Tipo di limite',
name: 'Nome',
+ disabledApprovalForSmartLimitError: 'Abilita le approvazioni in Flussi di lavoro > Aggiungi approvazioni prima di impostare i limiti intelligenti',
},
deactivateCardModal: {
deactivate: 'Disattiva',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 9d07d3cac601..7b4b7ff3a0f3 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -4975,6 +4975,7 @@ const translations = {
limit: '制限',
limitType: 'タイプを制限',
name: '名前',
+ disabledApprovalForSmartLimitError: 'スマートリミットを設定する前に、ワークフロー > 承認を追加で承認を有効にしてください',
},
deactivateCardModal: {
deactivate: '無効化',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 384807845817..7be6e171bb7f 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -4998,6 +4998,7 @@ const translations = {
limit: 'Limiet',
limitType: 'Limiettype',
name: 'Naam',
+ disabledApprovalForSmartLimitError: 'Schakel goedkeuringen in Workflows > Goedkeuringen toevoegen in voordat u slimme limieten instelt',
},
deactivateCardModal: {
deactivate: 'Deactiveren',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 71413a9ef623..5079936c87c6 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -4987,6 +4987,7 @@ const translations = {
limit: 'Limit',
limitType: 'Typ limitu',
name: 'Imię',
+ disabledApprovalForSmartLimitError: 'Proszę włączyć zatwierdzenia w Przepływy pracy > Dodaj zatwierdzenia przed skonfigurowaniem inteligentnych limitów',
},
deactivateCardModal: {
deactivate: 'Dezaktywuj',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 491de7646691..865f5015755f 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -4993,6 +4993,8 @@ const translations = {
limit: 'Limite',
limitType: 'Tipo de limite',
name: 'Nome',
+ disabledApprovalForSmartLimitError:
+ 'Por favor, ative as aprovações em Fluxos de Trabalho > Adicionar aprovações antes de configurar os limites inteligentes',
},
deactivateCardModal: {
deactivate: 'Desativar',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 3a1dd75d268f..443b85b7c296 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -4909,6 +4909,7 @@ const translations = {
limit: '限制',
limitType: '限制类型',
name: '名称',
+ disabledApprovalForSmartLimitError: '请在工作流程 > 添加审批中启用审批,然后再设置智能限制',
},
deactivateCardModal: {
deactivate: '停用',
diff --git a/src/pages/workspace/expensifyCard/issueNew/ConfirmationStep.tsx b/src/pages/workspace/expensifyCard/issueNew/ConfirmationStep.tsx
index 50542a23c9a1..41fb9ba8607a 100644
--- a/src/pages/workspace/expensifyCard/issueNew/ConfirmationStep.tsx
+++ b/src/pages/workspace/expensifyCard/issueNew/ConfirmationStep.tsx
@@ -45,11 +45,15 @@ function ConfirmationStep({policyID, backTo, stepNames, startStepIndex}: Confirm
const {isOffline} = useNetwork();
const [account] = useOnyx(ONYXKEYS.ACCOUNT, {canBeMissing: true});
const [issueNewCard] = useOnyx(`${ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD}${policyID}`, {canBeMissing: true});
+ const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`, {canBeMissing: true});
const validateError = getLatestErrorMessageField(issueNewCard);
const [isValidateCodeActionModalVisible, setIsValidateCodeActionModalVisible] = useState(false);
const data = issueNewCard?.data;
const isSuccessful = issueNewCard?.isSuccessful;
const defaultFundID = useDefaultFundID(policyID);
+ const hasApprovalError = !!policy?.errorFields?.approvalMode;
+ const isAddApprovalEnabled = policy?.approvalMode !== CONST.POLICY.APPROVAL_MODE.OPTIONAL && !hasApprovalError;
+ const shouldDisableSubmitButton = !isAddApprovalEnabled && data?.limitType === CONST.EXPENSIFY_CARD.LIMIT_TYPES.SMART;
const submitButton = useRef(null);
@@ -77,7 +81,7 @@ function ConfirmationStep({policyID, backTo, stepNames, startStepIndex}: Confirm
issueExpensifyCard(defaultFundID, policyID, CONST.COUNTRY.US, validateCode, data);
};
- const errorMessage = getLatestErrorMessage(issueNewCard);
+ const errorMessage = getLatestErrorMessage(issueNewCard) || (shouldDisableSubmitButton ? translate('workspace.card.issueNewCard.disabledApprovalForSmartLimitError') : '');
const editStep = (step: IssueNewCardStep) => {
setIssueNewCardStepAndData({step, isEditing: true, policyID});
@@ -143,7 +147,8 @@ function ConfirmationStep({policyID, backTo, stepNames, startStepIndex}: Confirm
buttonRef={submitButton}
message={errorMessage}
isAlertVisible={!!errorMessage}
- isDisabled={isOffline}
+ isDisabled={isOffline || shouldDisableSubmitButton}
+ isMessageHtml={shouldDisableSubmitButton}
isLoading={issueNewCard?.isLoading}
onSubmit={() => setIsValidateCodeActionModalVisible(true)}
buttonText={translate('workspace.card.issueCard')}