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/client/views/omnichannel/OmnichannelRouter.tsx

32 lines
889 B

import React, { ReactNode, Suspense, useEffect, FC } from 'react';
import { SideNav } from '../../../app/ui-utils/client';
import PageSkeleton from '../../components/PageSkeleton';
import { useCurrentRoute, useRoute } from '../../contexts/RouterContext';
type OmnichannelRouterProps = {
renderRoute?: () => ReactNode;
};
const OmnichannelRouter: FC<OmnichannelRouterProps> = ({ renderRoute }) => {
const [routeName] = useCurrentRoute();
const defaultRoute = useRoute('omnichannel-current-chats');
useEffect(() => {
if (routeName === 'omnichannel-index') {
defaultRoute.push();
}
}, [defaultRoute, routeName]);
useEffect(() => {
SideNav.setFlex('omnichannelFlex');
SideNav.openFlex(() => undefined);
}, []);
return renderRoute ? (
<Suspense fallback={<PageSkeleton />}>{renderRoute()}</Suspense>
) : (
<PageSkeleton />
);
};
export default OmnichannelRouter;