From 050d117abf6077663a8eb337a400d17277c91db5 Mon Sep 17 00:00:00 2001 From: Jennie Robinson Faber Date: Tue, 19 May 2026 00:10:27 +0100 Subject: [PATCH] fix(dashboard): bind Upcoming sidebar to reactive useFetch data ColumnsLayout mounts inside on /member/dashboard, so the SSR fetch returned the empty default and the snapshot assignment to upcomingEvents never re-ran after the client-side fetch resolved. Skip the SSR phase explicitly (server: false) and expose data to the template via a computed so post-fetch updates propagate to EventsMiniSidebar. --- app/components/ColumnsLayout.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/components/ColumnsLayout.vue b/app/components/ColumnsLayout.vue index 3ea07c4..2b170c0 100644 --- a/app/components/ColumnsLayout.vue +++ b/app/components/ColumnsLayout.vue @@ -29,13 +29,14 @@ const props = defineProps({ limit: { type: Number, default: 3 }, }) -const upcomingEvents = ref([]) +let upcomingEvents = ref([]) if (props.cols === 'events-sidebar') { const { data } = await useFetch('/api/events', { query: { upcoming: true, limit: props.limit }, default: () => [], + server: false, }) - upcomingEvents.value = data.value || [] + upcomingEvents = computed(() => data.value || []) }