From 933b2f3af1fa2bd484c9c15815579da745844c20 Mon Sep 17 00:00:00 2001 From: padreug Date: Sun, 9 Mar 2025 18:09:35 +0100 Subject: [PATCH] refactor(events): Improve error handling and UI text styling - Enhance error handling in useEvents composable with computed error message - Add text-foreground class to improve event card text visibility - Update Button variant and size for better visual consistency - Refactor event card text styling to use foreground color classes --- src/composables/useEvents.ts | 13 ++++++++++++- src/pages/events.vue | 26 +++++++++++++------------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/composables/useEvents.ts b/src/composables/useEvents.ts index 4dc34f1..a5d4c48 100644 --- a/src/composables/useEvents.ts +++ b/src/composables/useEvents.ts @@ -4,7 +4,7 @@ import type { Event } from '@/lib/types/event' import { fetchEvents } from '@/lib/api/events' export function useEvents() { - const { state: events, isLoading, error, execute: refresh } = useAsyncState( + const { state: events, isLoading, error: asyncError, execute: refresh } = useAsyncState( fetchEvents, [] as Event[], { @@ -13,6 +13,17 @@ export function useEvents() { } ) + const error = computed(() => { + if (asyncError.value) { + return { + message: asyncError.value instanceof Error + ? asyncError.value.message + : 'An error occurred while fetching events' + } + } + return null + }) + const sortedEvents = computed(() => { return [...events.value].sort((a, b) => new Date(b.time).getTime() - new Date(a.time).getTime() diff --git a/src/pages/events.vue b/src/pages/events.vue index d97aa30..8f058e1 100644 --- a/src/pages/events.vue +++ b/src/pages/events.vue @@ -17,8 +17,8 @@ function formatDate(dateStr: string) {