diff --git a/src/pages/settings/Security/SecuritySettingsPage.tsx b/src/pages/settings/Security/SecuritySettingsPage.tsx index b5d3d5a98fcb..c73f1406dfc7 100644 --- a/src/pages/settings/Security/SecuritySettingsPage.tsx +++ b/src/pages/settings/Security/SecuritySettingsPage.tsx @@ -23,6 +23,7 @@ import Section from '@components/Section'; import Text from '@components/Text'; import TextLink from '@components/TextLink'; import useLocalize from '@hooks/useLocalize'; +import usePermissions from '@hooks/usePermissions'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; import useWaitForNavigation from '@hooks/useWaitForNavigation'; @@ -49,6 +50,7 @@ function SecuritySettingsPage() { const {shouldUseNarrowLayout} = useResponsiveLayout(); const {windowWidth} = useWindowDimensions(); const personalDetails = usePersonalDetails(); + const {canUseMergeAccounts} = usePermissions(); const [account] = useOnyx(ONYXKEYS.ACCOUNT); const delegateButtonRef = useRef(null); @@ -117,18 +119,21 @@ function SecuritySettingsPage() { icon: Expensicons.Shield, action: isActingAsDelegate ? showDelegateNoAccessMenu : waitForNavigate(() => Navigation.navigate(ROUTES.SETTINGS_2FA_ROOT.getRoute())), }, - { + ]; + + if (canUseMergeAccounts) { + baseMenuItems.push({ translationKey: 'mergeAccountsPage.mergeAccount', icon: Expensicons.ArrowCollapse, - action: waitForNavigate(() => Navigation.navigate(ROUTES.SETTINGS_MERGE_ACCOUNTS.route)), - }, - { - translationKey: 'closeAccountPage.closeAccount', - icon: Expensicons.ClosedSign, - action: isActingAsDelegate ? showDelegateNoAccessMenu : waitForNavigate(() => Navigation.navigate(ROUTES.SETTINGS_CLOSE)), - }, - ]; + action: isActingAsDelegate ? showDelegateNoAccessMenu : waitForNavigate(() => Navigation.navigate(ROUTES.SETTINGS_MERGE_ACCOUNTS.route)), + }); + } + baseMenuItems.push({ + translationKey: 'closeAccountPage.closeAccount', + icon: Expensicons.ClosedSign, + action: isActingAsDelegate ? showDelegateNoAccessMenu : waitForNavigate(() => Navigation.navigate(ROUTES.SETTINGS_CLOSE)), + }); return baseMenuItems.map((item) => ({ key: item.translationKey, title: translate(item.translationKey as TranslationPaths), @@ -138,7 +143,7 @@ function SecuritySettingsPage() { link: '', wrapperStyle: [styles.sectionMenuItemTopDescription], })); - }, [translate, waitForNavigate, styles, isActingAsDelegate]); + }, [translate, waitForNavigate, styles, isActingAsDelegate, canUseMergeAccounts]); const delegateMenuItems: MenuItemProps[] = useMemo( () =>