diff --git a/components/EventDetailsDialog.vue b/components/EventDetailsDialog.vue
index 15a043e..85b5cbd 100644
--- a/components/EventDetailsDialog.vue
+++ b/components/EventDetailsDialog.vue
@@ -452,9 +452,16 @@ const submitRSVP = async (status: 'confirmed' | 'declined') => {
rsvpLoading.value = true;
try {
- // Use the database ID for RSVP API calls
- const databaseId = (props.event as any).extendedProps?.database_id || props.event.id;
- console.log('[EventDetailsDialog] Using database ID for RSVP:', databaseId, 'from event:', props.event);
+ // Extract database ID - props.event is a raw Event object, not FullCalendar object
+ // Database ID is stored in 'Id' field (capital I) from NocoDB
+ const databaseId = (props.event as any).Id || (props.event as any).extendedProps?.database_id || props.event.id;
+ console.log('[EventDetailsDialog] Using database ID for RSVP:', databaseId);
+ console.log('[EventDetailsDialog] Event object keys:', Object.keys(props.event));
+ console.log('[EventDetailsDialog] Event Id field:', (props.event as any).Id);
+
+ if (!databaseId) {
+ throw new Error('Unable to determine database ID for event');
+ }
await rsvpToEvent(databaseId, {
member_id: '', // This will be filled by the composable
diff --git a/components/MemberCard.vue b/components/MemberCard.vue
index 941c270..1ec249f 100644
--- a/components/MemberCard.vue
+++ b/components/MemberCard.vue
@@ -133,7 +133,7 @@
:color="duesColor"
:variant="duesVariant"
size="small"
- class="flex-grow-1 mr-1"
+ class="mr-1"
>
{{ duesIcon }}
{{ duesText }}
@@ -165,7 +165,6 @@
color="orange"
variant="flat"
size="x-small"
- class="flex-grow-1"
>
mdi-clock-alert
Due {{ formatDate(nextDuesDate) }}
@@ -176,7 +175,6 @@
color="error"
variant="flat"
size="x-small"
- class="flex-grow-1"
>
mdi-calendar-alert
Overdue