From ecc6a55aba7bb35fc778e7a53848396b88214151 Mon Sep 17 00:00:00 2001
From: Leonardo Bishop <me@leonardobishop.com>
Date: Sat, 23 Aug 2025 22:29:28 +0100
Subject: Add multiple conferences feature

---
 web/pages/tracks/index.vue | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

(limited to 'web/pages/tracks/index.vue')

diff --git a/web/pages/tracks/index.vue b/web/pages/tracks/index.vue
index 8d7534e..c3ec883 100644
--- a/web/pages/tracks/index.vue
+++ b/web/pages/tracks/index.vue
@@ -2,14 +2,22 @@
 import { TrainTrack } from 'lucide-vue-next';
 import Panel from '~/components/Panel.vue';
 
+definePageMeta({
+  middleware: ['logged-in', 'conference-selected']
+})
 const scheduleStore = useScheduleStore();
 </script>
 
 <template>
-  <Panel v-if="scheduleStore.schedule" title="Tracks" :icon="TrainTrack">
+  <div v-if="scheduleStore.status === 'pending'" class="loading">
+    <span class="loading-text">
+      <Spinner color="var(--color-text-muted)" />Updating schedule...
+    </span>
+  </div>
+  <Panel v-else title="Tracks" :icon="TrainTrack">
     <ul class="tracks-list">
       <li 
-        v-for="track in scheduleStore.schedule.tracks" 
+        v-for="track in scheduleStore.schedule?.tracks" 
         :key="track.name" 
         class="tracks-item"
       >
-- 
cgit v1.2.3-70-g09d2

