summaryrefslogtreecommitdiffhomepage
path: root/frontend/src/pages/Register.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/pages/Register.tsx')
-rw-r--r--frontend/src/pages/Register.tsx33
1 files changed, 32 insertions, 1 deletions
diff --git a/frontend/src/pages/Register.tsx b/frontend/src/pages/Register.tsx
index 7030842..786d252 100644
--- a/frontend/src/pages/Register.tsx
+++ b/frontend/src/pages/Register.tsx
@@ -1,10 +1,41 @@
+import { FormEvent } from "react";
+import { useNavigate } from 'react-router-dom';
export default function Register () {
+ const navigate = useNavigate();
+
+const handleSubmit = async (e: FormEvent<HTMLFormElement>) => {
+ e.preventDefault(); //stops submit from happening
+
+ const target = e.target as typeof e.target & {
+ username: { value: string };
+ email: { value: string };
+ password: { value: string };
+ };
+
+ const formData = new FormData();
+ formData.append('user[username]', target.username.value);
+ formData.append('user[email]', target.email.value);
+ formData.append('user[password]', target.password.value);
+
+ const response = await fetch(`${import.meta.env.VITE_API_TITLE}/api/v1/register`, {
+ credentials: 'include',
+ method: 'post',
+ body: formData,
+ });
+ if(response.ok) {
+ navigate("/login");
+ }
+ else {
+ alert("error");
+ }
+ };
+
return(
<>
<div className="flex flex-col items-center justify-center bg-white p-12">
<div className="text-xl w-full text-center mb-8 p-4 bg-black text-red-500">Username or Email already exists</div>
- <form role="form" method="post" className="w-full max-w-lg">
+ <form onSubmit={handleSubmit} method="post" className="w-full max-w-lg">
<div className="flex flex-wrap -mx-3 mb-6">
<div className="w-full md:w-1/2 px-3 mb-6 md:mb-0">
<label className="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2"