diff options
| author | Leonardo Bishop <me@leonardobishop.com> | 2025-01-21 01:21:09 +0000 |
|---|---|---|
| committer | Leonardo Bishop <me@leonardobishop.com> | 2025-01-21 01:21:09 +0000 |
| commit | 5d162cb8e0f5d594905a56a9b16f4f68df5f6631 (patch) | |
| tree | cd244bada4f4749a62cf8f8bd533ab54b585fb8f /stores | |
| parent | bfb60f146724219379879468802ee65d02746156 (diff) | |
Improve frontend
Diffstat (limited to 'stores')
| -rw-r--r-- | stores/error.ts | 6 | ||||
| -rw-r--r-- | stores/schedule.ts | 33 |
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) { |
