BETTER UI
This commit is contained in:
@@ -6,6 +6,7 @@ import config from "../config";
|
|||||||
import NextUIFormikInput from "./NextUIFormikInput";
|
import NextUIFormikInput from "./NextUIFormikInput";
|
||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
import { popErrorToast } from "../utilities";
|
import { popErrorToast } from "../utilities";
|
||||||
|
import { useState } from "react";
|
||||||
|
|
||||||
const validationSchema = Yup.object({
|
const validationSchema = Yup.object({
|
||||||
firstName: Yup.string()
|
firstName: Yup.string()
|
||||||
@@ -47,6 +48,7 @@ const validationSchema = Yup.object({
|
|||||||
|
|
||||||
export default function SignUpModule() {
|
export default function SignUpModule() {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
const [step, setStep] = useState(1);
|
||||||
|
|
||||||
const initialValues = {
|
const initialValues = {
|
||||||
firstName: "",
|
firstName: "",
|
||||||
@@ -64,11 +66,15 @@ export default function SignUpModule() {
|
|||||||
values
|
values
|
||||||
);
|
);
|
||||||
console.log("User created successfully:", response.data);
|
console.log("User created successfully:", response.data);
|
||||||
|
navigate("/signin");
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
popErrorToast(error);
|
popErrorToast(error);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const nextStep = () => setStep((prev) => prev + 1);
|
||||||
|
const prevStep = () => setStep((prev) => prev - 1);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col gap-16">
|
<div className="flex flex-col gap-16">
|
||||||
<Formik
|
<Formik
|
||||||
@@ -78,6 +84,11 @@ export default function SignUpModule() {
|
|||||||
>
|
>
|
||||||
{({ isValid, dirty }) => (
|
{({ isValid, dirty }) => (
|
||||||
<Form className="flex flex-col gap-4">
|
<Form className="flex flex-col gap-4">
|
||||||
|
{step === 1 && (
|
||||||
|
<>
|
||||||
|
<p className="text-4xl font-bold pb-6">
|
||||||
|
First, let us know how to address you.
|
||||||
|
</p>
|
||||||
<NextUIFormikInput
|
<NextUIFormikInput
|
||||||
label="First Name"
|
label="First Name"
|
||||||
name="firstName"
|
name="firstName"
|
||||||
@@ -92,6 +103,16 @@ export default function SignUpModule() {
|
|||||||
placeholder="Doe"
|
placeholder="Doe"
|
||||||
labelPlacement="outside"
|
labelPlacement="outside"
|
||||||
/>
|
/>
|
||||||
|
<Button onClick={nextStep} color="primary">
|
||||||
|
Next
|
||||||
|
</Button>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
{step === 2 && (
|
||||||
|
<>
|
||||||
|
<p className="text-4xl font-bold pb-6">
|
||||||
|
Nice to meet you! Next, your contacts.
|
||||||
|
</p>
|
||||||
<NextUIFormikInput
|
<NextUIFormikInput
|
||||||
label="Email"
|
label="Email"
|
||||||
name="email"
|
name="email"
|
||||||
@@ -111,6 +132,21 @@ export default function SignUpModule() {
|
|||||||
</p>
|
</p>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
<div className="flex justify-between">
|
||||||
|
<Button onClick={prevStep} variant="light">
|
||||||
|
Back
|
||||||
|
</Button>
|
||||||
|
<Button onClick={nextStep} color="primary">
|
||||||
|
Next
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
{step === 3 && (
|
||||||
|
<>
|
||||||
|
<p className="text-4xl font-bold pb-6">
|
||||||
|
Almost there! Now, a strong password please.
|
||||||
|
</p>
|
||||||
<NextUIFormikInput
|
<NextUIFormikInput
|
||||||
label="New Password"
|
label="New Password"
|
||||||
name="password"
|
name="password"
|
||||||
@@ -134,6 +170,10 @@ export default function SignUpModule() {
|
|||||||
className="text-red-500"
|
className="text-red-500"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="flex justify-between">
|
||||||
|
<Button onClick={prevStep} variant="light">
|
||||||
|
Back
|
||||||
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
type="submit"
|
type="submit"
|
||||||
color="primary"
|
color="primary"
|
||||||
@@ -141,6 +181,9 @@ export default function SignUpModule() {
|
|||||||
>
|
>
|
||||||
Sign up
|
Sign up
|
||||||
</Button>
|
</Button>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
</Formik>
|
</Formik>
|
||||||
|
|||||||
Reference in New Issue
Block a user