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}