diff --git a/app/pages/register.tsx b/app/pages/register.tsx new file mode 100644 index 0000000..62275a2 --- /dev/null +++ b/app/pages/register.tsx @@ -0,0 +1,54 @@ +import { useState } from "react"; +import { useNavigate } from "react-router"; +import client from "~/api/client"; +import { useUserStore } from "~/hooks/user"; + +export default function RegisterPage() { + const user = useUserStore((state) => state.user); + const [error, setError] = useState(false); + const navigator = useNavigate(); + + async function login(formData: FormData) { + let username = formData.get("username"); + let password = formData.get("password"); + let email = formData.get("email"); + let [_, status] = await client.POST("/register", { + body: { + username: username as string, + password: password as string, + email: email as string, + }, + }); + if (status === 200) { + navigator("/"); + } else { + setError(true); + } + } + + return user ? ( +