logout function added
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user