source

// Accounts route configuration with permission
export const accountPagesConfigs = [
{
permittedRole: [RoutePermittedRole.User, RoutePermittedRole.Admin],
path: '/my-profile',
element: <Account />,
},
];
Last updated

// Accounts route configuration with permission
export const accountPagesConfigs = [
{
permittedRole: [RoutePermittedRole.User, RoutePermittedRole.Admin],
path: '/my-profile',
element: <Account />,
},
];
Last updated
import React from 'react';
import { useRoutes } from 'react-router-dom';
import { Layouts } from '@crema/components/AppLayout';
import AppContentView from '@crema/components/AppContentView';
import generateRoutes from '@crema/utility/RouteGenerator';
import { useAuthUser } from '@crema/utility/AuthHooks';
import { useLayoutContext } from '@crema/context/LayoutContextProvider';
import {
anonymousStructure,
authorizedStructure,
unAuthorizedStructure,
} from '../AppRoutes';
import routesConfig from '../AppRoutes/routeConfig';
const AppLayout = () => {
const { navStyle } = useLayoutContext();
const { user, isAuthenticated } = useAuthUser();
const AppLayout = Layouts[navStyle];
const generatedRoutes = generateRoutes({
isAuthenticated: isAuthenticated,
userRole: user?.role,
unAuthorizedStructure,
authorizedStructure,
anonymousStructure,
});
const routes = useRoutes(generatedRoutes);
return (
<>
{isAuthenticated ? (
<AppLayout routes={routes} routesConfig={routesConfig} />
) : (
<AppContentView routes={routes} />
)}
</>
);
};
export default AppLayout;//Left Sidebar configuration
const routesConfig = [
{
id: 'extra-pages',
title: 'Extra Pages',
messageId: 'sidebar.pages.extraPages',
type: 'group',
children: [
{
id: 'account',
title: 'Account',
messageId: 'sidebar.pages.extraPages.account', //
type: 'item',
permittedRole: [RoutePermittedRole.User, RoutePermittedRole.Admin],
icon: <MdOutlineManageAccounts />,
url: '/my-profile',
},
...
],
}
...
]// Accounts route configuration with permission
export const accountPagesConfigs = [
{
permittedRole: [RoutePermittedRole.User, RoutePermittedRole.Admin],
path: '/my-profile',
element: <Account />,
},
];
// Directly accessing the lib module
import { SigninFirebase } from '@crema/modules/auth/SignIn';
export default SigninFirebase;