Rev 3697 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react';
import { NavLink, useNavigate, useLocation, Outlet } from 'react-router-dom';
import { Box, Grid, styled } from '@mui/material';
import BookOutlined from '@mui/icons-material/BookOutlined';
import CottageOutlined from '@mui/icons-material/CottageOutlined';
import PersonOutline from '@mui/icons-material/PersonOutline';
import SignalCellularAltOutlined from '@mui/icons-material/SignalCellularAltOutlined';
import colors from '@styles/config/colors';
import SideMenu from '@components/UI/sidemenu/SideMenu';
import { PageLayout } from '@shared/layouts';
import { ProvidersWrapper } from '@shared/providers';
const Navigation = styled(Box)(
({ theme }) => `
position: fixed;
bottom: 0;
left: 0;
width: 100%;
background-color: ${colors.main};
padding: 1rem;
display: none;
z-index: 100;
ul {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
width: 100%;
li a {
color: ${theme.palette.text.primary};
display: flex;
flex-direction: column;
align-items: center;
&.active {
font-weight: 600;
}
}
}
${theme.breakpoints.down('md')} {
display: flex;
}
`
);
const routes = [
{ label: 'Inicio', value: '/microlearning', icon: CottageOutlined },
{ label: 'Tópicos', value: '/microlearning/topics', icon: BookOutlined },
{
label: 'Progreso',
value: '/microlearning/companies',
icon: SignalCellularAltOutlined
},
{ label: 'Perfil', value: '/microlearning/profile', icon: PersonOutline }
];
export function MicroLearningLayout() {
const { pathname } = useLocation();
const navigate = useNavigate();
return (
<>
<Grid container spacing={1}>
<Grid size={{ xs: 12, md: 4 }} sx={{ display: { xs: 'none', md: 'block' } }}>
<SideMenu items={routes} onChange={(value) => navigate(value)} current={pathname} />
</Grid>
<Grid size={{ xs: 12, md: 8 }}>
<ProvidersWrapper>
<PageLayout>
<Outlet />
</PageLayout>
</ProvidersWrapper>
</Grid>
</Grid>
<Navigation sx={{ boxShadow: 2 }}>
<ul>
{routes.map(({ value, label, icon: Icon }) => (
<li key={value}>
<NavLink exact to={value}>
<Icon />
{label}
</NavLink>
</li>
))}
</ul>
</Navigation>
</>
);
}