Rev 2531 | Rev 2584 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from 'react'import { NavLink as Link, useRouteMatch, NavLink } from 'react-router-dom'import {Box,Collapse,List,ListItemButton,ListItemText,styled} from '@mui/material'import {ExpandLess,ExpandMore,EventRepeat,MoveUp,TrackChanges} from '@mui/icons-material'import Widget from '@app/components/UI/Widget'const Navigation = styled(Box)(({ theme }) => `position: fixed;bottom: 0;left: 0;width: 100%;background-color: ${theme.palette.background.default};padding: 1rem;display: none;z-index: 100;ul {display: flex;align-items: center;justify-content: space-between;gap: 1rem;width: 100%;li a {color: ${theme.palette.text.primary};display: flex;flex-direction: column;align-items: center;&.active {font-weight: 600;}}}${theme.breakpoints.down('md')} {display: flex;}`)export default function HabitsMenu() {const { url } = useRouteMatch()const [open, setOpen] = useState(false)const handleClick = () => setOpen(!open)const routes = [{ name: 'Hábitos', value: '/habits', icon: <EventRepeat /> },{ name: 'Metas', value: '/goals', icon: <MoveUp /> },{ name: 'Propósitos', value: '/purposes', icon: <TrackChanges /> }]return (<><Widget styles={{ display: { xs: 'none', md: 'block' } }}><Listsx={{'& .MuiListItemButton-root.active .MuiTypography-body1': {fontWeight: '600'}}}><ListItemButton LinkComponent={Link} to={url}><ListItemText primary='Habitos' /></ListItemButton><ListItemButton LinkComponent={Link} to={`${url}/goals`}><ListItemText primary='Metas' /></ListItemButton><ListItemButton onClick={handleClick}><ListItemText primary='Propósitos' />{open ? <ExpandLess /> : <ExpandMore />}</ListItemButton><Collapse in={open} timeout='auto' unmountOnExit><List disablePadding><ListItemButtonsx={{ pl: 4 }}LinkComponent={Link}to={`${url}/purposes`}><ListItemText primary='Propósito' /></ListItemButton><ListItemButtonsx={{ pl: 4 }}LinkComponent={Link}to={`${url}/paradigms`}><ListItemText primary='Paradigmas' /></ListItemButton><ListItemButtonsx={{ pl: 4 }}LinkComponent={Link}to={`${url}/values`}><ListItemText primary='Valores' /></ListItemButton></List></Collapse></List></Widget><Navigation sx={{ boxShadow: 2 }}><ul>{routes.map(({ value, name, icon }) => (<li key={value}><NavLink exact to={value}>{icon}{name}</NavLink></li>))}</ul></Navigation></>)}