Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2963 | Rev 3098 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1800 stevensc 1
import React from 'react'
2
import { Box, styled } from '@mui/material'
1774 stevensc 3
 
1800 stevensc 4
const CustomGrid = styled('div')(({ theme }) => ({
1775 stevensc 5
  columnGap: '1rem',
6
  display: 'grid',
1776 stevensc 7
  gridTemplateColumns: '1fr',
1775 stevensc 8
  gridTemplateRows: 'auto',
9
  rowGap: '0.5rem',
1780 stevensc 10
  gridTemplateAreas: '"main" "aside"',
1775 stevensc 11
  [theme.breakpoints.up('sm')]: {
1780 stevensc 12
    gridTemplateColumns: '1fr 2fr',
1779 stevensc 13
    gridTemplateAreas: '"sidebar main" ". aside"'
1775 stevensc 14
  },
15
  [theme.breakpoints.up('md')]: {
2269 stevensc 16
    gridTemplateColumns: '2fr 5fr  3fr',
1779 stevensc 17
    gridTemplateAreas: '"sidebar main aside"'
1775 stevensc 18
  }
19
}))
20
 
1800 stevensc 21
const AppGrid = ({
22
  renderSidebar = () => null,
23
  renderMain = () => null,
24
  renderAside = () => null
25
}) => {
26
  return (
27
    <CustomGrid>
28
      <Box
29
        sx={{
30
          position: 'relative',
3097 stevensc 31
          gap: 0.5,
1800 stevensc 32
          height: 'fit-content',
3097 stevensc 33
          display: { xs: 'none', sm: 'grid' },
1885 stevensc 34
          gridArea: 'sidebar',
2963 stevensc 35
          maxWidth: '100%',
36
          overflow: 'hidden',
1936 stevensc 37
          pb: 1
1800 stevensc 38
        }}
39
      >
40
        {renderSidebar()}
41
      </Box>
42
      <Box
43
        sx={{
3097 stevensc 44
          display: 'grid',
45
          gap: 0.5,
1936 stevensc 46
          gridArea: 'main',
2963 stevensc 47
          maxWidth: '100%',
48
          overflow: 'hidden',
1936 stevensc 49
          pb: 1
1800 stevensc 50
        }}
51
      >
52
        {renderMain()}
53
      </Box>
54
      <Box
55
        sx={{
3097 stevensc 56
          display: 'grid',
57
          gap: 0.5,
1885 stevensc 58
          gridArea: 'aside',
2963 stevensc 59
          maxWidth: '100%',
60
          overflow: 'hidden',
1936 stevensc 61
          pb: 1
1800 stevensc 62
        }}
63
      >
64
        {renderAside()}
65
      </Box>
66
    </CustomGrid>
67
  )
68
}
69
 
1774 stevensc 70
export default AppGrid