Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3202 | Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3201 stevensc 1
import React from 'react'
2
import { Link, Outlet, useMatch } from 'react-router-dom'
3
import { useSelector } from 'react-redux'
4
import {
5
  AppBar,
6
  Box,
7
  Container,
8
  styled,
9
  Toolbar,
10
  Typography
11
} from '@mui/material'
12
import Slider from 'react-slick'
13
 
14
import { parse } from '@utils'
15
 
16
const Section = styled('section')(({ theme }) => ({
17
  display: 'flex',
18
  flexDirection: 'column',
19
  gap: theme.spacing(0.5),
20
  justifyContent: 'center',
21
  alignItems: 'center',
22
  flex: 1,
23
  '& > img': {
24
    display: 'block',
25
    margin: '0 auto'
26
  }
27
}))
28
 
29
const AuthPage = styled('div')(({ theme }) => ({
30
  display: 'flex',
31
  flexDirection: 'column',
32
  gap: '1rem',
33
  [theme.breakpoints.up('md')]: {
34
    flexDirection: 'row'
35
  }
36
}))
37
 
38
const AuthSlider = styled(Slider)(({ theme }) => ({
39
  maxWidth: 'calc(100vw - 2rem)',
40
  '& img': {
41
    maxWidth: '300px !important',
42
    maxheight: '300px !important',
43
    display: 'block !important',
44
    margin: 'auto'
45
  },
46
  [theme.breakpoints.up('md')]: {
47
    display: 'none'
48
  }
49
}))
50
 
51
const AuthLayout = () => {
52
  const { logo_url, intro } = useSelector(({ auth }) => auth)
53
  const isRoot = useMatch('/')
54
  const userAgent = navigator.userAgent
55
  const isIphone = /iPad|iPhone|iPod|Mac/.test(userAgent)
56
 
57
  return (
58
    <>
59
      <AppBar
60
        sx={{
61
          paddingTop: isIphone ? '50px' : '0',
62
          position: 'relative',
63
          backgroundColor: 'transparent',
64
          boxShadow: 'none'
65
        }}
66
      >
67
        <Container>
68
          <Toolbar sx={{ minHeight: 'none', display: { md: 'none' } }}>
69
            <Link to='/'>
70
              <img src={logo_url} alt='Logo' width={50} />
71
            </Link>
72
          </Toolbar>
73
        </Container>
74
      </AppBar>
75
 
76
      <Container>
77
        <AuthPage>
78
          <Section>
79
            <img src={logo_url} alt='Leaderslinked logo' />
80
 
81
            {isRoot && (
82
              <AuthSlider
83
                arrows={false}
84
                dots={true}
85
                slidesToShow={1}
86
                slidesToScroll={1}
87
                autoplay={true}
88
                autoplaySpeed={3000}
89
                infinite={true}
90
              >
91
                <Box>
92
                  <img src='/images/intro_slide_1.png' alt='image slide' />
93
                  <Typography>Desarrollate en Líder moderno</Typography>
94
                </Box>
95
 
96
                <Box>
97
                  <img src='/images/intro_slide_2.png' alt='image slide' />
98
                  <Typography>Evoluciona día a día</Typography>
99
                </Box>
100
 
101
                <Box>
102
                  <img src='/images/intro_slide_3.png' alt='image slide' />
103
                  <Typography>Construye tu futuro</Typography>
104
                </Box>
105
              </AuthSlider>
106
            )}
107
 
108
            <Typography>{parse(intro)}</Typography>
109
          </Section>
110
 
111
          <Section>
112
            <Outlet />
113
          </Section>
114
        </AuthPage>
115
      </Container>
116
    </>
117
  )
118
}
119
 
120
export default AuthLayout