From 1d9a54c85fe07f587a50fdfea86d6d54c3a9ee84 Mon Sep 17 00:00:00 2001 From: chark1es Date: Tue, 18 Feb 2025 19:50:00 -0800 Subject: [PATCH] i gave up fixing the bug so i took it out --- .../dashboard/Officer_EventManagement.astro | 4152 ++++++++--------- 1 file changed, 1973 insertions(+), 2179 deletions(-) diff --git a/src/components/dashboard/Officer_EventManagement.astro b/src/components/dashboard/Officer_EventManagement.astro index 7ce5a78..56101d0 100644 --- a/src/components/dashboard/Officer_EventManagement.astro +++ b/src/components/dashboard/Officer_EventManagement.astro @@ -11,6 +11,737 @@ const get = Get.getInstance(); const auth = Authentication.getInstance(); interface Event { + id: string; + event_name: string; + event_description: string; + event_code: string; + location: string; + files: string[]; + points_to_reward: number; + start_date: string; + end_date: string; + published: boolean; + has_food: boolean; + attendees: AttendeeEntry[]; +} + +interface AttendeeEntry { + user_id: string; + time_checked_in: string; + food: string; +} + +interface ListResponse { + page: number; + perPage: number; + totalItems: number; + totalPages: number; + items: T[]; +} + +// Initialize variables +let eventResponse: ListResponse = { + page: 1, + perPage: 5, + totalItems: 0, + totalPages: 0, + items: [], +}; +let upcomingEvents: Event[] = []; + +// Fetch events +try { + if (auth.isAuthenticated()) { + eventResponse = await get.getList("events", 1, 5, "", "-start_date"); + upcomingEvents = eventResponse.items; + } +} catch (error) { + console.error("Failed to fetch events:", error); +} + +const totalEvents = eventResponse.totalItems; +const totalPages = eventResponse.totalPages; +const currentPage = eventResponse.page; +--- + +
+
+
+

Event Management

+

+ Manage and create IEEE UCSD events +

+
+
+ + +
+
+
+
+ Total Events +
+
+ - +
+
+
+ Current Academic Term +
+
+
+
+
+
+
+ Unique Attendees +
+
+ - +
+
+
+ Current Academic Term +
+
+
+
+
+
+
+ Recurring Attendees +
+
+ - +
+
+
+ Current Quarter (-) +
+
+
+
+
+ + +
+
+

+
+
+ +
+ Events List +
+
+ + +
+

+ +
+ + +
+ +
+
+ +
+ + + + +
+
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+
+ + +
+
+
+
+ + + +
+ +
+
+
+
+
+ Per Page +
+ +
+
+
+ + +
+ +
+ + +
+
+ + + + + +
+
+
+
+
+ + { + // Reset cache timestamp to force refresh + window.lastCacheUpdate = 0; + // Refresh events list + window.fetchEvents?.(); + }} +/> + + + + + + + + + + + + + + + + + + +