import { Form, Input, Menu, MenuProps, Modal } from "antd"; import "./styles.css"; import { KeyOutlined, UserAddOutlined } from "@ant-design/icons"; import React, { useState } from "react"; const AuthModal = (props: { open: boolean; setOpen: (arg0: boolean) => void; }) => { const [loginForm] = Form.useForm(); const [registerForm] = Form.useForm(); const [current, setCurrent] = useState("login"); const submitLoginForm = (formData: { username: string; password: string; }) => { console.log(formData); }; const submitRegisterForm = (formData: { username: string; name: string | undefined; password: string; password2: string; }) => { console.log(formData); }; const items: MenuProps["items"] = [ { label: "Log In", key: "login", icon: , }, { label: "Register", key: "register", icon: , }, ]; return ( props.setOpen(false)} onOk={() => { current === "register" && registerForm.submit(); current === "login" && loginForm.submit(); }} > setCurrent(e.key)} mode="horizontal" selectedKeys={[current]} items={items} />
{current === "register" ? (
({ validator(_, value) { if (!value || getFieldValue("password") === value) { return Promise.resolve(); } return Promise.reject( new Error("The new password that you entered do not match!") ); }, }), ]} >
) : (
)} ); }; export default AuthModal;