diff --git a/src/Components/SignUp/SignUpForm.css b/src/pages/SignUp/SignUpForm/SignUpForm.css
similarity index 100%
rename from src/Components/SignUp/SignUpForm.css
rename to src/pages/SignUp/SignUpForm/SignUpForm.css
diff --git a/src/pages/SignUp/SignUpForm/SignUpForm.jsx b/src/pages/SignUp/SignUpForm/SignUpForm.jsx
new file mode 100644
index 00000000..f8aa52a2
--- /dev/null
+++ b/src/pages/SignUp/SignUpForm/SignUpForm.jsx
@@ -0,0 +1,89 @@
+import React, { useState } from "react";
+import Button from "../../../Components/design/Button/Button";
+import TextBox from "../../../Components/design/TextBox/TextBox";
+import "./SignUpForm.css";
+
+export default function SignUpForm(props) {
+ const [newUserFields, setNewUserFields] = useState({});
+
+ const handleSubmit = (event) => {
+ event.preventDefault();
+ props.onSubmit(newUserFields);
+ };
+
+ return (
+
+ );
+}
diff --git a/src/pages/SignUp/SignUpPage.css b/src/pages/SignUp/SignUpPage.css
new file mode 100644
index 00000000..b9304d8d
--- /dev/null
+++ b/src/pages/SignUp/SignUpPage.css
@@ -0,0 +1,27 @@
+.sign-up-page {
+ display: flex;
+ flex-direction: column;
+ min-height: 100vh;
+}
+
+.sign-up-page__content {
+ flex: 1;
+ padding: 4rem;
+}
+
+.sign-up-page__header {
+ margin-bottom: 2rem;
+ color: inherit;
+}
+
+.sign-up-page__text {
+ margin-bottom: 2rem;
+}
+
+.sign-up__login {
+ text-align: center;
+}
+.sign-up__login > a {
+ color: var(--body-text);
+ font-weight: var(--font-weight-bold);
+}
diff --git a/src/pages/SignUp/SignUpPage.jsx b/src/pages/SignUp/SignUpPage.jsx
new file mode 100644
index 00000000..604f61a1
--- /dev/null
+++ b/src/pages/SignUp/SignUpPage.jsx
@@ -0,0 +1,47 @@
+import React, { useContext } from "react";
+import { useHistory, Link } from "react-router-dom";
+import Footer from "../../Components/design/Footer/Footer";
+import NavbarSplashpage from "../../Components/design/Navbar/NavbarSplashpage/NavbarSplashpage";
+import SignUpForm from "./SignUpForm/SignUpForm";
+import { createUser } from "../../Services/Auth/SignupService";
+import "./SignUpPage.css";
+import { useCurrentUser } from "../../Contexts/currentUserContext";
+
+export default function SignUpPage() {
+ const history = useHistory();
+ const { login } = useCurrentUser();
+
+ // TODO: maybe use react-query here
+ const handleSubmit = (newUserFields) => {
+ createUser(newUserFields)
+ .then(() => login(newUserFields.email, newUserFields.password))
+ .then(() => history.push(`/organizations`))
+ .catch((error) => {
+ alert(
+ error.response.data.errors[0] ||
+ "Something went wrong while creating this user. Please try again later."
+ );
+ });
+ };
+
+ return (
+
+
+
+
+
Sign Up
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
+ eiusmod tempor incididunt ut labore et dolore magna aliqua. Arcu
+ odio ut sem nulla pharetra diam sit amet.
+