Files
pawol.nu/components/soumet/ajoute-tradiksyon.js
T

118 lines
2.5 KiB
JavaScript
Raw Normal View History

2021-09-21 21:28:04 +02:00
import {useState} from 'react'
2022-01-19 06:35:04 +04:00
import {styled} from '@mui/material/styles'
2021-05-27 23:53:06 +02:00
import PropTypes from 'prop-types'
2022-01-19 07:06:26 +04:00
import {MenuItem, Menu, Button} from '@mui/material'
2021-05-27 23:53:06 +02:00
import {uniq} from 'lodash'
2022-01-19 06:35:04 +04:00
const PREFIX = 'AjouteTradiksyon'
const classes = {
paper: `${PREFIX}-paper`,
root: `${PREFIX}-root`
}
const Root = styled('div')((
{
theme
2021-05-27 23:53:06 +02:00
}
2022-01-19 06:35:04 +04:00
) => ({
[`& .${classes.paper}`]: {
border: '1px solid #d3d4d5'
},
2021-05-27 23:53:06 +02:00
2022-01-19 06:35:04 +04:00
[`& .${classes.root}`]: {
2021-05-27 23:53:06 +02:00
'&:focus': {
backgroundColor: theme.palette.primary.main,
'& .MuiListItemIcon-root, & .MuiListItemText-primary': {
color: theme.palette.common.white
}
}
}
2022-01-19 06:35:04 +04:00
}))
function StyledMenu(props) {
return (
<Menu
elevation={0}
getContentAnchorEl={null}
anchorOrigin={{
vertical: 'top',
horizontal: 'center'
}}
transformOrigin={{
vertical: 'bottom',
horizontal: 'center'
}}
{...props}
/>
)
}
const StyledMenuItem = MenuItem
2021-05-27 23:53:06 +02:00
function AjouteTradiksyon({chwaLang, setChwaLang}) {
const [anchorElement, setAnchorElement] = useState(null)
const handleClick = event => {
setAnchorElement(event.currentTarget)
}
const handleClose = event => {
setAnchorElement(null)
const chwaInik = uniq([...chwaLang, event.currentTarget.id])
setChwaLang(chwaInik.filter(c => c !== ''))
}
return (
2022-01-19 06:35:04 +04:00
<Root style={{textAlign: 'center', marginTop: 5}}>
2021-05-27 23:53:06 +02:00
<Button
aria-controls='lang-menu'
variant='outlined'
aria-haspopup='true'
onClick={handleClick}
>
2021-07-01 06:58:56 +02:00
Ajouter une traduction 🇫🇷 🇬🇧 🇪🇸
2021-05-27 23:53:06 +02:00
</Button>
<StyledMenu
keepMounted
id='lang-menu'
anchorEl={anchorElement}
open={Boolean(anchorElement)}
2022-01-19 06:35:04 +04:00
classes={{
paper: classes.paper
}}
2021-05-27 23:53:06 +02:00
onClose={handleClose}
>
2022-01-19 06:35:04 +04:00
<StyledMenuItem
id='fr'
classes={{
root: classes.root
}}
onClick={handleClose}
>🇫🇷 Français</StyledMenuItem>
<StyledMenuItem
id='en'
classes={{
root: classes.root
}}
onClick={handleClose}
>🇬🇧 English</StyledMenuItem>
<StyledMenuItem
id='es'
classes={{
root: classes.root
}}
onClick={handleClose}
>🇪🇸 Español</StyledMenuItem>
2021-05-27 23:53:06 +02:00
</StyledMenu>
2022-01-19 06:35:04 +04:00
</Root>
2021-05-27 23:53:06 +02:00
)
}
AjouteTradiksyon.propTypes = {
chwaLang: PropTypes.array.isRequired,
setChwaLang: PropTypes.func.isRequired
}
export default AjouteTradiksyon