|
@@ -1,29 +1,13 @@
|
|
|
import { NextPage } from "next";
|
|
import { NextPage } from "next";
|
|
|
-import { FormEventHandler, useState } from "react";
|
|
|
|
|
import Layout from "../components/Layout";
|
|
import Layout from "../components/Layout";
|
|
|
-import fetchApi, { ApiMethods, ApiPaths } from "../utils/api";
|
|
|
|
|
-
|
|
|
|
|
-type FormError = {
|
|
|
|
|
- message: string;
|
|
|
|
|
-};
|
|
|
|
|
|
|
+import useForm from "../hooks/useForm";
|
|
|
|
|
+import { ApiMethods, ApiPaths } from "../utils/api";
|
|
|
|
|
|
|
|
const Login: NextPage = () => {
|
|
const Login: NextPage = () => {
|
|
|
- const [error, setError] = useState<FormError | null>();
|
|
|
|
|
-
|
|
|
|
|
- const submitHandler: FormEventHandler<HTMLFormElement> = async (event) => {
|
|
|
|
|
- event.preventDefault();
|
|
|
|
|
- const formData = new FormData(event.currentTarget);
|
|
|
|
|
- const { error, message } = await fetchApi({
|
|
|
|
|
- method: ApiMethods.POST,
|
|
|
|
|
- path: ApiPaths.Login,
|
|
|
|
|
- body: Object.fromEntries(formData.entries()),
|
|
|
|
|
- });
|
|
|
|
|
- if (error) {
|
|
|
|
|
- setError({ message: error });
|
|
|
|
|
- } else {
|
|
|
|
|
- console.log(message);
|
|
|
|
|
- }
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ const { error, submitHandler } = useForm({
|
|
|
|
|
+ path: ApiPaths.Login,
|
|
|
|
|
+ method: ApiMethods.POST,
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
<Layout>
|
|
<Layout>
|