diff --git a/src/components/FeatureList.tsx b/src/components/FeatureList.tsx index 179eee2d5810..e68b5c360582 100644 --- a/src/components/FeatureList.tsx +++ b/src/components/FeatureList.tsx @@ -56,6 +56,9 @@ type FeatureListProps = { /** Custom content to display in the footer */ footer?: ReactNode; + + /** Whether the button should be disabled */ + isButtonDisabled?: boolean; }; function FeatureList({ @@ -72,6 +75,7 @@ function FeatureList({ titleStyles, contentPaddingOnLargeScreens, footer, + isButtonDisabled = false, }: FeatureListProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); @@ -117,6 +121,7 @@ function FeatureList({ accessibilityLabel={ctaAccessibilityLabel} style={styles.w100} success + isDisabled={isButtonDisabled} large /> )} diff --git a/src/libs/actions/Policy/Policy.ts b/src/libs/actions/Policy/Policy.ts index 14ed72f8ca6b..ca859c5a79bb 100644 --- a/src/libs/actions/Policy/Policy.ts +++ b/src/libs/actions/Policy/Policy.ts @@ -1731,6 +1731,8 @@ function createDraftInitialWorkspace(policyOwnerEmail = '', policyName = '', pol ownerAccountID: sessionAccountID, isPolicyExpenseChatEnabled: true, areCategoriesEnabled: true, + areCompanyCardsEnabled: true, + areExpensifyCardsEnabled: false, outputCurrency, pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, customUnits, @@ -1836,11 +1838,13 @@ function buildPolicyData( }, customUnits, areCategoriesEnabled: true, + areCompanyCardsEnabled: true, areTagsEnabled: false, areDistanceRatesEnabled: false, areWorkflowsEnabled: shouldEnableWorkflowsByDefault, areReportFieldsEnabled: false, areConnectionsEnabled: false, + areExpensifyCardsEnabled: false, employeeList: { [sessionEmail]: { role: CONST.POLICY.ROLE.ADMIN, @@ -2167,11 +2171,13 @@ function createDraftWorkspace(policyOwnerEmail = '', makeMeAdmin = false, policy }, customUnits, areCategoriesEnabled: true, + areCompanyCardsEnabled: true, areTagsEnabled: false, areDistanceRatesEnabled: false, areWorkflowsEnabled: false, areReportFieldsEnabled: false, areConnectionsEnabled: false, + areExpensifyCardsEnabled: false, employeeList: { [sessionEmail]: { role: CONST.POLICY.ROLE.ADMIN, @@ -2480,11 +2486,13 @@ function createWorkspaceFromIOUPayment(iouReport: OnyxEntry): WorkspaceF }, customUnits, areCategoriesEnabled: true, + areCompanyCardsEnabled: true, areTagsEnabled: false, areDistanceRatesEnabled: false, areWorkflowsEnabled: false, areReportFieldsEnabled: false, areConnectionsEnabled: false, + areExpensifyCardsEnabled: false, employeeList: { [sessionEmail]: { role: CONST.POLICY.ROLE.ADMIN, diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardPageEmptyState.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardPageEmptyState.tsx index bbb77685c2f8..ca610fa126ed 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardPageEmptyState.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardPageEmptyState.tsx @@ -42,6 +42,7 @@ function WorkspaceCompanyCardPageEmptyState({policy}: WithPolicyAndFullscreenLoa const [isNoDelegateAccessMenuVisible, setIsNoDelegateAccessMenuVisible] = useState(false); const [allWorkspaceCards] = useOnyx(ONYXKEYS.COLLECTION.WORKSPACE_CARDS_LIST); const shouldShowExpensifyCardPromotionBanner = !hasIssuedExpensifyCard(policy?.workspaceAccountID ?? CONST.DEFAULT_NUMBER_ID, allWorkspaceCards); + const workspaceAccountID = policy?.workspaceAccountID ?? CONST.DEFAULT_NUMBER_ID; const handleCtaPress = useCallback(() => { if (!policy?.id) { @@ -70,6 +71,7 @@ function WorkspaceCompanyCardPageEmptyState({policy}: WithPolicyAndFullscreenLoa illustrationStyle={styles.emptyStateCardIllustration} illustrationContainerStyle={[styles.emptyStateCardIllustrationContainer, styles.justifyContentStart]} titleStyles={styles.textHeadlineH1} + isButtonDisabled={workspaceAccountID > CONST.DEFAULT_NUMBER_ID} />