Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3246 stevensc 1
import React from 'react'
3270 stevensc 2
import { NavLink as Link, useMatch } from 'react-router-dom'
2580 stevensc 3
import {
4
  List,
3246 stevensc 5
  ListItem,
2580 stevensc 6
  ListItemButton,
3246 stevensc 7
  ListItemIcon,
8
  ListItemText
2580 stevensc 9
} from '@mui/material'
2482 stevensc 10
 
11
import Widget from '@app/components/UI/Widget'
12
 
3246 stevensc 13
export default function Menu({ children }) {
14
  return (
3248 stevensc 15
    <Widget
16
      styles={{
17
        position: { xs: 'fixed', md: 'relative' },
18
        bottom: { xs: 0, md: 'auto' },
19
        left: { xs: 0, md: 'auto' }
20
      }}
21
    >
3246 stevensc 22
      <List
23
        sx={{
24
          display: 'flex',
25
          flexDirection: { xs: 'row', md: 'column' },
26
          width: '100%',
27
          gap: ({ spacing }) => spacing(0.5)
28
        }}
29
      >
30
        {children}
31
      </List>
32
    </Widget>
33
  )
34
}
2580 stevensc 35
 
3246 stevensc 36
function MenuItem({ to, icon, label, onClick }) {
3270 stevensc 37
  const match = useMatch(to)
38
 
2482 stevensc 39
  return (
3270 stevensc 40
    <ListItem sx={{ display: match ? 'none' : 'flex' }}>
3246 stevensc 41
      <ListItemButton LinkComponent={Link} to={to} onClick={onClick}>
3251 stevensc 42
        {icon && <ListItemIcon>{icon}</ListItemIcon>}
3252 stevensc 43
        <ListItemText
44
          primary={label}
45
          sx={{ textAlign: { xs: 'center', md: 'start' } }}
46
        />
3246 stevensc 47
      </ListItemButton>
48
    </ListItem>
2482 stevensc 49
  )
50
}
3246 stevensc 51
 
52
Menu.Item = MenuItem