| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import { NextPage } from "next";
- import Layout from "../components/Layout";
- import useForm from "../hooks/useForm";
- import { ApiMethods, ApiPaths } from "../utils/api";
- const Login: NextPage = () => {
- const { error, submitHandler } = useForm({
- path: ApiPaths.Login,
- method: ApiMethods.POST,
- });
- return (
- <Layout>
- <form
- className="form"
- onSubmit={submitHandler}
- >
- <div className="xs:contents">
- <label htmlFor="email" className="form-label">
- Email
- </label>
- <input
- type="email"
- name="email"
- id="email"
- className="form-input"
- placeholder="monkey@gmail.com"
- required
- />
- </div>
- <div className="xs:contents">
- <label htmlFor="password" className="form-label">
- Password
- </label>
- <input
- type="password"
- name="password"
- id="password"
- className="form-input"
- placeholder="••••••"
- required
- />
- </div>
- <button
- type="submit"
- className="form-button"
- >
- Log in
- </button>
- {error && (
- <div
- role="alert"
- className="col-span-2 bg-red-200 p-4 text-center rounded font-bold text-red-900"
- >
- {error.message}
- </div>
- )}
- </form>
- </Layout>
- );
- };
- export default Login;
|