From 5ec8fcb981d723bdaba3296d380329245deafc84 Mon Sep 17 00:00:00 2001 From: sanasnaik <53305879+sanasnaik@users.noreply.github.com> Date: Sun, 6 Oct 2024 16:00:40 -0400 Subject: [PATCH 1/3] Update pnpm-lock.yaml --- app/(pre-dashboard)/(entry)/login/page.tsx | 7 +++++-- app/(pre-dashboard)/(entry)/signup/page.tsx | 6 +++++- app/dashboard/components/profileHeader.tsx | 3 ++- app/dashboard/page.tsx | 3 ++- package-lock.json | 2 +- package.json | 2 +- pnpm-lock.yaml | 2 +- 7 files changed, 17 insertions(+), 8 deletions(-) diff --git a/app/(pre-dashboard)/(entry)/login/page.tsx b/app/(pre-dashboard)/(entry)/login/page.tsx index 049f8f6..454297e 100644 --- a/app/(pre-dashboard)/(entry)/login/page.tsx +++ b/app/(pre-dashboard)/(entry)/login/page.tsx @@ -27,13 +27,15 @@ export default function LoginPage() { type Login = z.infer; const [submit_errors, setErrors] = useState(""); - + const [loading, setLoading] = useState(false); const router = useRouter(); const { register, handleSubmit, reset, formState: { errors }, } = useForm({ resolver: zodResolver(LoginSchema) }); const onSubmit = async (data: Login) => { + setLoading(true); const resp = await authenticate(data.email, data.password); + setLoading(false); setErrors(resp); } @@ -83,7 +85,8 @@ export default function LoginPage() { {errors.password && (

{errors.password?.message}

)} - +

router.push('/signup')}>Not a member? Create an Account!

router.push('/forgot')}>Forgot Password? Reset it Here!

diff --git a/app/(pre-dashboard)/(entry)/signup/page.tsx b/app/(pre-dashboard)/(entry)/signup/page.tsx index 1e649a4..662f7b9 100644 --- a/app/(pre-dashboard)/(entry)/signup/page.tsx +++ b/app/(pre-dashboard)/(entry)/signup/page.tsx @@ -28,11 +28,14 @@ export default function SignupPage() { }); const [submit_errors, setErrors] = useState(""); + const [loading, setLoading] = useState(false); const [submitErrors, setSubmitErrors] = useState([]); const router = useRouter(); const onSubmit = async (data: SignUp) => { + setLoading(true); const resp = await SignUp(data.first_name, data.last_name, data.email, data.password, data.confirm_password); + setLoading(false); if (resp) { setErrors(resp.error); } @@ -178,7 +181,8 @@ export default function SignupPage() {
- +

router.push('/login')}> Already a member? Log In! diff --git a/app/dashboard/components/profileHeader.tsx b/app/dashboard/components/profileHeader.tsx index 1256baa..01f5e0a 100644 --- a/app/dashboard/components/profileHeader.tsx +++ b/app/dashboard/components/profileHeader.tsx @@ -112,7 +112,8 @@ export default function ProfileHeader(props: {

Unregistered - +
} diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx index c32b311..8d0b095 100644 --- a/app/dashboard/page.tsx +++ b/app/dashboard/page.tsx @@ -101,6 +101,7 @@ export default function Dashboard() { const [teamSubmissionError, setTeamSubmissionError] = useState(""); const [currentTeam, setCurrentTeam] = useState(0); + const [loading, setLoading] = useState(false); const { register, handleSubmit, reset, trigger, formState: { errors }, } = useForm({ resolver: zodResolver(UserUpdateSchema), defaultValues: userData, }); const { register: registerTeam, @@ -411,7 +412,7 @@ export default function Dashboard() { className="mt-10" >{ submittingTeamForm ? "Submitting..." : "Submit Team" - } + } =18.17.0" }, "packageManager": "pnpm@9.4.0" -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2358890..1c4e7ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5723,4 +5723,4 @@ snapshots: yocto-queue@0.1.0: {} - zod@3.23.8: {} + zod@3.23.8: {} \ No newline at end of file From 6ee8915419d42554af18a3f06bd8cc8acacd8555 Mon Sep 17 00:00:00 2001 From: sanasnaik <53305879+sanasnaik@users.noreply.github.com> Date: Sat, 12 Oct 2024 20:12:05 -0400 Subject: [PATCH 2/3] Added register button "loading" state --- app/dashboard/components/profileHeader.tsx | 10 ++++++++-- app/dashboard/page.tsx | 11 +++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/dashboard/components/profileHeader.tsx b/app/dashboard/components/profileHeader.tsx index 01f5e0a..9a49a72 100644 --- a/app/dashboard/components/profileHeader.tsx +++ b/app/dashboard/components/profileHeader.tsx @@ -19,6 +19,7 @@ export default function ProfileHeader(props: { const { userData, onWaiverSubmit, handleChangingFile, waiverState } = props; const [uploadingNewConfirmationStatus, setUploadingNewConfirmationStatus] = useState(false); const [errorMessage, setErrorMessage] = useState(''); + const [loading, setLoading] = useState(false); const onConfirmationChange = async (isComing: boolean) => { setUploadingNewConfirmationStatus(true); @@ -61,7 +62,12 @@ export default function ProfileHeader(props: { -
+ { + e.preventDefault(); + setLoading(true); + onWaiverSubmit(e, setLoading); + setLoading(false); + }}> Registration Check your registration status. @@ -113,7 +119,7 @@ export default function ProfileHeader(props: {
Unregistered + {loading ? 'Loading...' : 'Register'}
} diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx index 8d0b095..015757e 100644 --- a/app/dashboard/page.tsx +++ b/app/dashboard/page.tsx @@ -97,11 +97,11 @@ export default function Dashboard() { const [submittingTeamForm, setSubmittingTeamForm] = useState(false); const [userProfileSubmitText, setUserProfileSubmitText] = useState("Save"); + const [loading, setLoading] = useState(false) const [displayTeamFormFinalSubmissionWarning, setDisplayTeamFormFinalSubmissionWarning] = useState(false); const [teamSubmissionError, setTeamSubmissionError] = useState(""); const [currentTeam, setCurrentTeam] = useState(0); - const [loading, setLoading] = useState(false); const { register, handleSubmit, reset, trigger, formState: { errors }, } = useForm({ resolver: zodResolver(UserUpdateSchema), defaultValues: userData, }); const { register: registerTeam, @@ -177,8 +177,10 @@ export default function Dashboard() { setUserProfileSubmitText("Saved!"); } - const onWaiverSubmit = async (event: React.FormEvent) => { + const onWaiverSubmit = async (event: React.FormEvent, setLoading: (isLoading: boolean) => void) => { event.preventDefault(); + setLoading(true); + if (waiverFile) { //works try { const data = new FormData(); @@ -195,6 +197,7 @@ export default function Dashboard() { console.log("THIS FIELD IS FAIL" + requiredFields[i]) trigger(requiredFields[i] as any, { shouldFocus: true }); alert(`Please scroll down and fill out ${fieldtext[i]} the entire profile before registering`); + setLoading(false); return; } } @@ -211,10 +214,12 @@ export default function Dashboard() { } catch (error) { console.error("Error uploading waiver:", error); alert("Error uploading waiver. Please contact HackRU."); + setLoading(false); } } else { console.error("No waiver file selected");//works alert("Please select a waiver file"); + setLoading(false); } } const handleChangingFile = (event: React.ChangeEvent, @@ -317,8 +322,6 @@ export default function Dashboard() { } - - if (userData?.role['organizer']) { return () } From 4ea642ebd756109a45c6de04bef772ae37a775cc Mon Sep 17 00:00:00 2001 From: sanasnaik <53305879+sanasnaik@users.noreply.github.com> Date: Sat, 12 Oct 2024 20:56:30 -0400 Subject: [PATCH 3/3] Fixed formatting --- app/dashboard/components/profileHeader.tsx | 13 +++++++------ app/dashboard/page.tsx | 8 +------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/app/dashboard/components/profileHeader.tsx b/app/dashboard/components/profileHeader.tsx index 9a49a72..41fcb2f 100644 --- a/app/dashboard/components/profileHeader.tsx +++ b/app/dashboard/components/profileHeader.tsx @@ -62,12 +62,13 @@ export default function ProfileHeader(props: { - { - e.preventDefault(); - setLoading(true); - onWaiverSubmit(e, setLoading); - setLoading(false); - }}> + { + setLoading(true); + await onWaiverSubmit(e); + setLoading(false); + }} + > Registration Check your registration status. diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx index 252e64a..2e86346 100644 --- a/app/dashboard/page.tsx +++ b/app/dashboard/page.tsx @@ -97,7 +97,6 @@ export default function Dashboard() { const [submittingTeamForm, setSubmittingTeamForm] = useState(false); const [userProfileSubmitText, setUserProfileSubmitText] = useState("Save"); - const [loading, setLoading] = useState(false) const [displayTeamFormFinalSubmissionWarning, setDisplayTeamFormFinalSubmissionWarning] = useState(false); const [teamSubmissionError, setTeamSubmissionError] = useState(""); const [currentTeam, setCurrentTeam] = useState(0); @@ -177,9 +176,8 @@ export default function Dashboard() { setUserProfileSubmitText("Saved!"); } - const onWaiverSubmit = async (event: React.FormEvent, setLoading: (isLoading: boolean) => void) => { + const onWaiverSubmit = async (event: React.FormEvent) => { event.preventDefault(); - setLoading(true); if (waiverFile) { //works try { @@ -197,7 +195,6 @@ export default function Dashboard() { console.log("THIS FIELD IS FAIL" + requiredFields[i]) trigger(requiredFields[i] as any, { shouldFocus: true }); alert(`Please scroll down and fill out ${fieldtext[i]} and the entire profile and save before registering`); - setLoading(false); return; } } @@ -216,12 +213,10 @@ export default function Dashboard() { } catch (error) { console.error("Error uploading waiver:", error); alert("Error uploading waiver. Please contact HackRU."); - setLoading(false); } } else { console.error("No waiver file selected");//works alert("Please select a waiver file"); - setLoading(false); } } const handleChangingFile = (event: React.ChangeEvent, @@ -283,7 +278,6 @@ export default function Dashboard() { const haswaiver = await GetWaiverInfo(); setWaiverState(haswaiver.response.hasUploaded); - // setLoading(false); } catch (error) { console.log(error);