create a logout component

This commit is contained in:
memeriau
2022-01-16 00:25:39 +01:00
parent 125b3145ae
commit 1d004e7052
3 changed files with 47 additions and 20 deletions

View File

@@ -0,0 +1,31 @@
import React, { FC, memo, useCallback } from "react"
import { useDispatch, useSelector } from "react-redux"
import { unsetJWT } from "../../services/auth"
import { isUserConnected, logoutUser } from "../../store/auth"
import styles from "./styles.module.scss"
const LogoutButton: FC = (): JSX.Element | null => {
const dispatch = useDispatch()
const connected = useSelector(isUserConnected)
const onClick = useCallback(
(event: React.SyntheticEvent): void => {
event.preventDefault()
unsetJWT()
dispatch(logoutUser())
},
[dispatch]
)
if (!connected) return null
return (
<div key="logout" className={styles.logoutButton}>
<button type="button" onClick={onClick}>
Se déconnecter
</button>
</div>
)
}
export default memo(LogoutButton)

View File

@@ -0,0 +1,8 @@
.logoutButton {
text-align: center;
button {
font-weight: normal;
font-size: 0.9em;
}
}