diff --git a/src/components/profile/EventManagement.astro b/src/components/profile/EventManagement.astro
index dcacbf3..a421122 100644
--- a/src/components/profile/EventManagement.astro
+++ b/src/components/profile/EventManagement.astro
@@ -232,21 +232,40 @@ const { title, columns } = config.ui.tables.events;
${formatDate(event.start_date)} |
${formatDate(event.end_date)} |
${event.points_to_reward || "0"} |
+ ${event.location || "N/A"} |
-
-
-
-
+ ${
+ event.files && event.files.length > 0
+ ? event.files
+ .map(
+ (file: string) => `
+
+ `
+ )
+ .join("")
+ : "No files"
+ }
+ |
+
+
+ |
+
+
|
`;
@@ -260,9 +279,9 @@ const { title, columns } = config.ui.tables.events;
// Show loading state
eventsList.innerHTML = `
-
+ |
- Loading events...
+ Loading events...
|
`;
@@ -281,7 +300,7 @@ const { title, columns } = config.ui.tables.events;
if (events.items.length === 0) {
eventsList.innerHTML = `
-
+ |
No events found
|
@@ -294,7 +313,7 @@ const { title, columns } = config.ui.tables.events;
console.error("Failed to load events:", error);
eventsList.innerHTML = `
-
+ |
Failed to load events. Please try again.
|
@@ -319,18 +338,6 @@ const { title, columns } = config.ui.tables.events;
refreshButton.addEventListener("click", () => {
if (searchInput) searchInput.value = "";
loadEvents();
-
- // Turn off officer view toggle
- const officerViewToggle =
- document.getElementById("officerViewToggle");
- const officerViewCheckbox = officerViewToggle?.querySelector(
- 'input[type="checkbox"]'
- ) as HTMLInputElement;
- if (officerViewCheckbox) {
- officerViewCheckbox.checked = false;
- // Trigger the change event to update the views
- officerViewCheckbox.dispatchEvent(new Event("change"));
- }
});
}
@@ -407,4 +414,48 @@ const { title, columns } = config.ui.tables.events;
document.addEventListener("showFilePreview", ((e: CustomEvent) => {
showFilePreview(e.detail.url, e.detail.fileName);
}) as EventListener);
+
+ // Add event listeners for dynamic elements
+ document.addEventListener("click", (e) => {
+ const target = e.target as HTMLElement;
+
+ // Handle file view buttons
+ const fileButton = target.closest("button[data-file-url]");
+ if (fileButton) {
+ const url = fileButton.getAttribute("data-file-url");
+ const fileName = fileButton.getAttribute("data-file-name");
+ if (url && fileName) {
+ showFilePreview(url, fileName);
+ }
+ }
+
+ // Handle view attendees button
+ const attendeesButton = target.closest(".view-attendees");
+ if (attendeesButton) {
+ const eventId = attendeesButton.getAttribute("data-event-id");
+ if (eventId) {
+ document.dispatchEvent(
+ new CustomEvent("viewAttendees", { detail: eventId })
+ );
+ }
+ }
+
+ // Handle edit event button
+ const editButton = target.closest(".edit-event");
+ if (editButton) {
+ const eventData = editButton.getAttribute("data-event");
+ if (eventData) {
+ const event = JSON.parse(decodeURIComponent(eventData));
+ const eventEditor = document.getElementById(
+ "eventEditor"
+ ) as HTMLDialogElement;
+ if (eventEditor) {
+ eventEditor.showModal();
+ document.dispatchEvent(
+ new CustomEvent("editEvent", { detail: event })
+ );
+ }
+ }
+ }
+ });
diff --git a/src/components/profile/MemberManagement.astro b/src/components/profile/MemberManagement.astro
index 5f291a1..a723f58 100644
--- a/src/components/profile/MemberManagement.astro
+++ b/src/components/profile/MemberManagement.astro
@@ -1,3 +1,12 @@
+---
+// Import the majors list
+import allMajors from "../../data/allUCSDMajors.txt?raw";
+const majorsList: string[] = allMajors
+ .split("\n")
+ .filter((major: string) => major.trim())
+ .sort((a, b) => a.localeCompare(b)); // Sort alphabetically
+---
+
@@ -57,6 +66,8 @@
Name |
Email |
Member ID |
+ Major |
+ Grad Year |
Points |
Resume |
Actions |
@@ -68,11 +79,139 @@
+
+
+
+
+
+
+