From 5b90bd392a99a8bc9e1c0720d961ce2b49e4a3bd Mon Sep 17 00:00:00 2001 From: Shreya Date: Thu, 9 Apr 2026 15:46:58 -0500 Subject: [PATCH 1/7] feat: mobile clinic locator works for upcoming events, and mobile clinic can be toggled on event edit --- app/components/event/Tile.vue | 18 ++++++--- app/pages/events/[id].vue | 31 +++++++++++---- app/pages/events/index.vue | 37 ++++++++++++++--- app/pages/events/manage.vue | 2 +- app/pages/mobileClinic.vue | 57 ++++++++++++++------------- server/api/events/[id]/index.patch.ts | 22 ++++++++++- server/api/events/index.get.ts | 3 +- 7 files changed, 120 insertions(+), 50 deletions(-) diff --git a/app/components/event/Tile.vue b/app/components/event/Tile.vue index 576600e..cde4c24 100644 --- a/app/components/event/Tile.vue +++ b/app/components/event/Tile.vue @@ -1,9 +1,17 @@ \ No newline at end of file diff --git a/app/pages/events/[id].vue b/app/pages/events/[id].vue index 2a2d7e7..1b1e25b 100644 --- a/app/pages/events/[id].vue +++ b/app/pages/events/[id].vue @@ -12,7 +12,7 @@ const loading = ref(true) const notFound = ref(false) const isEditMode = ref(false) -const editForm = ref({}) +const editForm = ref({ mobileClinic: false }) //placeholder until we implement auth const admin = true; @@ -26,7 +26,7 @@ onMounted(async () => { // Fetch event from your backend API event.value = await $fetch(`/api/events/${eventId}`) - editForm.value = { ...event.value } + editForm.value = { ...event.value, mobileClinic: Boolean(event.value?.mobileClinicId) } console.log('✅ Event loaded:', event.value) loading.value = false @@ -71,7 +71,7 @@ const zoom = 15 function toggleEditMode() { if (isEditMode.value) { // Cancel editing - reset form to original event data - editForm.value = { ...event.value } + editForm.value = { ...event.value, mobileClinic: Boolean(event.value?.mobileClinicId) } } isEditMode.value = !isEditMode.value } @@ -82,7 +82,7 @@ async function saveChanges() { console.log('💾 Saving changes...') // Update event via API - await $fetch(`/api/events/${event.value.id}`, { + const updatedEvent = await $fetch(`/api/events/${event.value.id}`, { method: 'PATCH', body: { title: editForm.value.title, @@ -92,7 +92,8 @@ async function saveChanges() { startTime: new Date(editForm.value.startTime).toISOString(), endTime: new Date(editForm.value.endTime).toISOString(), allowVolunteers: editForm.value.allowVolunteers, - allowAttendees: editForm.value.allowAttendees + allowAttendees: editForm.value.allowAttendees, + mobileClinic: editForm.value.mobileClinic } }) @@ -439,7 +440,7 @@ const backNavigate = computed(() => {

Volunteer Sign-ups

-

Allow people to volunteer for this event

+

Allow people to volunteer for this event?