The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/ee/client/startup/deviceManagement.ts

41 lines
1.5 KiB

import { lazy } from 'react';
import { hasAllPermission } from '../../../app/authorization/client';
import { registerAccountRoute, registerAccountSidebarItem, unregisterSidebarItem } from '../../../client/views/account';
import { registerAdminRoute, registerAdminSidebarItem, unregisterAdminSidebarItem } from '../../../client/views/admin';
import { onToggledFeature } from '../lib/onToggledFeature';
const [registerAdminRouter, unregisterAdminRouter] = registerAdminRoute('/device-management/:context?/:id?', {
name: 'device-management',
component: lazy(() => import('../views/admin/deviceManagement/DeviceManagementAdminRoute')),
ready: false,
});
const [registerAccountRouter, unregisterAccountRouter] = registerAccountRoute('/manage-devices/', {
name: 'manage-devices',
component: lazy(() => import('../views/account/deviceManagement/DeviceManagementAccountPage')),
});
onToggledFeature('device-management', {
up: () => {
registerAdminSidebarItem({
href: '/admin/device-management',
i18nLabel: 'Device_Management',
icon: 'mobile',
permissionGranted: () => hasAllPermission('view-device-management'),
});
registerAccountSidebarItem({
href: '/account/manage-devices',
i18nLabel: 'Manage_Devices',
icon: 'mobile',
});
registerAdminRouter();
registerAccountRouter();
},
down: () => {
unregisterAdminSidebarItem('Device_Management');
unregisterSidebarItem('Manage_Devices');
unregisterAdminRouter();
unregisterAccountRouter();
},
});