import { Anchor, Button, Container, Paper, PasswordInput, Text, TextInput, Title, } from "@mantine/core"; import { useForm, yupResolver } from "@mantine/form"; import Link from "next/link"; import * as yup from "yup"; import useConfig from "../../hooks/config.hook"; import authService from "../../services/auth.service"; import toast from "../../utils/toast.util"; const SignInForm = () => { const config = useConfig(); const validationSchema = yup.object().shape({ emailOrUsername: yup.string().required(), password: yup.string().min(8).required(), }); const form = useForm({ initialValues: { emailOrUsername: "", password: "", }, validate: yupResolver(validationSchema), }); const signIn = (email: string, password: string) => { authService .signIn(email, password) .then(() => window.location.replace("/")) .catch(toast.axiosError); }; return ( ({ fontFamily: `Greycliff CF, ${theme.fontFamily}`, fontWeight: 900, })} > Welcome back {config.get("ALLOW_REGISTRATION") && ( You don't have an account yet?{" "} {"Sign up"} )}
signIn(values.emailOrUsername, values.password) )} >
); }; export default SignInForm;