Proyectos de Subversion LeadersLinked - SPA

Rev

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

import React from 'react'
import {
  List,
  ListItem,
  ListItemButton,
  ListItemText,
  Typography
} from '@mui/material'

import Widget from '../Widget'

const SideMenu = ({
  items = [],
  onChange = null,
  title = '',
  current = '',
  defaultValue = '',
  defaultLabel = ''
}) => {
  const handleChange = (value) => onChange(value)

  return (
    <Widget>
      <Widget.Body>
        <Typography variant='h2'>{title}</Typography>

        <List sx={{ mt: 1 }}>
          <ListItemButton
            sx={{ py: 0, display: defaultLabel ? 'initial' : 'none' }}
            onClick={() => handleChange(defaultValue)}
          >
            <ListItemText
              primary={defaultLabel}
              primaryTypographyProps={{
                sx: { fontWeight: current === defaultValue ? 'bold' : 'normal' }
              }}
            />
          </ListItemButton>
          {items.map(({ value, name }) => (
            <ListItem key={value} sx={{ p: 0 }}>
              <ListItemButton
                sx={{ py: 0 }}
                onClick={() => handleChange(value)}
              >
                <ListItemText
                  id={value}
                  primary={name}
                  primaryTypographyProps={{
                    sx: { fontWeight: current === value ? 'bold' : 'normal' }
                  }}
                />
              </ListItemButton>
            </ListItem>
          ))}
        </List>
      </Widget.Body>
    </Widget>
  )
}

export default SideMenu