diff --git a/src/components/SupportalActionRestrictedModal.tsx b/src/components/SupportalActionRestrictedModal.tsx
new file mode 100644
index 000000000000..3af249a1f116
--- /dev/null
+++ b/src/components/SupportalActionRestrictedModal.tsx
@@ -0,0 +1,26 @@
+import React from 'react';
+import useLocalize from '@hooks/useLocalize';
+import ConfirmModal from './ConfirmModal';
+
+type SupportalActionRestrictedModalProps = {
+ isModalOpen: boolean;
+ hideSupportalModal: () => void;
+};
+
+function SupportalActionRestrictedModal({isModalOpen, hideSupportalModal}: SupportalActionRestrictedModalProps) {
+ const {translate} = useLocalize();
+ return (
+
+ );
+}
+
+SupportalActionRestrictedModal.displayName = 'SupportalActionRestrictedModal';
+
+export default SupportalActionRestrictedModal;
diff --git a/src/languages/en.ts b/src/languages/en.ts
index 58cbf779027d..fe791f4e18a4 100755
--- a/src/languages/en.ts
+++ b/src/languages/en.ts
@@ -480,6 +480,10 @@ const translations = {
chatWithAccountManager: ({accountManagerDisplayName}: ChatWithAccountManagerParams) => `Need something specific? Chat with your account manager, ${accountManagerDisplayName}.`,
chatNow: 'Chat now',
},
+ supportalNoAccess: {
+ title: 'Not so fast',
+ description: 'You are not authorized to take this action when support logged in.',
+ },
location: {
useCurrent: 'Use current location',
notFound: 'We were unable to find your location. Please try again or enter an address manually.',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index c5f1ffbc79dd..808fade00eba 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -471,6 +471,10 @@ const translations = {
chatWithAccountManager: ({accountManagerDisplayName}: ChatWithAccountManagerParams) => `¿Necesitas algo específico? Habla con tu gerente de cuenta, ${accountManagerDisplayName}.`,
chatNow: 'Chatear ahora',
},
+ supportalNoAccess: {
+ title: 'No tan rápido',
+ description: 'No estás autorizado para realizar esta acción mientras estás conectado como soporte.',
+ },
connectionComplete: {
title: 'Conexión completa',
supportingText: 'Ya puedes cerrar esta página y volver a la App de Expensify.',
diff --git a/src/pages/workspace/WorkspacesListPage.tsx b/src/pages/workspace/WorkspacesListPage.tsx
index 46f83a49b9f0..7980616c08e3 100755
--- a/src/pages/workspace/WorkspacesListPage.tsx
+++ b/src/pages/workspace/WorkspacesListPage.tsx
@@ -17,6 +17,7 @@ import type {PopoverMenuItem} from '@components/PopoverMenu';
import {PressableWithoutFeedback} from '@components/Pressable';
import ScreenWrapper from '@components/ScreenWrapper';
import ScrollView from '@components/ScrollView';
+import SupportalActionRestrictedModal from '@components/SupportalActionRestrictedModal';
import Text from '@components/Text';
import useActiveWorkspace from '@hooks/useActiveWorkspace';
import useLocalize from '@hooks/useLocalize';
@@ -131,6 +132,12 @@ function WorkspacesListPage() {
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
((policyToDelete?.areExpensifyCardsEnabled || policyToDelete?.areCompanyCardsEnabled) && policyToDelete?.workspaceAccountID);
+ const isSupportalAction = Session.isSupportAuthToken();
+
+ const [isSupportalActionRestrictedModalOpen, setIsSupportalActionRestrictedModalOpen] = useState(false);
+ const hideSupportalModal = () => {
+ setIsSupportalActionRestrictedModalOpen(false);
+ };
const confirmDeleteAndHideModal = () => {
if (!policyIDToDelete || !policyNameToDelete) {
return;
@@ -169,6 +176,10 @@ function WorkspacesListPage() {
icon: Expensicons.Trashcan,
text: translate('workspace.common.delete'),
onSelected: () => {
+ if (isSupportalAction) {
+ setIsSupportalActionRestrictedModalOpen(true);
+ return;
+ }
setPolicyIDToDelete(item.policyID ?? '-1');
setPolicyNameToDelete(item.title);
setIsDeleteModalOpen(true);
@@ -237,7 +248,18 @@ function WorkspacesListPage() {
);
},
- [isLessThanMediumScreen, styles.mb2, styles.mh5, styles.ph5, styles.hoveredComponentBG, translate, styles.offlineFeedback.deleted, session?.accountID, session?.email],
+ [
+ isLessThanMediumScreen,
+ styles.mb2,
+ styles.mh5,
+ styles.ph5,
+ styles.hoveredComponentBG,
+ translate,
+ styles.offlineFeedback.deleted,
+ session?.accountID,
+ session?.email,
+ isSupportalAction,
+ ],
);
const listHeaderComponent = useCallback(() => {
@@ -450,6 +472,10 @@ function WorkspacesListPage() {
cancelText={translate('common.cancel')}
danger
/>
+
);
}