Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
1543 stevensc 1
import React from 'react'
1538 stevensc 2
import {
3
  List,
4
  ListItem,
5
  ListItemButton,
6
  ListItemText,
7
  Typography
8
} from '@mui/material'
1331 stevensc 9
 
2641 stevensc 10
import Widget from '../Widget'
1331 stevensc 11
 
1543 stevensc 12
const SideMenu = ({
13
  items = [],
14
  onChange = null,
15
  title = '',
1575 stevensc 16
  current = '',
17
  defaultValue = '',
18
  defaultLabel = ''
1543 stevensc 19
}) => {
20
  const handleChange = (value) => onChange(value)
1331 stevensc 21
 
22
  return (
2641 stevensc 23
    <Widget>
24
      <Widget.Body>
25
        <Typography variant='h2'>{title}</Typography>
1538 stevensc 26
 
2641 stevensc 27
        <List sx={{ mt: 1 }}>
28
          <ListItemButton
29
            sx={{ py: 0, display: defaultLabel ? 'initial' : 'none' }}
30
            onClick={() => handleChange(defaultValue)}
31
          >
32
            <ListItemText
33
              primary={defaultLabel}
34
              primaryTypographyProps={{
35
                sx: { fontWeight: current === defaultValue ? 'bold' : 'normal' }
36
              }}
37
            />
38
          </ListItemButton>
39
          {items.map(({ value, name }) => (
40
            <ListItem key={value} sx={{ p: 0 }}>
41
              <ListItemButton
42
                sx={{ py: 0 }}
43
                onClick={() => handleChange(value)}
44
              >
45
                <ListItemText
46
                  id={value}
47
                  primary={name}
48
                  primaryTypographyProps={{
49
                    sx: { fontWeight: current === value ? 'bold' : 'normal' }
50
                  }}
51
                />
52
              </ListItemButton>
53
            </ListItem>
54
          ))}
55
        </List>
56
      </Widget.Body>
57
    </Widget>
1331 stevensc 58
  )
59
}
60
 
61
export default SideMenu