diff --git a/src/CONST.ts b/src/CONST.ts
index 66b51184852f..b688b177ddef 100755
--- a/src/CONST.ts
+++ b/src/CONST.ts
@@ -1711,6 +1711,10 @@ const CONST = {
JOB_DONE: 'jobDone',
},
},
+ ACCESS_VARIANTS: {
+ PAID: 'paid',
+ ADMIN: 'admin',
+ },
},
CUSTOM_UNITS: {
diff --git a/src/components/BlockingViews/FullPageNotFoundView.tsx b/src/components/BlockingViews/FullPageNotFoundView.tsx
index 5039de3b20b6..e1cd5c94d4c9 100644
--- a/src/components/BlockingViews/FullPageNotFoundView.tsx
+++ b/src/components/BlockingViews/FullPageNotFoundView.tsx
@@ -86,4 +86,5 @@ function FullPageNotFoundView({
FullPageNotFoundView.displayName = 'FullPageNotFoundView';
+export type {FullPageNotFoundViewProps};
export default FullPageNotFoundView;
diff --git a/src/pages/ErrorPage/NotFoundPage.tsx b/src/pages/ErrorPage/NotFoundPage.tsx
index a324b048119a..cfdeab9c51c7 100644
--- a/src/pages/ErrorPage/NotFoundPage.tsx
+++ b/src/pages/ErrorPage/NotFoundPage.tsx
@@ -1,18 +1,21 @@
import React from 'react';
+import type {FullPageNotFoundViewProps} from '@components/BlockingViews/FullPageNotFoundView';
import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView';
import ScreenWrapper from '@components/ScreenWrapper';
type NotFoundPageProps = {
onBackButtonPress?: () => void;
-};
+} & FullPageNotFoundViewProps;
// eslint-disable-next-line rulesdir/no-negated-variables
-function NotFoundPage({onBackButtonPress}: NotFoundPageProps) {
+function NotFoundPage({onBackButtonPress, ...fullPageNotFoundViewProps}: NotFoundPageProps) {
return (
);
diff --git a/src/pages/workspace/AccessOrNotFoundWrapper.tsx b/src/pages/workspace/AccessOrNotFoundWrapper.tsx
new file mode 100644
index 000000000000..b6b641979319
--- /dev/null
+++ b/src/pages/workspace/AccessOrNotFoundWrapper.tsx
@@ -0,0 +1,121 @@
+/* eslint-disable rulesdir/no-negated-variables */
+import React, {useEffect} from 'react';
+import type {OnyxEntry} from 'react-native-onyx';
+import {withOnyx} from 'react-native-onyx';
+import type {FullPageNotFoundViewProps} from '@components/BlockingViews/FullPageNotFoundView';
+import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView';
+import FullscreenLoadingIndicator from '@components/FullscreenLoadingIndicator';
+import Navigation from '@libs/Navigation/Navigation';
+import * as PolicyUtils from '@libs/PolicyUtils';
+import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
+import * as Policy from '@userActions/Policy';
+import CONST from '@src/CONST';
+import ONYXKEYS from '@src/ONYXKEYS';
+import ROUTES from '@src/ROUTES';
+import type * as OnyxTypes from '@src/types/onyx';
+import type {PolicyFeatureName} from '@src/types/onyx/Policy';
+import callOrReturn from '@src/types/utils/callOrReturn';
+import {isEmptyObject} from '@src/types/utils/EmptyObject';
+
+const POLICY_ACCESS_VARIANTS = {
+ [CONST.POLICY.ACCESS_VARIANTS.PAID]: (policy: OnyxEntry) => PolicyUtils.isPaidGroupPolicy(policy) && !!policy?.isPolicyExpenseChatEnabled,
+ [CONST.POLICY.ACCESS_VARIANTS.ADMIN]: (policy: OnyxEntry) => PolicyUtils.isPolicyAdmin(policy),
+} as const satisfies Record boolean>;
+
+type PolicyAccessVariant = keyof typeof POLICY_ACCESS_VARIANTS;
+type AccessOrNotFoundWrapperOnyxProps = {
+ /** The report currently being looked at */
+ policy: OnyxEntry;
+
+ /** Indicated whether the report data is loading */
+ isLoadingReportData: OnyxEntry;
+};
+
+type AccessOrNotFoundWrapperProps = AccessOrNotFoundWrapperOnyxProps & {
+ /** The children to render */
+ children: ((props: AccessOrNotFoundWrapperOnyxProps) => React.ReactNode) | React.ReactNode;
+
+ /** The report currently being looked at */
+ policyID: string;
+
+ /** Defines which types of access should be verified */
+ accessVariants?: PolicyAccessVariant[];
+
+ /** The current feature name that the user tries to get access to */
+ featureName?: PolicyFeatureName;
+
+ /** Props for customizing fallback pages */
+ fullPageNotFoundViewProps?: FullPageNotFoundViewProps;
+} & Pick;
+
+type PageNotFoundFallbackProps = Pick & {shouldShowFullScreenFallback: boolean};
+
+function PageNotFoundFallback({policyID, shouldShowFullScreenFallback, fullPageNotFoundViewProps}: PageNotFoundFallbackProps) {
+ return shouldShowFullScreenFallback ? (
+ Navigation.goBack(ROUTES.SETTINGS_WORKSPACES)}
+ shouldForceFullScreen
+ // eslint-disable-next-line react/jsx-props-no-spreading
+ {...fullPageNotFoundViewProps}
+ />
+ ) : (
+ Navigation.goBack(ROUTES.WORKSPACE_PROFILE.getRoute(policyID))}
+ // eslint-disable-next-line react/jsx-props-no-spreading
+ {...fullPageNotFoundViewProps}
+ />
+ );
+}
+
+function AccessOrNotFoundWrapper({accessVariants = [], fullPageNotFoundViewProps, ...props}: AccessOrNotFoundWrapperProps) {
+ const {policy, policyID, featureName, isLoadingReportData} = props;
+
+ const isPolicyIDInRoute = !!policyID?.length;
+
+ useEffect(() => {
+ if (!isPolicyIDInRoute || !isEmptyObject(policy)) {
+ // If the workspace is not required or is already loaded, we don't need to call the API
+ return;
+ }
+
+ Policy.openWorkspace(policyID, []);
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [isPolicyIDInRoute, policyID]);
+
+ const shouldShowFullScreenLoadingIndicator = isLoadingReportData !== false && (!Object.entries(policy ?? {}).length || !policy?.id);
+
+ const isFeatureEnabled = featureName ? PolicyUtils.isPolicyFeatureEnabled(policy, featureName) : true;
+
+ const isPageAccessible = accessVariants.reduce((acc, variant) => {
+ const accessFunction = POLICY_ACCESS_VARIANTS[variant];
+ return acc && accessFunction(policy);
+ }, true);
+
+ const shouldShowNotFoundPage = isEmptyObject(policy) || (Object.keys(policy).length === 1 && !isEmptyObject(policy.errors)) || !policy?.id || !isPageAccessible || !isFeatureEnabled;
+
+ if (shouldShowFullScreenLoadingIndicator) {
+ return ;
+ }
+
+ if (shouldShowNotFoundPage) {
+ return (
+
+ );
+ }
+
+ return callOrReturn(props.children, props);
+}
+
+export default withOnyx({
+ policy: {
+ key: ({policyID}) => `${ONYXKEYS.COLLECTION.POLICY}${policyID ?? ''}`,
+ },
+ isLoadingReportData: {
+ key: ONYXKEYS.IS_LOADING_REPORT_DATA,
+ },
+})(AccessOrNotFoundWrapper);
diff --git a/src/pages/workspace/AdminPolicyAccessOrNotFoundWrapper.tsx b/src/pages/workspace/AdminPolicyAccessOrNotFoundWrapper.tsx
deleted file mode 100644
index 207c277a65d1..000000000000
--- a/src/pages/workspace/AdminPolicyAccessOrNotFoundWrapper.tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-/* eslint-disable rulesdir/no-negated-variables */
-import React, {useEffect} from 'react';
-import type {OnyxEntry} from 'react-native-onyx';
-import {withOnyx} from 'react-native-onyx';
-import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView';
-import FullscreenLoadingIndicator from '@components/FullscreenLoadingIndicator';
-import ScreenWrapper from '@components/ScreenWrapper';
-import Navigation from '@libs/Navigation/Navigation';
-import * as PolicyUtils from '@libs/PolicyUtils';
-import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
-import * as Policy from '@userActions/Policy';
-import type {TranslationPaths} from '@src/languages/types';
-import ONYXKEYS from '@src/ONYXKEYS';
-import ROUTES from '@src/ROUTES';
-import type * as OnyxTypes from '@src/types/onyx';
-import {isEmptyObject} from '@src/types/utils/EmptyObject';
-
-type AdminAccessOrNotFoundOnyxProps = {
- /** The report currently being looked at */
- policy: OnyxEntry;
-
- /** Indicated whether the report data is loading */
- isLoadingReportData: OnyxEntry;
-};
-
-type AdminPolicyAccessOrNotFoundComponentProps = AdminAccessOrNotFoundOnyxProps & {
- /** The children to render */
- children: ((props: AdminAccessOrNotFoundOnyxProps) => React.ReactNode) | React.ReactNode;
-
- /** The report currently being looked at */
- policyID: string;
-
- /** Function to call when pressing the navigation link */
- onLinkPress?: () => void;
-
- /** The key in the translations file to use for the subtitle */
- subtitleKey?: TranslationPaths;
-};
-
-function AdminPolicyAccessOrNotFoundComponent(props: AdminPolicyAccessOrNotFoundComponentProps) {
- const isPolicyIDInRoute = !!props.policyID?.length;
-
- useEffect(() => {
- if (!isPolicyIDInRoute || !isEmptyObject(props.policy)) {
- // If the workspace is not required or is already loaded, we don't need to call the API
- return;
- }
-
- Policy.openWorkspace(props.policyID, []);
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [isPolicyIDInRoute, props.policyID]);
-
- const shouldShowFullScreenLoadingIndicator = props.isLoadingReportData !== false && (!Object.entries(props.policy ?? {}).length || !props.policy?.id);
-
- const shouldShowNotFoundPage = isEmptyObject(props.policy) || !props.policy?.id || !PolicyUtils.isPolicyAdmin(props.policy) || PolicyUtils.isPendingDeletePolicy(props.policy);
-
- if (shouldShowFullScreenLoadingIndicator) {
- return ;
- }
-
- if (shouldShowNotFoundPage) {
- const isPolicyNotAccessible = isEmptyObject(props.policy) || !props.policy?.id;
-
- if (isPolicyNotAccessible) {
- return (
-
- Navigation.goBack(ROUTES.SETTINGS_WORKSPACES)}
- onLinkPress={props.onLinkPress}
- subtitleKey={props.subtitleKey}
- />
-
- );
- }
- return Navigation.goBack(ROUTES.WORKSPACE_PROFILE.getRoute(props.policyID))} />;
- }
-
- return typeof props.children === 'function' ? props.children(props) : props.children;
-}
-AdminPolicyAccessOrNotFoundComponent.displayName = 'AdminPolicyAccessOrNotFoundComponent';
-
-export default withOnyx({
- policy: {
- key: ({policyID}) => `${ONYXKEYS.COLLECTION.POLICY}${policyID ?? ''}`,
- },
- isLoadingReportData: {
- key: ONYXKEYS.IS_LOADING_REPORT_DATA,
- },
-})(AdminPolicyAccessOrNotFoundComponent);
diff --git a/src/pages/workspace/FeatureEnabledAccessOrNotFoundWrapper.tsx b/src/pages/workspace/FeatureEnabledAccessOrNotFoundWrapper.tsx
deleted file mode 100644
index f3a1c51238e5..000000000000
--- a/src/pages/workspace/FeatureEnabledAccessOrNotFoundWrapper.tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-/* eslint-disable rulesdir/no-negated-variables */
-import React, {useEffect, useState} from 'react';
-import type {OnyxEntry} from 'react-native-onyx';
-import {withOnyx} from 'react-native-onyx';
-import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView';
-import FullscreenLoadingIndicator from '@components/FullscreenLoadingIndicator';
-import useNetwork from '@hooks/useNetwork';
-import Navigation from '@libs/Navigation/Navigation';
-import * as PolicyUtils from '@libs/PolicyUtils';
-import * as Policy from '@userActions/Policy';
-import ONYXKEYS from '@src/ONYXKEYS';
-import ROUTES from '@src/ROUTES';
-import type * as OnyxTypes from '@src/types/onyx';
-import type {PolicyFeatureName} from '@src/types/onyx/Policy';
-import {isEmptyObject} from '@src/types/utils/EmptyObject';
-
-type FeatureEnabledAccessOrNotFoundOnyxProps = {
- /** The report currently being looked at */
- policy: OnyxEntry;
-
- /** Indicated whether the report data is loading */
- isLoadingReportData: OnyxEntry;
-};
-
-type FeatureEnabledAccessOrNotFoundComponentProps = FeatureEnabledAccessOrNotFoundOnyxProps & {
- /** The children to render */
- children: ((props: FeatureEnabledAccessOrNotFoundOnyxProps) => React.ReactNode) | React.ReactNode;
-
- /** The report currently being looked at */
- policyID: string;
-
- /** The current feature name that the user tries to get access */
- featureName: PolicyFeatureName;
-};
-
-function FeatureEnabledAccessOrNotFoundComponent(props: FeatureEnabledAccessOrNotFoundComponentProps) {
- const pendingField = props.policy?.pendingFields?.[props.featureName];
- const isPolicyIDInRoute = !!props.policyID?.length;
- const isFeatureEnabled = PolicyUtils.isPolicyFeatureEnabled(props.policy, props.featureName);
-
- const [isPolicyFeatureEnabled, setIsPolicyFeatureEnabled] = useState(isFeatureEnabled);
- const {isOffline} = useNetwork();
-
- const shouldShowNotFoundPage = isEmptyObject(props.policy) || !props.policy?.id || !isPolicyFeatureEnabled;
- const shouldShowFullScreenLoadingIndicator = props.isLoadingReportData !== false && (!Object.entries(props.policy ?? {}).length || !props.policy?.id);
-
- // We only update the feature state if it isn't pending.
- // This is because the feature state changes several times during the creation of a workspace, while we are waiting for a response from the backend.
- // Without this, we can have unexpectedly have 'Not Found' be shown.
- useEffect(() => {
- if (pendingField && !isOffline && !isFeatureEnabled) {
- return;
- }
- setIsPolicyFeatureEnabled(isFeatureEnabled);
- }, [pendingField, isOffline, isFeatureEnabled]);
-
- useEffect(() => {
- if (!isPolicyIDInRoute || !isEmptyObject(props.policy)) {
- // If the workspace is not required or is already loaded, we don't need to call the API
- return;
- }
-
- Policy.openWorkspace(props.policyID, []);
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [isPolicyIDInRoute, props.policyID]);
-
- if (shouldShowFullScreenLoadingIndicator) {
- return ;
- }
-
- if (shouldShowNotFoundPage) {
- return (
- Navigation.goBack(ROUTES.SETTINGS_WORKSPACES)}
- shouldForceFullScreen
- />
- );
- }
-
- return typeof props.children === 'function' ? props.children(props) : props.children;
-}
-
-export default withOnyx({
- policy: {
- key: ({policyID}) => `${ONYXKEYS.COLLECTION.POLICY}${policyID ?? ''}`,
- },
- isLoadingReportData: {
- key: ONYXKEYS.IS_LOADING_REPORT_DATA,
- },
-})(FeatureEnabledAccessOrNotFoundComponent);
diff --git a/src/pages/workspace/PaidPolicyAccessOrNotFoundWrapper.tsx b/src/pages/workspace/PaidPolicyAccessOrNotFoundWrapper.tsx
deleted file mode 100644
index 9b6047493561..000000000000
--- a/src/pages/workspace/PaidPolicyAccessOrNotFoundWrapper.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-/* eslint-disable rulesdir/no-negated-variables */
-import React, {useEffect} from 'react';
-import type {OnyxEntry} from 'react-native-onyx';
-import {withOnyx} from 'react-native-onyx';
-import FullscreenLoadingIndicator from '@components/FullscreenLoadingIndicator';
-import Navigation from '@libs/Navigation/Navigation';
-import * as PolicyUtils from '@libs/PolicyUtils';
-import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
-import * as Policy from '@userActions/Policy';
-import ONYXKEYS from '@src/ONYXKEYS';
-import ROUTES from '@src/ROUTES';
-import type * as OnyxTypes from '@src/types/onyx';
-import {isEmptyObject} from '@src/types/utils/EmptyObject';
-
-type PaidPolicyAccessOrNotFoundOnyxProps = {
- /** The report currently being looked at */
- policy: OnyxEntry;
-
- /** Indicated whether the report data is loading */
- isLoadingReportData: OnyxEntry;
-};
-
-type PaidPolicyAccessOrNotFoundComponentProps = PaidPolicyAccessOrNotFoundOnyxProps & {
- /** The children to render */
- children: ((props: PaidPolicyAccessOrNotFoundOnyxProps) => React.ReactNode) | React.ReactNode;
-
- /** The report currently being looked at */
- policyID: string;
-};
-
-function PaidPolicyAccessOrNotFoundComponent(props: PaidPolicyAccessOrNotFoundComponentProps) {
- const isPolicyIDInRoute = !!props.policyID?.length;
-
- useEffect(() => {
- if (!isPolicyIDInRoute || !isEmptyObject(props.policy)) {
- // If the workspace is not required or is already loaded, we don't need to call the API
- return;
- }
-
- Policy.openWorkspace(props.policyID, []);
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [isPolicyIDInRoute, props.policyID]);
-
- const shouldShowFullScreenLoadingIndicator = props.isLoadingReportData !== false && (!Object.entries(props.policy ?? {}).length || !props.policy?.id);
-
- const shouldShowNotFoundPage = isEmptyObject(props.policy) || !props.policy?.id || !PolicyUtils.isPaidGroupPolicy(props.policy) || !props.policy.isPolicyExpenseChatEnabled;
-
- if (shouldShowFullScreenLoadingIndicator) {
- return ;
- }
-
- if (shouldShowNotFoundPage) {
- return Navigation.goBack(ROUTES.WORKSPACE_PROFILE.getRoute(props.policyID))} />;
- }
-
- return typeof props.children === 'function' ? props.children(props) : props.children;
-}
-
-export default withOnyx({
- policy: {
- key: ({policyID}) => `${ONYXKEYS.COLLECTION.POLICY}${policyID ?? ''}`,
- },
- isLoadingReportData: {
- key: ONYXKEYS.IS_LOADING_REPORT_DATA,
- },
-})(PaidPolicyAccessOrNotFoundComponent);
diff --git a/src/pages/workspace/WorkspaceInviteMessagePage.tsx b/src/pages/workspace/WorkspaceInviteMessagePage.tsx
index 84ee1e1bf70f..2eaa38b865e6 100644
--- a/src/pages/workspace/WorkspaceInviteMessagePage.tsx
+++ b/src/pages/workspace/WorkspaceInviteMessagePage.tsx
@@ -36,7 +36,7 @@ import type SCREENS from '@src/SCREENS';
import INPUT_IDS from '@src/types/form/WorkspaceInviteMessageForm';
import type {InvitedEmailsToAccountIDs, PersonalDetailsList} from '@src/types/onyx';
import {isEmptyObject} from '@src/types/utils/EmptyObject';
-import AdminPolicyAccessOrNotFoundWrapper from './AdminPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from './AccessOrNotFoundWrapper';
import SearchInputManager from './SearchInputManager';
import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading';
import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscreenLoading';
@@ -133,10 +133,10 @@ function WorkspaceInviteMessagePage({
const policyName = policy?.name;
return (
-
-
+
);
}
diff --git a/src/pages/workspace/WorkspaceInvitePage.tsx b/src/pages/workspace/WorkspaceInvitePage.tsx
index 08799d4bf5ac..abb7b0a15944 100644
--- a/src/pages/workspace/WorkspaceInvitePage.tsx
+++ b/src/pages/workspace/WorkspaceInvitePage.tsx
@@ -32,7 +32,7 @@ import type SCREENS from '@src/SCREENS';
import type {Beta, InvitedEmailsToAccountIDs} from '@src/types/onyx';
import type {Errors} from '@src/types/onyx/OnyxCommon';
import {isEmptyObject} from '@src/types/utils/EmptyObject';
-import AdminPolicyAccessOrNotFoundWrapper from './AdminPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from './AccessOrNotFoundWrapper';
import SearchInputManager from './SearchInputManager';
import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading';
import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscreenLoading';
@@ -280,10 +280,10 @@ function WorkspaceInvitePage({route, betas, invitedEmailsToAccountIDsDraft, poli
);
return (
-
-
+
);
}
diff --git a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx
index c3515c393123..457e9e805e96 100644
--- a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx
+++ b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx
@@ -1,6 +1,5 @@
import {useFocusEffect} from '@react-navigation/native';
import type {StackScreenProps} from '@react-navigation/stack';
-import {CONST} from 'expensify-common/lib/CONST';
import React, {useCallback} from 'react';
import {View} from 'react-native';
import HeaderWithBackButton from '@components/HeaderWithBackButton';
@@ -15,12 +14,12 @@ import useThemeStyles from '@hooks/useThemeStyles';
import useWindowDimensions from '@hooks/useWindowDimensions';
import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types';
import * as Policy from '@userActions/Policy';
+import CONST from '@src/CONST';
import type {TranslationPaths} from '@src/languages/types';
import type SCREENS from '@src/SCREENS';
import type {PendingAction} from '@src/types/onyx/OnyxCommon';
import type IconAsset from '@src/types/utils/IconAsset';
-import AdminPolicyAccessOrNotFoundWrapper from './AdminPolicyAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from './PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from './AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading';
import ToggleSettingOptionRow from './workflows/ToggleSettingsOptionRow';
@@ -197,24 +196,25 @@ function WorkspaceMoreFeaturesPage({policy, route}: WorkspaceMoreFeaturesPagePro
);
return (
-
-
-
-
-
- {sections.map(renderSection)}
-
-
-
+
+
+
+
+ {sections.map(renderSection)}
+
+
);
}
diff --git a/src/pages/workspace/WorkspaceNamePage.tsx b/src/pages/workspace/WorkspaceNamePage.tsx
index 96c045332271..3a0cd476de9b 100644
--- a/src/pages/workspace/WorkspaceNamePage.tsx
+++ b/src/pages/workspace/WorkspaceNamePage.tsx
@@ -15,7 +15,7 @@ import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import INPUT_IDS from '@src/types/form/WorkspaceSettingsForm';
-import AdminPolicyAccessOrNotFoundWrapper from './AdminPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from './AccessOrNotFoundWrapper';
import withPolicy from './withPolicy';
import type {WithPolicyProps} from './withPolicy';
@@ -54,7 +54,10 @@ function WorkspaceNamePage({policy}: Props) {
}, []);
return (
-
+
-
+
);
}
diff --git a/src/pages/workspace/WorkspaceProfileCurrencyPage.tsx b/src/pages/workspace/WorkspaceProfileCurrencyPage.tsx
index 20ffe410a196..bef697f37a88 100644
--- a/src/pages/workspace/WorkspaceProfileCurrencyPage.tsx
+++ b/src/pages/workspace/WorkspaceProfileCurrencyPage.tsx
@@ -9,10 +9,11 @@ import useLocalize from '@hooks/useLocalize';
import Navigation from '@libs/Navigation/Navigation';
import * as PolicyUtils from '@libs/PolicyUtils';
import * as Policy from '@userActions/Policy';
+import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import type {CurrencyList} from '@src/types/onyx';
import {isEmptyObject} from '@src/types/utils/EmptyObject';
-import AdminPolicyAccessOrNotFoundWrapper from './AdminPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from './AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading';
@@ -71,10 +72,10 @@ function WorkspaceProfileCurrencyPage({currencyList = {}, policy}: WorkspaceProf
};
return (
-
-
+
);
}
diff --git a/src/pages/workspace/WorkspaceProfileDescriptionPage.tsx b/src/pages/workspace/WorkspaceProfileDescriptionPage.tsx
index 865406326e2e..00b11bf64697 100644
--- a/src/pages/workspace/WorkspaceProfileDescriptionPage.tsx
+++ b/src/pages/workspace/WorkspaceProfileDescriptionPage.tsx
@@ -17,7 +17,7 @@ import variables from '@styles/variables';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
-import AdminPolicyAccessOrNotFoundWrapper from './AdminPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from './AccessOrNotFoundWrapper';
import withPolicy from './withPolicy';
import type {WithPolicyProps} from './withPolicy';
@@ -69,7 +69,10 @@ function WorkspaceProfileDescriptionPage({policy}: Props) {
);
return (
-
+
-
+
);
}
diff --git a/src/pages/workspace/WorkspaceProfileSharePage.tsx b/src/pages/workspace/WorkspaceProfileSharePage.tsx
index 5aab39f8e019..7e3a21a7f88d 100644
--- a/src/pages/workspace/WorkspaceProfileSharePage.tsx
+++ b/src/pages/workspace/WorkspaceProfileSharePage.tsx
@@ -19,7 +19,7 @@ import Navigation from '@libs/Navigation/Navigation';
import * as Url from '@libs/Url';
import CONST from '@src/CONST';
import ROUTES from '@src/ROUTES';
-import AdminPolicyAccessOrNotFoundWrapper from './AdminPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from './AccessOrNotFoundWrapper';
import withPolicy from './withPolicy';
import type {WithPolicyProps} from './withPolicy';
@@ -39,7 +39,10 @@ function WorkspaceProfileSharePage({policy}: WithPolicyProps) {
const url = `${urlWithTrailingSlash}${ROUTES.WORKSPACE_JOIN_USER.getRoute(id, adminEmail)}`;
return (
-
+
-
+
);
}
diff --git a/src/pages/workspace/accounting/PolicyAccountingPage.tsx b/src/pages/workspace/accounting/PolicyAccountingPage.tsx
index 00b65f871fc8..ba4850691499 100644
--- a/src/pages/workspace/accounting/PolicyAccountingPage.tsx
+++ b/src/pages/workspace/accounting/PolicyAccountingPage.tsx
@@ -22,9 +22,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions';
import {removePolicyConnection} from '@libs/actions/connections';
import {syncConnection} from '@libs/actions/connections/QuickBooksOnline';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import type {AnchorPosition} from '@styles/index';
@@ -179,59 +177,56 @@ function PolicyAccountingPage({policy, connectionSyncProgress}: PolicyAccounting
];
return (
-
-
-
-
-
-
-
-
-
-
- {
- removePolicyConnection(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO);
- setIsDisconnectModalOpen(false);
- }}
- onCancel={() => setIsDisconnectModalOpen(false)}
- prompt={translate('workspace.accounting.disconnectPrompt')}
- confirmText={translate('workspace.accounting.disconnect')}
- cancelText={translate('common.cancel')}
- danger
- />
-
-
-
-
+
+
+
+
+
+
+
+
+ {
+ removePolicyConnection(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO);
+ setIsDisconnectModalOpen(false);
+ }}
+ onCancel={() => setIsDisconnectModalOpen(false)}
+ prompt={translate('workspace.accounting.disconnectPrompt')}
+ confirmText={translate('workspace.accounting.disconnect')}
+ cancelText={translate('common.cancel')}
+ danger
+ />
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx
index 8ea68b181323..38dc517d57de 100644
--- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx
+++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx
@@ -10,9 +10,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@libs/Navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -61,29 +59,26 @@ function QuickbooksAccountSelectPage({policy}: WithPolicyConnectionsProps) {
);
return (
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx
index af73c9d9805c..6d9f19e936b9 100644
--- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx
+++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx
@@ -11,9 +11,7 @@ import useWaitForNavigation from '@hooks/useWaitForNavigation';
import * as Connections from '@libs/actions/connections';
import * as ErrorUtils from '@libs/ErrorUtils';
import Navigation from '@libs/Navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow';
@@ -125,40 +123,37 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) {
];
return (
-
-
-
-
-
+
+
+
-
- {qboToggleSettingItems.map((item) => (
-
- ))}
-
-
-
-
-
+
+ {qboToggleSettingItems.map((item) => (
+
+ ))}
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx
index 5fe03434f726..31667da4ff6d 100644
--- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx
+++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx
@@ -10,9 +10,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@libs/Navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -62,29 +60,26 @@ function QuickbooksInvoiceAccountSelectPage({policy}: WithPolicyConnectionsProps
);
return (
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountPage.tsx
index ee1497ed3e60..498236d0912d 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountPage.tsx
@@ -9,8 +9,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow';
@@ -24,70 +23,67 @@ function QuickbooksCompanyCardExpenseAccountPage({policy}: WithPolicyConnections
const {exportCompanyCardAccount, exportAccountPayable, autoCreateVendor, errorFields, pendingFields, exportCompanyCard} = policy?.connections?.quickbooksOnline?.config ?? {};
const isVendorSelected = exportCompanyCard === CONST.QUICKBOOKS_EXPORT_COMPANY_CARD.VENDOR_BILL;
return (
-
-
+
-
-
-
- {translate('workspace.qbo.exportCompanyCardsDescription')}
-
- Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_SELECT.getRoute(policyID))}
- brickRoadIndicator={errorFields?.exportCompanyCard ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
- shouldShowRightIcon
- />
-
- {!!exportCompanyCard && (
- {translate(`workspace.qbo.${exportCompanyCard}Description`)}
- )}
- {isVendorSelected && (
- <>
-
- Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_ACCOUNT_PAYABLE_SELECT.getRoute(policyID))}
- brickRoadIndicator={errorFields?.exportAccountPayable ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
- shouldShowRightIcon
- />
-
-
- Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR, isOn)
- }
- pendingAction={pendingFields?.autoCreateVendor}
+
+
+ {translate('workspace.qbo.exportCompanyCardsDescription')}
+
+ Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_SELECT.getRoute(policyID))}
+ brickRoadIndicator={errorFields?.exportCompanyCard ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
+ shouldShowRightIcon
+ />
+
+ {!!exportCompanyCard && (
+ {translate(`workspace.qbo.${exportCompanyCard}Description`)}
+ )}
+ {isVendorSelected && (
+ <>
+
+ Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_ACCOUNT_PAYABLE_SELECT.getRoute(policyID))}
+ brickRoadIndicator={errorFields?.exportAccountPayable ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
+ shouldShowRightIcon
/>
- >
- )}
-
- Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_ACCOUNT_SELECT.getRoute(policyID))}
- brickRoadIndicator={errorFields?.exportCompanyCardAccount ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
- shouldShowRightIcon
- error={errorFields?.exportCompanyCardAccount ? translate('common.genericErrorMessage') : undefined}
+
+ Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR, isOn)}
+ pendingAction={pendingFields?.autoCreateVendor}
/>
-
-
-
-
-
+ >
+ )}
+
+ Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_ACCOUNT_SELECT.getRoute(policyID))}
+ brickRoadIndicator={errorFields?.exportCompanyCardAccount ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
+ shouldShowRightIcon
+ error={errorFields?.exportCompanyCardAccount ? translate('common.genericErrorMessage') : undefined}
+ />
+
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountPayableSelectPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountPayableSelectPage.tsx
index 6e363d998039..f9aef6e2e85a 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountPayableSelectPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountPayableSelectPage.tsx
@@ -9,8 +9,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -49,23 +48,22 @@ function QuickbooksCompanyCardExpenseAccountPayableSelectPage({policy}: WithPoli
);
return (
-
-
-
-
- {translate('workspace.qbo.accountsPayableDescription')}}
- sections={[{data}]}
- ListItem={RadioListItem}
- onSelectRow={selectAccountPayable}
- initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
- />
-
-
-
+
+
+
+ {translate('workspace.qbo.accountsPayableDescription')}}
+ sections={[{data}]}
+ ListItem={RadioListItem}
+ onSelectRow={selectAccountPayable}
+ initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
+ />
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountSelectCardPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountSelectCardPage.tsx
index 00a82ddb424b..e67922e6a773 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountSelectCardPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountSelectCardPage.tsx
@@ -12,8 +12,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -76,29 +75,28 @@ function QuickbooksCompanyCardExpenseAccountSelectCardPage({policy}: WithPolicyC
);
return (
-
-
-
-
-
- {translate('workspace.qbo.exportCompanyCardsDescription')}}
- sections={sections}
- ListItem={RadioListItem}
- onSelectRow={selectExportCompanyCard}
- initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
- footerContent={
- isLocationEnabled && {translate('workspace.qbo.companyCardsLocationEnabledDescription')}
- }
- />
-
-
-
-
+
+
+
+
+ {translate('workspace.qbo.exportCompanyCardsDescription')}}
+ sections={sections}
+ ListItem={RadioListItem}
+ onSelectRow={selectExportCompanyCard}
+ initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
+ footerContent={
+ isLocationEnabled && {translate('workspace.qbo.companyCardsLocationEnabledDescription')}
+ }
+ />
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountSelectPage.tsx
index 626ba45dea2c..52865f9ae55c 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountSelectPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksCompanyCardExpenseAccountSelectPage.tsx
@@ -9,8 +9,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -64,25 +63,24 @@ function QuickbooksCompanyCardExpenseAccountSelectPage({policy}: WithPolicyConne
);
return (
-
-
-
-
- {translate(`workspace.qbo.${exportCompanyCard}AccountDescription`)} : null}
- sections={[{data}]}
- ListItem={RadioListItem}
- onSelectRow={selectExportAccount}
- initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
- />
-
-
-
+
+
+
+ {translate(`workspace.qbo.${exportCompanyCard}AccountDescription`)} : null}
+ sections={[{data}]}
+ ListItem={RadioListItem}
+ onSelectRow={selectExportAccount}
+ initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
+ />
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksExportConfigurationPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksExportConfigurationPage.tsx
index 270b8004515e..4d550d11547f 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksExportConfigurationPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksExportConfigurationPage.tsx
@@ -11,8 +11,7 @@ import TextLink from '@components/TextLink';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import * as Link from '@userActions/Link';
@@ -77,49 +76,48 @@ function QuickbooksExportConfigurationPage({policy}: WithPolicyConnectionsProps)
];
return (
-
-
+
-
-
-
- {translate('workspace.qbo.exportDescription')}
- {menuItems.map((menuItem) => (
-
-
-
- ))}
-
- {`${translate('workspace.qbo.deepDiveExpensifyCard')} `}
- Link.openExternalLink(CONST.DEEP_DIVE_EXPENSIFY_CARD)}
- style={[styles.mutedNormalTextLabel, styles.link]}
- >
- {translate('workspace.qbo.deepDiveExpensifyCardIntegration')}
-
-
-
-
-
-
+
+
+ {translate('workspace.qbo.exportDescription')}
+ {menuItems.map((menuItem) => (
+
+
+
+ ))}
+
+ {`${translate('workspace.qbo.deepDiveExpensifyCard')} `}
+ Link.openExternalLink(CONST.DEEP_DIVE_EXPENSIFY_CARD)}
+ style={[styles.mutedNormalTextLabel, styles.link]}
+ >
+ {translate('workspace.qbo.deepDiveExpensifyCardIntegration')}
+
+
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksExportDateSelectPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksExportDateSelectPage.tsx
index 4e0e52f732b2..e45014a7f70d 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksExportDateSelectPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksExportDateSelectPage.tsx
@@ -10,8 +10,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -44,26 +43,25 @@ function QuickbooksExportDateSelectPage({policy}: WithPolicyConnectionsProps) {
);
return (
-
-
+
-
-
- {translate('workspace.qbo.exportDateDescription')}}
- sections={[{data}]}
- ListItem={RadioListItem}
- onSelectRow={selectExportDate}
- initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
- />
-
-
-
+
+ {translate('workspace.qbo.exportDateDescription')}}
+ sections={[{data}]}
+ ListItem={RadioListItem}
+ onSelectRow={selectExportDate}
+ initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
+ />
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksExportInvoiceAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksExportInvoiceAccountSelectPage.tsx
index 3e334ce6eadf..af03b2975f77 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksExportInvoiceAccountSelectPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksExportInvoiceAccountSelectPage.tsx
@@ -9,8 +9,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -49,23 +48,22 @@ function QuickbooksExportInvoiceAccountSelectPage({policy}: WithPolicyConnection
);
return (
-
-
-
-
- {translate('workspace.qbo.exportInvoicesDescription')}}
- sections={[{data}]}
- ListItem={RadioListItem}
- onSelectRow={selectExportInvoice}
- initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
- />
-
-
-
+
+
+
+ {translate('workspace.qbo.exportInvoicesDescription')}}
+ sections={[{data}]}
+ ListItem={RadioListItem}
+ onSelectRow={selectExportInvoice}
+ initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
+ />
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx
index a94c209a1bc0..729fd6ade173 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseAccountSelectPage.tsx
@@ -9,8 +9,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -65,23 +64,22 @@ function QuickbooksOutOfPocketExpenseAccountSelectPage({policy}: WithPolicyConne
);
return (
-
-
-
-
- {translate('workspace.qbo.accountsPayableDescription')}}
- sections={[{data}]}
- ListItem={RadioListItem}
- onSelectRow={selectExportAccount}
- initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
- />
-
-
-
+
+
+
+ {translate('workspace.qbo.accountsPayableDescription')}}
+ sections={[{data}]}
+ ListItem={RadioListItem}
+ onSelectRow={selectExportAccount}
+ initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
+ />
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseConfigurationPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseConfigurationPage.tsx
index e2748e4055d6..2c8f210b330a 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseConfigurationPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseConfigurationPage.tsx
@@ -8,8 +8,7 @@ import Text from '@components/Text';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -27,50 +26,49 @@ function QuickbooksOutOfPocketExpenseConfigurationPage({policy}: WithPolicyConne
const hasErrors = Boolean(errorFields?.exportEntity) || shouldShowTaxError || shouldShowLocationError;
return (
-
-
+
-
-
-
- {!isLocationEnabled && {translate('workspace.qbo.exportOutOfPocketExpensesDescription')}}
-
+
+
+ {!isLocationEnabled && {translate('workspace.qbo.exportOutOfPocketExpensesDescription')}}
+
+ Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_SELECT.getRoute(policyID))}
+ brickRoadIndicator={hasErrors ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
+ shouldShowRightIcon
+ />
+
+ {exportEntity === CONST.QUICKBOOKS_EXPORT_ENTITY.VENDOR_BILL && !isLocationEnabled && (
+ {translate('workspace.qbo.exportVendorBillDescription')}
+ )}
+ {isLocationEnabled && {translate('workspace.qbo.outOfPocketLocationEnabledDescription')}}
+ {!isLocationEnabled && (
+
Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_SELECT.getRoute(policyID))}
- brickRoadIndicator={hasErrors ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
+ title={exportAccount}
+ description={translate('workspace.qbo.accountsPayable')}
+ onPress={() => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_ACCOUNT_SELECT.getRoute(policyID))}
+ brickRoadIndicator={errorFields?.exportAccount ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
shouldShowRightIcon
+ error={errorFields?.exportAccount ? translate('common.genericErrorMessage') : undefined}
+ // TODO uncomment when errorText will be fixed
+ // errorText={errors?.exportAccount}
/>
- {exportEntity === CONST.QUICKBOOKS_EXPORT_ENTITY.VENDOR_BILL && !isLocationEnabled && (
- {translate('workspace.qbo.exportVendorBillDescription')}
- )}
- {isLocationEnabled && {translate('workspace.qbo.outOfPocketLocationEnabledDescription')}}
- {!isLocationEnabled && (
-
- Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_ACCOUNT_SELECT.getRoute(policyID))}
- brickRoadIndicator={errorFields?.exportAccount ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
- shouldShowRightIcon
- error={errorFields?.exportAccount ? translate('common.genericErrorMessage') : undefined}
- // TODO uncomment when errorText will be fixed
- // errorText={errors?.exportAccount}
- />
-
- )}
-
-
-
-
+ )}
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseEntitySelectPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseEntitySelectPage.tsx
index 5f2fe30aa5da..07bac6d07991 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseEntitySelectPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseEntitySelectPage.tsx
@@ -12,8 +12,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -82,30 +81,29 @@ function QuickbooksOutOfPocketExpenseEntitySelectPage({policy}: WithPolicyConnec
);
return (
-
-
+
-
-
-
- {translate('workspace.qbo.optionBelow')}}
- sections={sections}
- ListItem={RadioListItem}
- onSelectRow={selectExportEntity}
- initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
- footerContent={isTaxesEnabled && {translate('workspace.qbo.outOfPocketTaxEnabledDescription')}}
- />
-
-
-
-
+
+
+ {translate('workspace.qbo.optionBelow')}}
+ sections={sections}
+ ListItem={RadioListItem}
+ onSelectRow={selectExportEntity}
+ initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
+ footerContent={isTaxesEnabled && {translate('workspace.qbo.outOfPocketTaxEnabledDescription')}}
+ />
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx b/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx
index 9e0e9f4f494d..4c5524da2bb3 100644
--- a/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx
+++ b/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx
@@ -10,8 +10,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
import {getAdminEmployees} from '@libs/PolicyUtils';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -55,28 +54,27 @@ function QuickBooksExportPreferredExporterPage({policy}: WithPolicyConnectionsPr
);
return (
-
-
-
-
-
- {translate('workspace.qbo.exportPreferredExporterNote')}
- {translate('workspace.qbo.exportPreferredExporterSubNote')}
- >
- }
- sections={[{data}]}
- ListItem={RadioListItem}
- onSelectRow={selectExporter}
- initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
- />
-
-
-
+
+
+
+
+ {translate('workspace.qbo.exportPreferredExporterNote')}
+ {translate('workspace.qbo.exportPreferredExporterSubNote')}
+ >
+ }
+ sections={[{data}]}
+ ListItem={RadioListItem}
+ onSelectRow={selectExporter}
+ initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList}
+ />
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/import/QuickbooksChartOfAccountsPage.tsx b/src/pages/workspace/accounting/qbo/import/QuickbooksChartOfAccountsPage.tsx
index 0a59d258ab0c..96cb0115d29a 100644
--- a/src/pages/workspace/accounting/qbo/import/QuickbooksChartOfAccountsPage.tsx
+++ b/src/pages/workspace/accounting/qbo/import/QuickbooksChartOfAccountsPage.tsx
@@ -9,8 +9,7 @@ import Text from '@components/Text';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import variables from '@styles/variables';
@@ -24,47 +23,46 @@ function QuickbooksChartOfAccountsPage({policy}: WithPolicyProps) {
const isSwitchOn = Boolean(enableNewCategories && enableNewCategories !== CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE);
return (
-
-
+
-
-
-
- {translate('workspace.qbo.accountsDescription')}
-
-
- {translate('workspace.qbo.accountsSwitchTitle')}
-
-
-
-
- Connections.updatePolicyConnectionConfig(
- policyID,
- CONST.POLICY.CONNECTIONS.NAME.QBO,
- CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES,
- isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
- )
- }
- />
-
-
-
+
+
+ {translate('workspace.qbo.accountsDescription')}
+
- {translate('workspace.qbo.accountsSwitchDescription')}
+ {translate('workspace.qbo.accountsSwitchTitle')}
-
-
-
-
+
+
+
+ Connections.updatePolicyConnectionConfig(
+ policyID,
+ CONST.POLICY.CONNECTIONS.NAME.QBO,
+ CONST.QUICK_BOOKS_CONFIG.ENABLE_NEW_CATEGORIES,
+ isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
+ )
+ }
+ />
+
+
+
+
+ {translate('workspace.qbo.accountsSwitchDescription')}
+
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/import/QuickbooksClassesPage.tsx b/src/pages/workspace/accounting/qbo/import/QuickbooksClassesPage.tsx
index 3f547fa9c6de..d0cd62d043e9 100644
--- a/src/pages/workspace/accounting/qbo/import/QuickbooksClassesPage.tsx
+++ b/src/pages/workspace/accounting/qbo/import/QuickbooksClassesPage.tsx
@@ -10,8 +10,7 @@ import Text from '@components/Text';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import variables from '@styles/variables';
@@ -26,54 +25,53 @@ function QuickbooksClassesPage({policy}: WithPolicyProps) {
const isReportFieldsSelected = syncClasses === CONST.INTEGRATION_ENTITY_MAP_TYPES.REPORT_FIELD;
return (
-
-
+
-
-
-
- {translate('workspace.qbo.classesDescription')}
-
-
- {translate('workspace.qbo.import')}
-
-
-
-
- Connections.updatePolicyConnectionConfig(
- policyID,
- CONST.POLICY.CONNECTIONS.NAME.QBO,
- CONST.QUICK_BOOKS_CONFIG.SYNC_CLASSES,
- isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
- )
- }
- />
-
-
+
+
+ {translate('workspace.qbo.classesDescription')}
+
+
+ {translate('workspace.qbo.import')}
- {isSwitchOn && (
-
-
+
+
+ Connections.updatePolicyConnectionConfig(
+ policyID,
+ CONST.POLICY.CONNECTIONS.NAME.QBO,
+ CONST.QUICK_BOOKS_CONFIG.SYNC_CLASSES,
+ isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
+ )
+ }
/>
-
- )}
-
-
-
-
+
+
+
+ {isSwitchOn && (
+
+
+
+ )}
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/import/QuickbooksCustomersPage.tsx b/src/pages/workspace/accounting/qbo/import/QuickbooksCustomersPage.tsx
index 14fe0ba07bc4..e0543a45e85d 100644
--- a/src/pages/workspace/accounting/qbo/import/QuickbooksCustomersPage.tsx
+++ b/src/pages/workspace/accounting/qbo/import/QuickbooksCustomersPage.tsx
@@ -10,8 +10,7 @@ import Text from '@components/Text';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import variables from '@styles/variables';
@@ -25,54 +24,53 @@ function QuickbooksCustomersPage({policy}: WithPolicyProps) {
const isSwitchOn = Boolean(syncCustomers && syncCustomers !== CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE);
const isReportFieldsSelected = syncCustomers === CONST.INTEGRATION_ENTITY_MAP_TYPES.REPORT_FIELD;
return (
-
-
+
-
-
-
- {translate('workspace.qbo.customersDescription')}
-
-
- {translate('workspace.qbo.import')}
-
-
-
-
- Connections.updatePolicyConnectionConfig(
- policyID,
- CONST.POLICY.CONNECTIONS.NAME.QBO,
- CONST.QUICK_BOOKS_CONFIG.SYNC_CUSTOMERS,
- isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
- )
- }
- />
-
-
+
+
+ {translate('workspace.qbo.customersDescription')}
+
+
+ {translate('workspace.qbo.import')}
- {isSwitchOn && (
-
-
+
+
+ Connections.updatePolicyConnectionConfig(
+ policyID,
+ CONST.POLICY.CONNECTIONS.NAME.QBO,
+ CONST.QUICK_BOOKS_CONFIG.SYNC_CUSTOMERS,
+ isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
+ )
+ }
/>
-
- )}
-
-
-
-
+
+
+
+ {isSwitchOn && (
+
+
+
+ )}
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/import/QuickbooksImportPage.tsx b/src/pages/workspace/accounting/qbo/import/QuickbooksImportPage.tsx
index d9457a2f5670..7d6ee38a1a29 100644
--- a/src/pages/workspace/accounting/qbo/import/QuickbooksImportPage.tsx
+++ b/src/pages/workspace/accounting/qbo/import/QuickbooksImportPage.tsx
@@ -8,8 +8,7 @@ import Text from '@components/Text';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@navigation/Navigation';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
@@ -71,37 +70,36 @@ function QuickbooksImportPage({policy}: WithPolicyProps) {
}
return (
-
-
+
-
-
-
- {translate('workspace.qbo.importDescription')}
- {sections.map((section) => (
-
-
-
- ))}
-
-
-
-
+
+
+ {translate('workspace.qbo.importDescription')}
+ {sections.map((section) => (
+
+
+
+ ))}
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/import/QuickbooksLocationsPage.tsx b/src/pages/workspace/accounting/qbo/import/QuickbooksLocationsPage.tsx
index b7e9724bb8a0..b74ddbf28e3c 100644
--- a/src/pages/workspace/accounting/qbo/import/QuickbooksLocationsPage.tsx
+++ b/src/pages/workspace/accounting/qbo/import/QuickbooksLocationsPage.tsx
@@ -10,8 +10,7 @@ import Text from '@components/Text';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import variables from '@styles/variables';
@@ -26,57 +25,56 @@ function QuickbooksLocationsPage({policy}: WithPolicyProps) {
const isReportFieldsSelected = syncLocations === CONST.INTEGRATION_ENTITY_MAP_TYPES.REPORT_FIELD;
return (
-
-
+
-
-
-
- {translate('workspace.qbo.locationsDescription')}
-
-
- {translate('workspace.qbo.import')}
-
-
-
-
- Connections.updatePolicyConnectionConfig(
- policyID,
- CONST.POLICY.CONNECTIONS.NAME.QBO,
- CONST.QUICK_BOOKS_CONFIG.SYNC_LOCATIONS,
- isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
- )
- }
- />
-
-
+
+
+ {translate('workspace.qbo.locationsDescription')}
+
+
+ {translate('workspace.qbo.import')}
- {isSwitchOn && (
-
-
+
+
+ Connections.updatePolicyConnectionConfig(
+ policyID,
+ CONST.POLICY.CONNECTIONS.NAME.QBO,
+ CONST.QUICK_BOOKS_CONFIG.SYNC_LOCATIONS,
+ isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
+ )
+ }
/>
-
- )}
-
- {translate('workspace.qbo.locationsAdditionalDescription')}
-
-
-
-
-
+
+
+
+ {isSwitchOn && (
+
+
+
+ )}
+
+ {translate('workspace.qbo.locationsAdditionalDescription')}
+
+
+
+
);
}
diff --git a/src/pages/workspace/accounting/qbo/import/QuickbooksTaxesPage.tsx b/src/pages/workspace/accounting/qbo/import/QuickbooksTaxesPage.tsx
index 98b4f5d8c6f7..5112ad127681 100644
--- a/src/pages/workspace/accounting/qbo/import/QuickbooksTaxesPage.tsx
+++ b/src/pages/workspace/accounting/qbo/import/QuickbooksTaxesPage.tsx
@@ -9,8 +9,7 @@ import Text from '@components/Text';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Connections from '@libs/actions/connections';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import variables from '@styles/variables';
@@ -23,44 +22,43 @@ function QuickbooksTaxesPage({policy}: WithPolicyProps) {
const {syncTaxes, pendingFields} = policy?.connections?.quickbooksOnline?.config ?? {};
const isSwitchOn = Boolean(syncTaxes && syncTaxes !== CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE);
return (
-
-
+
-
-
-
- {translate('workspace.qbo.taxesDescription')}
-
-
- {translate('workspace.qbo.import')}
-
-
-
-
- Connections.updatePolicyConnectionConfig(
- policyID,
- CONST.POLICY.CONNECTIONS.NAME.QBO,
- CONST.QUICK_BOOKS_CONFIG.SYNC_TAXES,
- isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
- )
- }
- />
-
-
+
+
+ {translate('workspace.qbo.taxesDescription')}
+
+
+ {translate('workspace.qbo.import')}
-
-
-
-
+
+
+
+ Connections.updatePolicyConnectionConfig(
+ policyID,
+ CONST.POLICY.CONNECTIONS.NAME.QBO,
+ CONST.QUICK_BOOKS_CONFIG.SYNC_TAXES,
+ isSwitchOn ? CONST.INTEGRATION_ENTITY_MAP_TYPES.NONE : CONST.INTEGRATION_ENTITY_MAP_TYPES.TAG,
+ )
+ }
+ />
+
+
+
+
+
+
);
}
diff --git a/src/pages/workspace/categories/CategorySettingsPage.tsx b/src/pages/workspace/categories/CategorySettingsPage.tsx
index 6e35c4e2d040..21741a417a26 100644
--- a/src/pages/workspace/categories/CategorySettingsPage.tsx
+++ b/src/pages/workspace/categories/CategorySettingsPage.tsx
@@ -19,9 +19,7 @@ import * as ErrorUtils from '@libs/ErrorUtils';
import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@navigation/types';
import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -71,64 +69,61 @@ function CategorySettingsPage({route, policyCategories}: CategorySettingsPagePro
];
return (
-
-
-
-
+
+
+ setDeleteCategoryConfirmModalVisible(false)}
+ title={translate('workspace.categories.deleteCategory')}
+ prompt={translate('workspace.categories.deleteCategoryPrompt')}
+ confirmText={translate('common.delete')}
+ cancelText={translate('common.cancel')}
+ danger
+ />
+
+ Policy.clearCategoryErrors(route.params.policyID, route.params.categoryName)}
>
-
- setDeleteCategoryConfirmModalVisible(false)}
- title={translate('workspace.categories.deleteCategory')}
- prompt={translate('workspace.categories.deleteCategoryPrompt')}
- confirmText={translate('common.delete')}
- cancelText={translate('common.cancel')}
- danger
- />
-
- Policy.clearCategoryErrors(route.params.policyID, route.params.categoryName)}
- >
-
-
- {translate('workspace.categories.enableCategory')}
-
-
-
-
-
-
+
+ {translate('workspace.categories.enableCategory')}
+
-
+
-
-
-
-
+
+
+
+
+
+
+
);
}
diff --git a/src/pages/workspace/categories/CreateCategoryPage.tsx b/src/pages/workspace/categories/CreateCategoryPage.tsx
index b31207e73208..752ab5b53cfa 100644
--- a/src/pages/workspace/categories/CreateCategoryPage.tsx
+++ b/src/pages/workspace/categories/CreateCategoryPage.tsx
@@ -9,9 +9,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -38,30 +36,27 @@ function CreateCategoryPage({route, policyCategories}: CreateCategoryPageProps)
);
return (
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
);
}
diff --git a/src/pages/workspace/categories/EditCategoryPage.tsx b/src/pages/workspace/categories/EditCategoryPage.tsx
index dbf7c8913515..201329b539a9 100644
--- a/src/pages/workspace/categories/EditCategoryPage.tsx
+++ b/src/pages/workspace/categories/EditCategoryPage.tsx
@@ -9,9 +9,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -60,32 +58,29 @@ function EditCategoryPage({route, policyCategories}: EditCategoryPageProps) {
);
return (
-
-
-
-
- Navigation.goBack(ROUTES.WORKSPACE_CATEGORY_SETTINGS.getRoute(route.params.policyID, route.params.categoryName))}
- />
-
-
-
-
-
+
+
+ Navigation.goBack(ROUTES.WORKSPACE_CATEGORY_SETTINGS.getRoute(route.params.policyID, route.params.categoryName))}
+ />
+
+
+
);
}
diff --git a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx
index 96f2415cae86..82f7489548f7 100644
--- a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx
+++ b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx
@@ -29,9 +29,7 @@ import * as DeviceCapabilities from '@libs/DeviceCapabilities';
import localeCompare from '@libs/LocaleCompare';
import Navigation from '@libs/Navigation/Navigation';
import * as PolicyUtils from '@libs/PolicyUtils';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import * as Policy from '@userActions/Policy';
@@ -249,85 +247,82 @@ function WorkspaceCategoriesPage({policy, route}: WorkspaceCategoriesPageProps)
const shouldShowEmptyState = !categoryList.some((category) => category.pendingAction !== CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE) && !isLoading;
return (
-
-
-
+
+
-
-
- {!isSmallScreenWidth && getHeaderButtons()}
-
- setDeleteCategoriesConfirmModalVisible(false)}
- title={translate(selectedCategoriesArray.length === 1 ? 'workspace.categories.deleteCategory' : 'workspace.categories.deleteCategories')}
- prompt={translate(selectedCategoriesArray.length === 1 ? 'workspace.categories.deleteCategoryPrompt' : 'workspace.categories.deleteCategoriesPrompt')}
- confirmText={translate('common.delete')}
- cancelText={translate('common.cancel')}
- danger
- />
- {isSmallScreenWidth && {getHeaderButtons()}}
-
- {Object.keys(policy?.connections ?? {}).length > 0 ? (
-
- {`${translate('workspace.categories.importedFromAccountingSoftware')} `}
-
- {`${translate('workspace.accounting.qbo')} ${translate('workspace.accounting.settings')}`}
-
-
- ) : (
- {translate('workspace.categories.subtitle')}
- )}
-
- {isLoading && (
-
- )}
- {shouldShowEmptyState && (
-
- )}
- {!shouldShowEmptyState && !isLoading && (
-
- )}
-
-
-
-
+ {!isSmallScreenWidth && getHeaderButtons()}
+
+ setDeleteCategoriesConfirmModalVisible(false)}
+ title={translate(selectedCategoriesArray.length === 1 ? 'workspace.categories.deleteCategory' : 'workspace.categories.deleteCategories')}
+ prompt={translate(selectedCategoriesArray.length === 1 ? 'workspace.categories.deleteCategoryPrompt' : 'workspace.categories.deleteCategoriesPrompt')}
+ confirmText={translate('common.delete')}
+ cancelText={translate('common.cancel')}
+ danger
+ />
+ {isSmallScreenWidth && {getHeaderButtons()}}
+
+ {Object.keys(policy?.connections ?? {}).length > 0 ? (
+
+ {`${translate('workspace.categories.importedFromAccountingSoftware')} `}
+
+ {`${translate('workspace.accounting.qbo')} ${translate('workspace.accounting.settings')}`}
+
+
+ ) : (
+ {translate('workspace.categories.subtitle')}
+ )}
+
+ {isLoading && (
+
+ )}
+ {shouldShowEmptyState && (
+
+ )}
+ {!shouldShowEmptyState && !isLoading && (
+
+ )}
+
+
);
}
diff --git a/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx
index fe07c26e686d..3b4947b02c56 100644
--- a/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx
+++ b/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx
@@ -7,9 +7,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import {setWorkspaceRequiresCategory} from '@libs/actions/Policy';
import * as OptionsListUtils from '@libs/OptionsListUtils';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow';
@@ -32,35 +30,32 @@ function WorkspaceCategoriesSettingsPage({policy, route}: WorkspaceCategoriesSet
const hasEnabledOptions = OptionsListUtils.hasEnabledOptions(policyCategories ?? {});
return (
-
-
-
-
-
-
- Policy.clearPolicyErrorField(policy?.id ?? '', 'requiresCategory')}
- />
-
-
-
-
-
+
+
+
+
+ Policy.clearPolicyErrorField(policy?.id ?? '', 'requiresCategory')}
+ />
+
+
+
);
}
diff --git a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx
index 1d01856992f9..a103d4b61e09 100644
--- a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx
+++ b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx
@@ -14,9 +14,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
import {getOptimisticRateName, validateRateValue} from '@libs/PolicyDistanceRatesUtils';
import Navigation from '@navigation/Navigation';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import {createPolicyDistanceRate, generateCustomUnitID} from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -60,44 +58,41 @@ function CreateDistanceRatePage({policy, route}: CreateDistanceRatePageProps) {
};
return (
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
);
}
diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx
index a1716405da8b..a75fc74c33cc 100644
--- a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx
+++ b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx
@@ -18,9 +18,7 @@ import * as CurrencyUtils from '@libs/CurrencyUtils';
import * as ErrorUtils from '@libs/ErrorUtils';
import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -93,77 +91,74 @@ function PolicyDistanceRateDetailsPage({policy, route}: PolicyDistanceRateDetail
};
return (
-
-
-
-
+
+
+
+ clearErrorFields('enabled')}
>
-
-
- clearErrorFields('enabled')}
- >
-
- {translate('workspace.distanceRates.enableRate')}
-
-
-
- clearErrorFields('rate')}
- >
-
-
- setIsWarningModalVisible(false)}
- isVisible={isWarningModalVisible}
- title={translate('workspace.distanceRates.oopsNotSoFast')}
- prompt={translate('workspace.distanceRates.workspaceNeeds')}
- confirmText={translate('common.buttonConfirm')}
- shouldShowCancelButton={false}
- />
- setIsDeleteModalVisible(false)}
- prompt={translate('workspace.distanceRates.areYouSureDelete', {count: 1})}
- confirmText={translate('common.delete')}
- cancelText={translate('common.cancel')}
- danger
+
+ {translate('workspace.distanceRates.enableRate')}
+
-
-
-
-
+
+ clearErrorFields('rate')}
+ >
+
+
+ setIsWarningModalVisible(false)}
+ isVisible={isWarningModalVisible}
+ title={translate('workspace.distanceRates.oopsNotSoFast')}
+ prompt={translate('workspace.distanceRates.workspaceNeeds')}
+ confirmText={translate('common.buttonConfirm')}
+ shouldShowCancelButton={false}
+ />
+ setIsDeleteModalVisible(false)}
+ prompt={translate('workspace.distanceRates.areYouSureDelete', {count: 1})}
+ confirmText={translate('common.delete')}
+ cancelText={translate('common.cancel')}
+ danger
+ />
+
+
+
);
}
diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx
index f44175f09e3f..6c853557e01a 100644
--- a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx
+++ b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx
@@ -15,9 +15,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@libs/Navigation/Navigation';
import {validateRateValue} from '@libs/PolicyDistanceRatesUtils';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -57,49 +55,46 @@ function PolicyDistanceRateEditPage({policy, route}: PolicyDistanceRateEditPageP
);
return (
-
-
-
+
+ Navigation.goBack()}
+ />
+
-
- Navigation.goBack()}
- />
-
-
-
-
-
-
-
+
+
+
+
);
}
diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx
index ea35526bcdfa..f1e4b05e1445 100644
--- a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx
+++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx
@@ -25,9 +25,7 @@ import * as CurrencyUtils from '@libs/CurrencyUtils';
import * as DeviceCapabilities from '@libs/DeviceCapabilities';
import Navigation from '@libs/Navigation/Navigation';
import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import ButtonWithDropdownMenu from '@src/components/ButtonWithDropdownMenu';
import CONST from '@src/CONST';
@@ -266,73 +264,70 @@ function PolicyDistanceRatesPage({policy, route}: PolicyDistanceRatesPageProps)
);
return (
-
-
-
+
+
-
-
- {!isSmallScreenWidth && headerButtons}
-
- {isSmallScreenWidth && {headerButtons}}
-
- {translate('workspace.distanceRates.centrallyManage')}
-
- {isLoading && (
-
- )}
- {Object.values(customUnitRates).length > 0 && (
-
- )}
- setIsWarningModalVisible(false)}
- isVisible={isWarningModalVisible}
- title={translate('workspace.distanceRates.oopsNotSoFast')}
- prompt={translate('workspace.distanceRates.workspaceNeeds')}
- confirmText={translate('common.buttonConfirm')}
- shouldShowCancelButton={false}
- />
- setIsDeleteModalVisible(false)}
- prompt={translate('workspace.distanceRates.areYouSureDelete', {count: selectedDistanceRates.length})}
- confirmText={translate('common.delete')}
- cancelText={translate('common.cancel')}
- danger
- />
-
-
-
-
+ {!isSmallScreenWidth && headerButtons}
+
+ {isSmallScreenWidth && {headerButtons}}
+
+ {translate('workspace.distanceRates.centrallyManage')}
+
+ {isLoading && (
+
+ )}
+ {Object.values(customUnitRates).length > 0 && (
+
+ )}
+ setIsWarningModalVisible(false)}
+ isVisible={isWarningModalVisible}
+ title={translate('workspace.distanceRates.oopsNotSoFast')}
+ prompt={translate('workspace.distanceRates.workspaceNeeds')}
+ confirmText={translate('common.buttonConfirm')}
+ shouldShowCancelButton={false}
+ />
+ setIsDeleteModalVisible(false)}
+ prompt={translate('workspace.distanceRates.areYouSureDelete', {count: selectedDistanceRates.length})}
+ confirmText={translate('common.delete')}
+ cancelText={translate('common.cancel')}
+ danger
+ />
+
+
);
}
diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx
index 0cf5c133e37f..d756084e5e49 100644
--- a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx
+++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx
@@ -13,9 +13,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
import * as ErrorUtils from '@libs/ErrorUtils';
import * as OptionsListUtils from '@libs/OptionsListUtils';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -68,53 +66,50 @@ function PolicyDistanceRatesSettingsPage({policy, policyCategories, route}: Poli
};
return (
-
-
-
-
+
+
+
+ clearErrorFields('attributes')}
>
-
-
- clearErrorFields('attributes')}
- >
-
-
- {policy?.areCategoriesEnabled && OptionsListUtils.hasEnabledOptions(policyCategories ?? {}) && (
- clearErrorFields('defaultCategory')}
- >
-
-
- )}
-
-
-
-
-
+
+
+ {policy?.areCategoriesEnabled && OptionsListUtils.hasEnabledOptions(policyCategories ?? {}) && (
+ clearErrorFields('defaultCategory')}
+ >
+
+
+ )}
+
+
+
);
}
diff --git a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx
index 32b43a230619..7b2aa78545f2 100644
--- a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx
+++ b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx
@@ -21,8 +21,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
import * as UserUtils from '@libs/UserUtils';
import Navigation from '@navigation/Navigation';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import * as Policy from '@userActions/Policy';
@@ -129,89 +128,90 @@ function WorkspaceMemberDetailsPage({personalDetails, policy, route}: WorkspaceM
}, [accountID, policyID]);
return (
-
-
-
-
-
-
-
-
-
- {Boolean(details.displayName ?? '') && (
-
- {displayName}
-
- )}
- {isSelectedMemberOwner && isCurrentUserAdmin && !isCurrentUserOwner ? (
-
- ) : (
-
- )}
- setIsRemoveMemberConfirmModalVisible(false)}
- prompt={translate('workspace.people.removeMemberPrompt', {memberName: displayName})}
- confirmText={translate('common.remove')}
- cancelText={translate('common.cancel')}
+
+
+
+
+
+
+
-
-
-
+ {Boolean(details.displayName ?? '') && (
+
+ {displayName}
+
+ )}
+ {isSelectedMemberOwner && isCurrentUserAdmin && !isCurrentUserOwner ? (
+
-
- setIsRoleSelectionModalVisible(false)}
- />
-
+ )}
+ setIsRemoveMemberConfirmModalVisible(false)}
+ prompt={translate('workspace.people.removeMemberPrompt', {memberName: displayName})}
+ confirmText={translate('common.remove')}
+ cancelText={translate('common.cancel')}
+ />
+
+
+
+
+ setIsRoleSelectionModalVisible(false)}
+ />
-
-
-
+
+
+
);
}
diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx
index 8604ba23fc92..7f0d14801b66 100644
--- a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx
+++ b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx
@@ -13,8 +13,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@navigation/Navigation';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as PolicyActions from '@userActions/Policy';
import CONST from '@src/CONST';
import ROUTES from '@src/ROUTES';
@@ -36,41 +35,42 @@ function WorkspaceOwnerChangeErrorPage({route}: WorkspaceOwnerChangeSuccessPageP
}, [accountID, policyID]);
return (
-
-
-
-
+
+
+
+
-
-
- {translate('workspace.changeOwner.errorTitle')}
-
- {translate('workspace.changeOwner.errorDescriptionPartOne')}{' '}
- {translate('workspace.changeOwner.errorDescriptionPartTwo')}{' '}
- {translate('workspace.changeOwner.errorDescriptionPartThree')}
-
-
-
-
-
-
-
-
+ {translate('workspace.changeOwner.errorTitle')}
+
+ {translate('workspace.changeOwner.errorDescriptionPartOne')}{' '}
+ {translate('workspace.changeOwner.errorDescriptionPartTwo')}{' '}
+ {translate('workspace.changeOwner.errorDescriptionPartThree')}
+
+
+
+
+
+
+
);
}
diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx
index c4968128df06..1460808cd078 100644
--- a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx
+++ b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx
@@ -8,9 +8,9 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@navigation/Navigation';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as PolicyActions from '@userActions/Policy';
+import CONST from '@src/CONST';
import ROUTES from '@src/ROUTES';
import type SCREENS from '@src/SCREENS';
@@ -30,25 +30,26 @@ function WorkspaceOwnerChangeSuccessPage({route}: WorkspaceOwnerChangeSuccessPag
}, [accountID, policyID]);
return (
-
-
-
-
-
-
-
-
+
+
+
+
+
+
);
}
diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx
index 6eda891a8fc9..16afaa147157 100644
--- a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx
+++ b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx
@@ -9,8 +9,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@navigation/Navigation';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import withPolicy from '@pages/workspace/withPolicy';
import type {WithPolicyOnyxProps} from '@pages/workspace/withPolicy';
import * as PolicyActions from '@userActions/Policy';
@@ -55,33 +54,34 @@ function WorkspaceOwnerChangeWrapperPage({route, policy}: WorkspaceOwnerChangeWr
}, [accountID, policy, policy?.errorFields?.changeOwner, policyID]);
return (
-
-
-
- {
- PolicyActions.clearWorkspaceOwnerChangeFlow(policyID);
- Navigation.goBack();
- Navigation.navigate(ROUTES.WORKSPACE_MEMBER_DETAILS.getRoute(policyID, accountID));
- }}
- />
-
- {policy?.isLoading && }
- {!policy?.isLoading &&
- (error === CONST.POLICY.OWNERSHIP_ERRORS.NO_BILLING_CARD ? (
-
- ) : (
-
- ))}
-
-
-
-
+
+
+ {
+ PolicyActions.clearWorkspaceOwnerChangeFlow(policyID);
+ Navigation.goBack();
+ Navigation.navigate(ROUTES.WORKSPACE_MEMBER_DETAILS.getRoute(policyID, accountID));
+ }}
+ />
+
+ {policy?.isLoading && }
+ {!policy?.isLoading &&
+ (error === CONST.POLICY.OWNERSHIP_ERRORS.NO_BILLING_CARD ? (
+
+ ) : (
+
+ ))}
+
+
+
);
}
diff --git a/src/pages/workspace/tags/EditTagPage.tsx b/src/pages/workspace/tags/EditTagPage.tsx
index d329d74dbca0..98b681955169 100644
--- a/src/pages/workspace/tags/EditTagPage.tsx
+++ b/src/pages/workspace/tags/EditTagPage.tsx
@@ -16,9 +16,7 @@ import Navigation from '@libs/Navigation/Navigation';
import * as PolicyUtils from '@libs/PolicyUtils';
import * as ValidationUtils from '@libs/ValidationUtils';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -69,45 +67,42 @@ function EditTagPage({route, policyTags}: EditTagPageProps) {
);
return (
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
);
}
diff --git a/src/pages/workspace/tags/TagSettingsPage.tsx b/src/pages/workspace/tags/TagSettingsPage.tsx
index 3e0b8eae30ee..ed88a1a9b636 100644
--- a/src/pages/workspace/tags/TagSettingsPage.tsx
+++ b/src/pages/workspace/tags/TagSettingsPage.tsx
@@ -20,9 +20,7 @@ import Navigation from '@libs/Navigation/Navigation';
import * as PolicyUtils from '@libs/PolicyUtils';
import type {SettingsNavigatorParamList} from '@navigation/types';
import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -67,72 +65,69 @@ function TagSettingsPage({route, policyTags}: TagSettingsPageProps) {
};
return (
-
-
-
-
+
+ setIsDeleteTagModalOpen(true),
+ },
+ ]}
+ />
+ setIsDeleteTagModalOpen(false)}
+ shouldSetModalVisibility={false}
+ prompt={translate('workspace.tags.deleteTagConfirmation')}
+ confirmText={translate('common.delete')}
+ cancelText={translate('common.cancel')}
+ danger
+ />
+
+ Policy.clearPolicyTagErrors(route.params.policyID, route.params.tagName)}
>
- setIsDeleteTagModalOpen(true),
- },
- ]}
- />
- setIsDeleteTagModalOpen(false)}
- shouldSetModalVisibility={false}
- prompt={translate('workspace.tags.deleteTagConfirmation')}
- confirmText={translate('common.delete')}
- cancelText={translate('common.cancel')}
- danger
- />
-
- Policy.clearPolicyTagErrors(route.params.policyID, route.params.tagName)}
- >
-
-
- {translate('workspace.tags.enableTag')}
-
-
-
-
-
-
+
+ {translate('workspace.tags.enableTag')}
+
-
+
-
-
-
-
+
+
+
+
+
+
+
);
}
diff --git a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx
index 346d56891dd5..5ff60afe12f1 100644
--- a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx
+++ b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx
@@ -17,9 +17,7 @@ import Navigation from '@libs/Navigation/Navigation';
import * as PolicyUtils from '@libs/PolicyUtils';
import * as ValidationUtils from '@libs/ValidationUtils';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import * as Policy from '@userActions/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
@@ -69,44 +67,41 @@ function CreateTagPage({route, policyTags}: CreateTagPageProps) {
);
return (
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
);
}
diff --git a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx
index ffee71bd5011..fed48c5fe4be 100644
--- a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx
+++ b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx
@@ -16,9 +16,7 @@ import * as Policy from '@libs/actions/Policy';
import Navigation from '@libs/Navigation/Navigation';
import * as PolicyUtils from '@libs/PolicyUtils';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import type SCREENS from '@src/SCREENS';
@@ -57,42 +55,39 @@ function WorkspaceEditTagsPage({route, policyTags}: WorkspaceEditTagsPageProps)
);
return (
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
);
}
diff --git a/src/pages/workspace/tags/WorkspaceTagsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsPage.tsx
index 5c867ef43090..219137e2b899 100644
--- a/src/pages/workspace/tags/WorkspaceTagsPage.tsx
+++ b/src/pages/workspace/tags/WorkspaceTagsPage.tsx
@@ -28,9 +28,7 @@ import * as DeviceCapabilities from '@libs/DeviceCapabilities';
import localeCompare from '@libs/LocaleCompare';
import Navigation from '@libs/Navigation/Navigation';
import * as PolicyUtils from '@libs/PolicyUtils';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import * as Policy from '@userActions/Policy';
@@ -256,85 +254,82 @@ function WorkspaceTagsPage({route, policy}: WorkspaceTagsPageProps) {
};
return (
-
-
-
+
+
-
-
- {!isSmallScreenWidth && getHeaderButtons()}
-
- setDeleteTagsConfirmModalVisible(false)}
- title={translate(selectedTagsArray.length === 1 ? 'workspace.tags.deleteTag' : 'workspace.tags.deleteTags')}
- prompt={translate(selectedTagsArray.length === 1 ? 'workspace.tags.deleteTagConfirmation' : 'workspace.tags.deleteTagsConfirmation')}
- confirmText={translate('common.delete')}
- cancelText={translate('common.cancel')}
- danger
- />
- {isSmallScreenWidth && {getHeaderButtons()}}
-
- {isConnectedToAccounting ? (
-
- {`${translate('workspace.tags.importedFromAccountingSoftware')} `}
-
- {`${translate('workspace.accounting.qbo')} ${translate('workspace.accounting.settings')}`}
-
-
- ) : (
- {translate('workspace.tags.subtitle')}
- )}
-
- {isLoading && (
-
- )}
- {tagList.length === 0 && !isLoading && (
-
- )}
- {tagList.length > 0 && !isLoading && (
- Policy.clearPolicyTagErrors(policyID, item.value)}
- />
- )}
-
-
-
-
+ {!isSmallScreenWidth && getHeaderButtons()}
+
+ setDeleteTagsConfirmModalVisible(false)}
+ title={translate(selectedTagsArray.length === 1 ? 'workspace.tags.deleteTag' : 'workspace.tags.deleteTags')}
+ prompt={translate(selectedTagsArray.length === 1 ? 'workspace.tags.deleteTagConfirmation' : 'workspace.tags.deleteTagsConfirmation')}
+ confirmText={translate('common.delete')}
+ cancelText={translate('common.cancel')}
+ danger
+ />
+ {isSmallScreenWidth && {getHeaderButtons()}}
+
+ {isConnectedToAccounting ? (
+
+ {`${translate('workspace.tags.importedFromAccountingSoftware')} `}
+
+ {`${translate('workspace.accounting.qbo')} ${translate('workspace.accounting.settings')}`}
+
+
+ ) : (
+ {translate('workspace.tags.subtitle')}
+ )}
+
+ {isLoading && (
+
+ )}
+ {tagList.length === 0 && !isLoading && (
+
+ )}
+ {tagList.length > 0 && !isLoading && (
+ Policy.clearPolicyTagErrors(policyID, item.value)}
+ />
+ )}
+
+
);
}
diff --git a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx
index b421698b8f2f..90b8dc16952a 100644
--- a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx
+++ b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx
@@ -15,9 +15,7 @@ import * as Policy from '@libs/actions/Policy';
import Navigation from '@libs/Navigation/Navigation';
import * as PolicyUtils from '@libs/PolicyUtils';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import ROUTES from '@src/ROUTES';
@@ -42,54 +40,51 @@ function WorkspaceTagsSettingsPage({route, policyTags}: WorkspaceTagsSettingsPag
[route.params.policyID],
);
return (
-
-
-
+ {({policy}) => (
+
- {({policy}) => (
-
+
+
-
-
-
-
-
- {translate('workspace.tags.requiresTag')}
-
-
-
-
-
- Navigation.navigate(ROUTES.WORKSPACE_EDIT_TAGS.getRoute(route.params.policyID))}
- shouldShowRightIcon
+
+
+ {translate('workspace.tags.requiresTag')}
+
-
+
-
- )}
-
-
-
+
+
+ Navigation.navigate(ROUTES.WORKSPACE_EDIT_TAGS.getRoute(route.params.policyID))}
+ shouldShowRightIcon
+ />
+
+
+
+ )}
+
);
}
diff --git a/src/pages/workspace/taxes/NamePage.tsx b/src/pages/workspace/taxes/NamePage.tsx
index 5c77295a9664..dfcad933b7b0 100644
--- a/src/pages/workspace/taxes/NamePage.tsx
+++ b/src/pages/workspace/taxes/NamePage.tsx
@@ -16,9 +16,7 @@ import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
import * as PolicyUtils from '@libs/PolicyUtils';
import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import CONST from '@src/CONST';
@@ -69,48 +67,45 @@ function NamePage({
}
return (
-
-
-
+
+
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
);
}
diff --git a/src/pages/workspace/taxes/ValuePage.tsx b/src/pages/workspace/taxes/ValuePage.tsx
index c062b6a13f62..d73e5997a5ed 100644
--- a/src/pages/workspace/taxes/ValuePage.tsx
+++ b/src/pages/workspace/taxes/ValuePage.tsx
@@ -15,9 +15,7 @@ import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
import * as PolicyUtils from '@libs/PolicyUtils';
import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import CONST from '@src/CONST';
@@ -55,52 +53,49 @@ function ValuePage({
}
return (
-
-
-
-
-
+
+
+
-
- %}
- ref={inputCallbackRef}
- />
-
-
-
-
-
+
+ %}
+ ref={inputCallbackRef}
+ />
+
+
+
);
}
diff --git a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx
index e76e57768963..ab1b2f252f1e 100644
--- a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx
+++ b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx
@@ -14,9 +14,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
import {createPolicyTax, getNextTaxCode, getTaxValueWithPercentage, validateTaxName, validateTaxValue} from '@libs/actions/TaxRate';
import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import CONST from '@src/CONST';
@@ -63,62 +61,59 @@ function WorkspaceCreateTaxPage({
);
return (
-
-
-
-
+
+
+
+
-
-
-
-
-
- (v ? getTaxValueWithPercentage(v) : '')}
- description={translate('workspace.taxes.value')}
- rightLabel={translate('common.required')}
- hideCurrencySymbol
- // The default currency uses 2 decimal places, so we substract it
- extraDecimals={CONST.MAX_TAX_RATE_DECIMAL_PLACES - 2}
- // We increase the amount max length to support the extra decimals.
- amountMaxLength={CONST.MAX_TAX_RATE_DECIMAL_PLACES + CONST.MAX_TAX_RATE_INTEGER_PLACES}
- extraSymbol={%}
- />
-
-
+
+
+ (v ? getTaxValueWithPercentage(v) : '')}
+ description={translate('workspace.taxes.value')}
+ rightLabel={translate('common.required')}
+ hideCurrencySymbol
+ // The default currency uses 2 decimal places, so we substract it
+ extraDecimals={CONST.MAX_TAX_RATE_DECIMAL_PLACES - 2}
+ // We increase the amount max length to support the extra decimals.
+ amountMaxLength={CONST.MAX_TAX_RATE_DECIMAL_PLACES + CONST.MAX_TAX_RATE_INTEGER_PLACES}
+ extraSymbol={%}
+ />
-
-
-
-
+
+
+
+
);
}
diff --git a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx
index ec04b77df3ca..8ccff7b4e126 100644
--- a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx
+++ b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx
@@ -19,9 +19,7 @@ import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
import * as PolicyUtils from '@libs/PolicyUtils';
import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import CONST from '@src/CONST';
@@ -75,86 +73,83 @@ function WorkspaceEditTaxPage({
}
return (
-
-
-
-
+
+
+
+ clearTaxRateFieldError(policyID, taxID, 'isDisabled')}
>
-
-
- clearTaxRateFieldError(policyID, taxID, 'isDisabled')}
- >
-
-
- {translate('workspace.taxes.actions.enable')}
-
-
-
-
- clearTaxRateFieldError(policyID, taxID, 'name')}
- >
- Navigation.navigate(ROUTES.WORKSPACE_TAX_NAME.getRoute(`${policyID}`, taxID))}
+
+
+ {translate('workspace.taxes.actions.enable')}
+
-
- clearTaxRateFieldError(policyID, taxID, 'value')}
- >
- Navigation.navigate(ROUTES.WORKSPACE_TAX_VALUE.getRoute(`${policyID}`, taxID))}
- />
-
+
- setIsDeleteModalVisible(false)}
- prompt={translate('workspace.taxes.deleteTaxConfirmation')}
- confirmText={translate('common.delete')}
- cancelText={translate('common.cancel')}
- danger
+
+ clearTaxRateFieldError(policyID, taxID, 'name')}
+ >
+ Navigation.navigate(ROUTES.WORKSPACE_TAX_NAME.getRoute(`${policyID}`, taxID))}
+ />
+
+ clearTaxRateFieldError(policyID, taxID, 'value')}
+ >
+ Navigation.navigate(ROUTES.WORKSPACE_TAX_VALUE.getRoute(`${policyID}`, taxID))}
/>
-
-
-
-
+
+
+ setIsDeleteModalVisible(false)}
+ prompt={translate('workspace.taxes.deleteTaxConfirmation')}
+ confirmText={translate('common.delete')}
+ cancelText={translate('common.cancel')}
+ danger
+ />
+
+
);
}
diff --git a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx
index a61c8ae72734..a8e94928709d 100644
--- a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx
+++ b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx
@@ -27,9 +27,7 @@ import * as ErrorUtils from '@libs/ErrorUtils';
import Navigation from '@libs/Navigation/Navigation';
import * as PolicyUtils from '@libs/PolicyUtils';
import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import CONST from '@src/CONST';
@@ -238,69 +236,66 @@ function WorkspaceTaxesPage({
);
return (
-
-
-
+
+
-
-
- {!isSmallScreenWidth && headerButtons}
-
+ {!isSmallScreenWidth && headerButtons}
+
- {isSmallScreenWidth && {headerButtons}}
+ {isSmallScreenWidth && {headerButtons}}
-
- {translate('workspace.taxes.subtitle')}
-
- {isLoading && (
-
- )}
- (item.keyForList ? clearTaxRateError(policyID, item.keyForList, item.pendingAction) : undefined)}
- />
- setIsDeleteModalVisible(false)}
- prompt={
- selectedTaxesIDs.length > 1
- ? translate('workspace.taxes.deleteMultipleTaxConfirmation', {taxAmount: selectedTaxesIDs.length})
- : translate('workspace.taxes.deleteTaxConfirmation')
- }
- confirmText={translate('common.delete')}
- cancelText={translate('common.cancel')}
- danger
- />
-
-
-
-
+
+ {translate('workspace.taxes.subtitle')}
+
+ {isLoading && (
+
+ )}
+ (item.keyForList ? clearTaxRateError(policyID, item.keyForList, item.pendingAction) : undefined)}
+ />
+ setIsDeleteModalVisible(false)}
+ prompt={
+ selectedTaxesIDs.length > 1
+ ? translate('workspace.taxes.deleteMultipleTaxConfirmation', {taxAmount: selectedTaxesIDs.length})
+ : translate('workspace.taxes.deleteTaxConfirmation')
+ }
+ confirmText={translate('common.delete')}
+ cancelText={translate('common.cancel')}
+ danger
+ />
+
+
);
}
diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx
index e9e359d9d059..9b65a7b44138 100644
--- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx
+++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx
@@ -14,9 +14,7 @@ import {setPolicyCustomTaxName} from '@libs/actions/Policy';
import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
import * as ValidationUtils from '@libs/ValidationUtils';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import CONST from '@src/CONST';
@@ -55,47 +53,44 @@ function WorkspaceTaxesSettingsCustomTaxName({
};
return (
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
);
}
diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx
index 3081df55fe69..b006732aec7b 100644
--- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx
+++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx
@@ -11,9 +11,7 @@ import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
import type * as OptionsListUtils from '@libs/OptionsListUtils';
import * as TransactionUtils from '@libs/TransactionUtils';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import CONST from '@src/CONST';
@@ -44,36 +42,33 @@ function WorkspaceTaxesSettingsForeignCurrency({
};
return (
-
-
-
-
- {({insets}) => (
- <>
-
+
+
+ {({insets}) => (
+ <>
+
-
-
-
- >
- )}
-
-
-
-
+
+
+
+ >
+ )}
+
+
);
}
diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx
index 8fbfa7b79292..bfd688facc5f 100644
--- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx
+++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx
@@ -10,9 +10,7 @@ import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import CONST from '@src/CONST';
@@ -55,40 +53,37 @@ function WorkspaceTaxesSettingsPage({
);
return (
-
-
-
-
-
-
-
- {menuItems.map((item) => (
-
-
-
- ))}
-
-
-
-
-
-
+
+
+
+
+
+ {menuItems.map((item) => (
+
+
+
+ ))}
+
+
+
+
);
}
diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx
index 630560f864b4..e1ecfbde3a37 100644
--- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx
+++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx
@@ -11,9 +11,7 @@ import Navigation from '@libs/Navigation/Navigation';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
import type * as OptionsListUtils from '@libs/OptionsListUtils';
import * as TransactionUtils from '@libs/TransactionUtils';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import CONST from '@src/CONST';
@@ -40,36 +38,33 @@ function WorkspaceTaxesSettingsWorkspaceCurrency({
};
return (
-
-
-
-
- {({insets}) => (
- <>
-
+
+
+ {({insets}) => (
+ <>
+
-
-
-
- >
- )}
-
-
-
-
+
+
+
+ >
+ )}
+
+
);
}
diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx
index 5d2297f47ddd..07553baba356 100644
--- a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx
+++ b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx
@@ -15,7 +15,7 @@ import * as Localize from '@libs/Localize';
import Navigation from '@libs/Navigation/Navigation';
import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types';
import * as PolicyUtils from '@libs/PolicyUtils';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import withPolicy from '@pages/workspace/withPolicy';
import type {WithPolicyOnyxProps} from '@pages/workspace/withPolicy';
import * as Policy from '@userActions/Policy';
@@ -118,7 +118,7 @@ function WorkspaceAutoReportingFrequencyPage({policy, route}: WorkspaceAutoRepor
);
return (
-
@@ -149,7 +149,7 @@ function WorkspaceAutoReportingFrequencyPage({policy, route}: WorkspaceAutoRepor
-
+
);
}
diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx
index 0b44d6c565d1..614e17e5b9c9 100644
--- a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx
+++ b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx
@@ -10,7 +10,7 @@ import useLocalize from '@hooks/useLocalize';
import Navigation from '@libs/Navigation/Navigation';
import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types';
import * as PolicyUtils from '@libs/PolicyUtils';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import withPolicy from '@pages/workspace/withPolicy';
import type {WithPolicyOnyxProps} from '@pages/workspace/withPolicy';
import * as Policy from '@userActions/Policy';
@@ -72,7 +72,7 @@ function WorkspaceAutoReportingMonthlyOffsetPage({policy, route}: WorkspaceAutoR
};
return (
-
@@ -104,7 +104,7 @@ function WorkspaceAutoReportingMonthlyOffsetPage({policy, route}: WorkspaceAutoR
/>
-
+
);
}
diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx
index 74434fbdd1f8..0c12bace7a4d 100644
--- a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx
+++ b/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx
@@ -19,7 +19,7 @@ import * as OptionsListUtils from '@libs/OptionsListUtils';
import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils';
import * as PolicyUtils from '@libs/PolicyUtils';
import * as UserUtils from '@libs/UserUtils';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import * as Policy from '@userActions/Policy';
@@ -155,7 +155,7 @@ function WorkspaceWorkflowsApproverPage({policy, personalDetails, isLoadingRepor
};
return (
-
@@ -186,7 +186,7 @@ function WorkspaceWorkflowsApproverPage({policy, personalDetails, isLoadingRepor
/>
-
+
);
}
diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx
index 35412d768bcc..d5753f15c218 100644
--- a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx
+++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx
@@ -20,7 +20,7 @@ import Permissions from '@libs/Permissions';
import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils';
import * as PolicyUtils from '@libs/PolicyUtils';
import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types';
-import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicy from '@pages/workspace/withPolicy';
import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections';
@@ -264,7 +264,7 @@ function WorkspaceWorkflowsPage({policy, betas, route}: WorkspaceWorkflowsPagePr
const isLoading = Boolean(policy?.isLoading && policy?.reimbursementChoice === undefined);
return (
-
@@ -303,7 +303,7 @@ function WorkspaceWorkflowsPage({policy, betas, route}: WorkspaceWorkflowsPagePr
-
+
);
}
diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx
index 3bd4ab9003c5..889d8571357b 100644
--- a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx
+++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx
@@ -19,8 +19,7 @@ import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils';
import * as PolicyUtils from '@libs/PolicyUtils';
import * as UserUtils from '@libs/UserUtils';
import type {SettingsNavigatorParamList} from '@navigation/types';
-import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
-import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
+import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import * as Policy from '@userActions/Policy';
@@ -166,37 +165,38 @@ function WorkspaceWorkflowsPayerPage({route, policy, personalDetails, isLoadingR
);
return (
-
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
);
}