RocketChat/Rocket.Chat

View on GitHub
apps/meteor/client/views/account/security/AccountSecurityRoute.tsx

Summary

Maintainability
A
0 mins
Test Coverage
import { useSetting } from '@rocket.chat/ui-contexts';
import type { ReactElement } from 'react';
import React from 'react';

import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage';
import AccountSecurityPage from './AccountSecurityPage';

const AccountSecurityRoute = (): ReactElement => {
    const isTwoFactorEnabled = useSetting('Accounts_TwoFactorAuthentication_Enabled');
    const isE2EEnabled = useSetting('E2E_Enable');
    const allowPasswordChange = useSetting('Accounts_AllowPasswordChange');

    const canViewSecurity = isTwoFactorEnabled || isE2EEnabled || allowPasswordChange;

    if (!canViewSecurity) {
        return <NotAuthorizedPage />;
    }

    return <AccountSecurityPage />;
};

export default AccountSecurityRoute;