Include Pataje to TeksDrawer

This commit is contained in:
Cédric FAMIBELLE-PRONZOLA
2021-06-02 02:24:19 +02:00
parent 93acaee44a
commit 86a4bb9745
+54 -2
View File
@@ -1,4 +1,4 @@
import {useState} from 'react' import {useEffect, useState} from 'react'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import Link from 'next/link' import Link from 'next/link'
@@ -12,7 +12,8 @@ import {
Hidden, Hidden,
IconButton, IconButton,
Box, Box,
useMediaQuery useMediaQuery,
Snackbar
} from '@material-ui/core' } from '@material-ui/core'
import KeyboardBackspaceIcon from '@material-ui/icons/KeyboardBackspace' import KeyboardBackspaceIcon from '@material-ui/icons/KeyboardBackspace'
@@ -26,6 +27,13 @@ import DrawerBar from './drawer-bar'
import DenyeTeks from './denye-teks' import DenyeTeks from './denye-teks'
import VweKouteAchte from './vwe-koute-achte' import VweKouteAchte from './vwe-koute-achte'
import OkiMizik from './oki-mizik' import OkiMizik from './oki-mizik'
import Pataje from './pataje'
import MuiAlert from '@material-ui/lab/Alert'
function Alert(props) {
return <MuiAlert elevation={6} variant='filled' {...props} />
}
const drawerWidth = 240 const drawerWidth = 240
@@ -96,6 +104,14 @@ const useStyles = makeStyles(theme => ({
[theme.breakpoints.up('sm')]: { [theme.breakpoints.up('sm')]: {
top: '10px' top: '10px'
} }
},
pataje: {
position: 'absolute',
top: '140px',
left: '10px',
[theme.breakpoints.up('sm')]: {
left: '275px'
}
} }
})) }))
@@ -149,6 +165,19 @@ export default function TeksDrawer({teks, anTeks}) {
const classes = useStyles() const classes = useStyles()
const theme = useTheme() const theme = useTheme()
const [esMobilOuve, meteEsMobilOuve] = useState(false) const [esMobilOuve, meteEsMobilOuve] = useState(false)
const [open, setOpen] = useState(false)
const [error, setError] = useState('')
const [success, setSuccess] = useState('')
const handleClose = (event, reason) => {
if (reason === 'clickaway') {
return
}
setOpen(false)
setSuccess('')
setError('')
}
const handleDrawerToggle = () => { const handleDrawerToggle = () => {
meteEsMobilOuve(!esMobilOuve) meteEsMobilOuve(!esMobilOuve)
@@ -156,6 +185,12 @@ export default function TeksDrawer({teks, anTeks}) {
const container = typeof window === 'undefined' ? undefined : () => window.document.body const container = typeof window === 'undefined' ? undefined : () => window.document.body
useEffect(() => {
if (error || success) {
setOpen(true)
}
}, [error, success, setOpen])
return ( return (
<div className={classes.root}> <div className={classes.root}>
<CssBaseline /> <CssBaseline />
@@ -234,6 +269,9 @@ export default function TeksDrawer({teks, anTeks}) {
{anTeks.eksplisit && ( {anTeks.eksplisit && (
<ExplicitIcon style={{marginLeft: 10}} color='secondary' /> <ExplicitIcon style={{marginLeft: 10}} color='secondary' />
)} )}
<div className={classes.pataje}>
<Pataje teks={anTeks} setError={setError} setSuccess={setSuccess} />
</div>
</Typography> </Typography>
<Typography variant='caption'> <Typography variant='caption'>
{anTeks.user && ( {anTeks.user && (
@@ -268,6 +306,20 @@ export default function TeksDrawer({teks, anTeks}) {
</Grid> </Grid>
))} ))}
</Grid> </Grid>
{success && (
<Snackbar open={open} autoHideDuration={3000} onClose={handleClose}>
<Alert severity='success' onClose={handleClose}>
<strong>{success}</strong>
</Alert>
</Snackbar>
)}
{error && (
<Snackbar open={open} autoHideDuration={3000} onClose={handleClose}>
<Alert severity='error' onClose={handleClose}>
<strong>Une erreur sest produite</strong> : <i>{error.message}</i>
</Alert>
</Snackbar>
)}
</> </>
) : ( ) : (
<DenyeTeks {...teks} /> <DenyeTeks {...teks} />