import {useCallback, useEffect, useState, forwardRef} from 'react'
import PropTypes from 'prop-types'
import axios from 'axios'
import {
TextField,
Container,
Button,
Snackbar,
LinearProgress,
Typography
} from '@mui/material'
import MuiAlert from '@mui/material/Alert'
const API_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:1337'
const Alert = forwardRef(function Alert(props, ref) {
return
})
function EkriKomante({session, teks, meteEsKomanteOuve}) {
const {jwt, user} = session
const {_id} = teks
const [komante, meteKomante] = useState({kontni: ''})
const [ere, meteEre] = useState('')
const [sikse, meteSikse] = useState('')
const [chaje, meteChaje] = useState(false)
const [esOuve, meteEsOuve] = useState(false)
const handleClick = () => {
meteChaje(true)
const {kontni} = komante
if (kontni === '') {
meteEre({mesaj: 'Champ obligatoire'})
meteChaje(false)
return
}
const headers = {
'content-type': 'application/json',
Authorization: `Bearer ${jwt}`
}
axios.post(`${API_URL}/komante`, {
kontni,
teks: _id,
user: user._id
}, {
headers
})
.then(() => {
meteSikse('Commentaire envoyé avec succès. Il apparaîtra sur le site après validation.')
meteChaje(false)
})
.catch(error => {
meteEre(error)
meteChaje(false)
})
}
const handleUpdate = useCallback(update => {
meteKomante({...komante, ...update})
}, [komante])
const handleClose = (event, reason) => {
if (reason === 'clickaway') {
return
}
meteEsOuve(false)
meteSikse('')
meteEre('')
meteEsKomanteOuve(false)
}
const handleReset = () => {
meteKomante({kontni: ''})
}
useEffect(() => {
if (sikse) {
meteEsOuve(true)
handleReset()
}
}, [sikse])
useEffect(() => {
if (ere) {
meteEsOuve(true)
}
}, [ere])
return (
{chaje && }
{sikse && (
{sikse}
)}
{ere && (
Une erreur s’est produite : {ere.mesaj}
)}
)
}
EkriKomante.propTypes = {
session: PropTypes.object.isRequired,
teks: PropTypes.object.isRequired,
meteEsKomanteOuve: PropTypes.func.isRequired
}
export default EkriKomante