feat: supprime le compte à rebours de déconnexion

This commit is contained in:
2025-07-23 08:44:07 +04:00
parent 1c88e36a3e
commit f1c24080da
+4 -27
View File
@@ -1,36 +1,13 @@
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import { import {forwardRef, useImperativeHandle} from 'react'
useState, useEffect, forwardRef, useImperativeHandle
} from 'react'
import {signOut} from 'next-auth/react' import {signOut} from 'next-auth/react'
const LogoutCountdown = forwardRef(({setError, setIsErrorAlertOpen}, ref) => { const LogoutCountdown = forwardRef(({setError, setIsErrorAlertOpen}, ref) => {
const [counter, setCounter] = useState(5)
const [isCountdownActive, setIsCountdownActive] = useState(false)
useEffect(() => {
let timer
if (isCountdownActive) {
if (counter > 0) {
timer = setInterval(() => {
setCounter(prevCounter => prevCounter - 1)
}, 1000)
} else if (counter === 0) {
signOut()
}
setError(`Session expirée, reconnectez-vous ! Déconnexion dans... ${counter} sec`)
setIsErrorAlertOpen(true)
}
return () => clearInterval(timer)
}, [isCountdownActive, counter, setError, setIsErrorAlertOpen])
useImperativeHandle(ref, () => ({ useImperativeHandle(ref, () => ({
startCountdown() { startCountdown() {
setCounter(5) setError('Session expirée, vous devez vous reconnecter !')
setIsCountdownActive(true) setIsErrorAlertOpen(true)
signOut()
} }
})) }))