mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-17 17:55:42 +00:00
fix: login form loading
This commit is contained in:
parent
a6eec5cfee
commit
467a3281d0
@ -1,6 +1,6 @@
|
|||||||
import {Button, Flex, Form, Input, message} from 'antd'
|
import {Button, Flex, Form, Input, message} from 'antd'
|
||||||
import {t} from 'ttag'
|
import {t} from 'ttag'
|
||||||
import React, {useContext, useEffect} from 'react'
|
import React, {useContext, useEffect, useState} from 'react'
|
||||||
import {getUser, login} from '../utils/api'
|
import {getUser, login} from '../utils/api'
|
||||||
import {AuthenticatedContext} from '../pages/LoginPage'
|
import {AuthenticatedContext} from '../pages/LoginPage'
|
||||||
import {useNavigate} from 'react-router-dom'
|
import {useNavigate} from 'react-router-dom'
|
||||||
@ -16,6 +16,7 @@ export function LoginForm({ssoLogin}: { ssoLogin?: boolean }) {
|
|||||||
const navigate = useNavigate()
|
const navigate = useNavigate()
|
||||||
const [messageApi, contextHolder] = message.useMessage()
|
const [messageApi, contextHolder] = message.useMessage()
|
||||||
const {setIsAuthenticated} = useContext(AuthenticatedContext)
|
const {setIsAuthenticated} = useContext(AuthenticatedContext)
|
||||||
|
const [loading, setLoading] = useState(false);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getUser().then(() => {
|
getUser().then(() => {
|
||||||
@ -25,12 +26,15 @@ export function LoginForm({ssoLogin}: { ssoLogin?: boolean }) {
|
|||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const onFinish = (data: FieldType) => {
|
const onFinish = (data: FieldType) => {
|
||||||
|
setLoading(true);
|
||||||
|
|
||||||
login(data.username, data.password).then(() => {
|
login(data.username, data.password).then(() => {
|
||||||
setIsAuthenticated(true)
|
setIsAuthenticated(true)
|
||||||
navigate('/home')
|
navigate('/home')
|
||||||
}).catch((e) => {
|
}).catch((e) => {
|
||||||
setIsAuthenticated(false)
|
setIsAuthenticated(false)
|
||||||
showErrorAPI(e, messageApi)
|
showErrorAPI(e, messageApi)
|
||||||
|
setLoading(true);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
@ -43,6 +47,7 @@ export function LoginForm({ssoLogin}: { ssoLogin?: boolean }) {
|
|||||||
style={{maxWidth: 600}}
|
style={{maxWidth: 600}}
|
||||||
onFinish={onFinish}
|
onFinish={onFinish}
|
||||||
autoComplete='off'
|
autoComplete='off'
|
||||||
|
disabled={loading}
|
||||||
>
|
>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t`Email address`}
|
label={t`Email address`}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user