aboutsummaryrefslogtreecommitdiffstats
path: root/composables/fetch-schedule.ts
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.com>2025-01-22 02:09:56 +0000
committerLeonardo Bishop <me@leonardobishop.com>2025-01-22 02:09:56 +0000
commit850affbd55fee9cd48a82ade94a3a5e60fd737a8 (patch)
tree3d53005a151f17bdef27afcfaeec91aa1217a25e /composables/fetch-schedule.ts
parentc6a34e6f7d6c0f592b8e370ee942017d914662bd (diff)
Add version and some icons
Diffstat (limited to 'composables/fetch-schedule.ts')
-rw-r--r--composables/fetch-schedule.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/composables/fetch-schedule.ts b/composables/fetch-schedule.ts
new file mode 100644
index 0000000..09d0a25
--- /dev/null
+++ b/composables/fetch-schedule.ts
@@ -0,0 +1,24 @@
+export default function useFetchFavourites() {
+ const scheduleStore = useScheduleStore();
+ const errorStore = useErrorStore();
+ const config = useRuntimeConfig();
+
+ useFetch(config.public.baseURL + '/schedule', {
+ method: 'GET',
+ server: false,
+ lazy: true,
+ onResponse: ({ response }) => {
+ if (!response.ok) {
+ if (response.status === 401) {
+ navigateTo({ name: 'login', state: { error: 'Sorry, your session has expired' } });
+ } else {
+ errorStore.setError(response._data.message || 'An unknown error occurred');
+ }
+ }
+
+ if (response._data) {
+ scheduleStore.setSchedule((response._data as any).data.schedule);
+ }
+ },
+ });
+} \ No newline at end of file