logout function added

This commit is contained in:
victorAnumudu
2024-12-10 10:37:43 +01:00
parent 70d0691f71
commit c47efaaadc
8 changed files with 96 additions and 33 deletions
+19 -4
View File
@@ -1,14 +1,18 @@
import React, { useState } from 'react'
import { useMutation } from '@tanstack/react-query'
import { useDispatch } from 'react-redux'
import LoginImg from '../../assets/bg/login.svg'
import { Link, useNavigate } from 'react-router-dom'
import siteLinks from '../../links/siteLinks'
import { loginUser } from '../../services/services'
import { updateUserDetails } from '../../store/UserDetails'
export default function Login() {
const dispatch = useDispatch()
const navigate = useNavigate()
const [fields, setFields] = useState({
@@ -17,7 +21,6 @@ export default function Login() {
})
const handleChange = ({target:{name, value}}) => {
console.log('working')
setFields(prev => ({...prev, [name]:value}))
}
@@ -27,10 +30,15 @@ export default function Login() {
},
onError: (error) => {
console.log('error', error)
},
onSuccess: () => {
navigate('/dash') // later add redux to dispatch state
onSuccess: (res) => {
const {token} = res?.data?.data
if(token){
localStorage.setItem('token', token)
const data = {token}
dispatch(updateUserDetails({ ...data }));
navigate('/dash') // later add redux to dispatch state
}
}
})
@@ -71,6 +79,13 @@ export default function Login() {
<Link to={siteLinks.forgetpwd} className="ml-auto">Forgot Password ?</Link>
</div>
</div>
{login.error &&
<>
<div className="col-12 mt-3">
<p className='text-danger'>Unable to login, try agian!</p>
</div>
</>
}
<div className="col-12 mt-3">
<button type='button' onClick={()=>{login.mutate(fields)}} className="btn btn-primary text-uppercase">{login.isPending ? 'loading...' : 'Sign In'}</button>
</div>