From 500941ae69327ebbad1822afecb6cef76055617b Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Fri, 28 Feb 2025 14:34:57 +0100 Subject: [PATCH] Revamped world slug code --- pages/my/worlds/[id].vue | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/pages/my/worlds/[id].vue b/pages/my/worlds/[id].vue index 184f5d8..39e84e6 100644 --- a/pages/my/worlds/[id].vue +++ b/pages/my/worlds/[id].vue @@ -8,9 +8,7 @@ const supabase = useSupabaseClient() const route = useRoute() const id = route.params.id -const { data: res, pending } = await useFetch("/api/worlds/query", { query: { id, full: true } }) - -const world = ref(res.value?.data as World) +const { data: world, status } = await useFetch<{ data: World }>("/api/worlds/query", { query: { id, full: true } }) definePageMeta({ middleware: ["auth-guard"] @@ -40,8 +38,10 @@ let calendarChannel: RealtimeChannel /** Handles calendar insertion realtime events */ function handleInsertedCalendar(newCalendar: Calendar) { + if (!world.value) return + try { - world.value.calendars?.push(newCalendar) + world.value.data.calendars?.push(newCalendar) } catch (err) { console.log(err) } @@ -49,8 +49,10 @@ function handleInsertedCalendar(newCalendar: Calendar) { /** Handles calendar deletion realtime events */ function handleDeletedCalendar(id: number) { + if (!world.value) return + try { - world.value.calendars?.splice(world.value.calendars.findIndex(c => c.id === id)) + world.value.data.calendars?.splice(world.value.data.calendars.findIndex(c => c.id === id)) } catch (err) { console.log(err) } @@ -101,7 +103,7 @@ function hideDeleteModal() {