aboutsummaryrefslogtreecommitdiffstats
path: root/stores
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.com>2025-01-21 01:21:09 +0000
committerLeonardo Bishop <me@leonardobishop.com>2025-01-21 01:21:09 +0000
commit5d162cb8e0f5d594905a56a9b16f4f68df5f6631 (patch)
treecd244bada4f4749a62cf8f8bd533ab54b585fb8f /stores
parentbfb60f146724219379879468802ee65d02746156 (diff)
Improve frontend
Diffstat (limited to 'stores')
-rw-r--r--stores/error.ts6
-rw-r--r--stores/schedule.ts33
2 files changed, 25 insertions, 14 deletions
diff --git a/stores/error.ts b/stores/error.ts
index 19ff289..dfb5850 100644
--- a/stores/error.ts
+++ b/stores/error.ts
@@ -2,9 +2,9 @@ import { type Event } from "./schedule";
import { defineStore } from "pinia";
export const useErrorStore = defineStore('error', () => {
- const error = ref(null as Event | null)
- const setError = (event: Event) => {
- error.value = event
+ const error = ref(null as string | null)
+ const setError = (newError: string) => {
+ error.value = newError
}
const clearError = () => {
error.value = null
diff --git a/stores/schedule.ts b/stores/schedule.ts
index b1bf536..df2c1ec 100644
--- a/stores/schedule.ts
+++ b/stores/schedule.ts
@@ -81,20 +81,14 @@ export const useScheduleStore = defineStore('schedule', () => {
const tracks = ref({} as { [key: string]: Track })
const setSchedule = (newSchedule: Schedule) => {
- schedule.value = newSchedule
-
- console.log(newSchedule)
-
tracks.value = {}
- schedule.value.tracks.forEach(track => {
+ newSchedule.tracks.forEach(track => {
track.slug = convertToSlug(track.name)
tracks.value[track.name] = track
});
- console.log("hi")
-
events.value = []
- schedule.value.days.forEach(day => {
+ newSchedule.days.forEach(day => {
day.start = new TZDate(day.start, newSchedule.conference.timeZoneName)
day.end = new TZDate(day.end, newSchedule.conference.timeZoneName)
day.rooms.forEach(room => {
@@ -111,8 +105,7 @@ export const useScheduleStore = defineStore('schedule', () => {
return a.start.getTime() - b.start.getTime()
})
- console.log("hi2")
- console.log(newSchedule)
+ schedule.value = newSchedule
eventsPerDay.value = {}
events.value.forEach(event => {
@@ -132,7 +125,25 @@ export const useScheduleStore = defineStore('schedule', () => {
});
}
- return {schedule, events, eventsPerDay, eventsPerTrack, setSchedule}
+ const isConferenceOngoing = () => {
+ if (!schedule.value) {
+ return false
+ }
+ return new Date() >= schedule.value.conference.start && new Date() < schedule.value.conference.end
+ }
+
+ const isConferenceFinished = () => {
+ if (!schedule.value) {
+ return false
+ }
+ return new Date() > schedule.value.conference.end
+ }
+
+ const getStartDate = () => {
+ return schedule.value?.conference.start || 0
+ }
+
+ return {schedule, events, eventsPerDay, eventsPerTrack, setSchedule, isConferenceOngoing, isConferenceFinished, getStartDate}
})
function normalizeDates(event: Event, timeZone: string) {