import {Button, Form, Input, message, Space} from "antd"; import {t} from "ttag"; import React, {useContext, useEffect} from "react"; import {getUser, login} from "../utils/api"; import {AuthenticatedContext} from "../pages/LoginPage"; import {useNavigate} from "react-router-dom"; import {showErrorAPI} from "../utils/functions/showErrorAPI"; type FieldType = { username: string; password: string; } export function LoginForm({ssoLogin}: { ssoLogin?: boolean }) { const navigate = useNavigate() const [messageApi, contextHolder] = message.useMessage() const {setIsAuthenticated} = useContext(AuthenticatedContext) useEffect(() => { getUser().then(() => { setIsAuthenticated(true) navigate('/home') }) }, []) const onFinish = (data: FieldType) => { login(data.username, data.password).then(() => { setIsAuthenticated(true) navigate('/home') }).catch((e) => { setIsAuthenticated(false) showErrorAPI(e, messageApi) }) } return <> {contextHolder}