From e1dac68f37f18155175d1d5e74628935b8ee5289 Mon Sep 17 00:00:00 2001 From: andrewzpu <66804382+andrewzpu@users.noreply.github.com> Date: Mon, 22 Apr 2024 17:47:10 -0700 Subject: [PATCH] Added cancel edit profile button --- frontend/src/Pages/Profile.svelte | 2 +- frontend/src/Pages/ProfileEdit.svelte | 36 +++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/frontend/src/Pages/Profile.svelte b/frontend/src/Pages/Profile.svelte index 142c6e55..1d80792d 100644 --- a/frontend/src/Pages/Profile.svelte +++ b/frontend/src/Pages/Profile.svelte @@ -108,7 +108,7 @@ HKN Portal | Profile - + diff --git a/frontend/src/Pages/ProfileEdit.svelte b/frontend/src/Pages/ProfileEdit.svelte index 35400e06..fe450072 100644 --- a/frontend/src/Pages/ProfileEdit.svelte +++ b/frontend/src/Pages/ProfileEdit.svelte @@ -74,6 +74,7 @@ .split("=")[1]; async function onSubmit(event) { + event.preventDefault(); const form = event.target; @@ -100,6 +101,12 @@ if (formData.get("degree") == "Other") { formData.set("degree", formData.get("other_degree")) } + + const submitType = event.submitter.value; + if (submitType == "Cancel") { + onCancel(formData) + return; + } const response = await fetch(`/api/profile/edit/`, { method: "POST", @@ -117,6 +124,34 @@ navigate("/profile/self") } } + + function onCancel(formData) { + + console.log(user_groups) + + let changed = false; + + for (const group of user_groups) { + + if (group === "Member" || group == "Inductee") { + changed = changed || user_data.preferred_name != formData.get("preferred_name") + changed = changed || user_data[group].major != formData.get("major") + changed = changed || user_data[group].degree != formData.get("degree") + changed = changed || user_data[group].grad_year != formData.get("grad_year") + } + if (group == "Outreach Student") { + changed = changed || user_data[group].car + } + + + } + + console.log(changed) + + if (!changed || confirm("You have unsaved changes. Are you sure you want to leave?")) { + navigate("/profile/self") + } + } @@ -323,6 +358,7 @@ {/if} {/each} + {/await}