Rev 3257 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react';
import { Link, Outlet, useMatch } from 'react-router-dom';
import { useSelector } from 'react-redux';
import { AppBar, Box, Container, styled, Toolbar, Typography } from '@mui/material';
import Slider from 'react-slick';
import { parse } from '@utils';
const Section = styled('section')(({ theme }) => ({
display: 'flex',
flexDirection: 'column',
gap: theme.spacing(0.5),
justifyContent: 'center',
alignItems: 'center',
flex: 1,
'& > img': {
display: 'block',
margin: '0 auto'
}
}));
const AuthPage = styled('div')(({ theme }) => ({
display: 'flex',
flexDirection: 'column',
gap: '1rem',
height: '100%',
[theme.breakpoints.up('md')]: {
flexDirection: 'row'
}
}));
const AuthSlider = styled(Slider)(({ theme }) => ({
maxWidth: 'calc(100vw - 2rem)',
'& img': {
maxWidth: '300px !important',
maxheight: '300px !important',
display: 'block !important',
margin: 'auto'
},
[theme.breakpoints.up('md')]: {
display: 'none'
}
}));
const AuthLayout = () => {
const { logo_url, intro } = useSelector(({ auth }) => auth);
const isRoot = useMatch('/');
const userAgent = navigator.userAgent;
const isIphone = /iPad|iPhone|iPod|Mac/.test(userAgent);
return (
<>
<AppBar
sx={{
paddingTop: isIphone ? '50px' : '0',
position: 'relative',
backgroundColor: 'transparent',
boxShadow: 'none'
}}
>
<Container>
<Toolbar
sx={{
minHeight: 'none',
padding: 0,
'& img': {
display: { md: 'none' }
}
}}
>
<Link to='/'>
<img src={logo_url} alt='Logo' width={50} />
</Link>
</Toolbar>
</Container>
</AppBar>
<Container>
<AuthPage>
<Section sx={{ display: { xs: 'none', md: 'flex' } }}>
{isRoot && (
<AuthSlider
arrows={false}
dots={true}
slidesToShow={1}
slidesToScroll={1}
autoplay={true}
autoplaySpeed={3000}
infinite={true}
>
<Box>
<img src='/images/intro_slide_1.png' alt='image slide' />
<Typography>Desarrollate en Líder moderno</Typography>
</Box>
<Box>
<img src='/images/intro_slide_2.png' alt='image slide' />
<Typography>Evoluciona día a día</Typography>
</Box>
<Box>
<img src='/images/intro_slide_3.png' alt='image slide' />
<Typography>Construye tu futuro</Typography>
</Box>
</AuthSlider>
)}
<img src={logo_url} alt='Leaderslinked logo' />
<Typography>{parse(intro)}</Typography>
</Section>
<Section>
<Outlet />
</Section>
</AuthPage>
</Container>
</>
);
};
export default AuthLayout;