W.I.P EventView

This commit is contained in:
Laurent
2025-03-19 20:38:20 +01:00
parent 9cea2c3239
commit 12c092f3f3
8 changed files with 100 additions and 29 deletions

View File

@@ -1,10 +1,10 @@
import {defineStore} from 'pinia'
import {EventRequests} from "@/requests/EventRequests.ts";
import type {EventDto} from "@/dto/EventDto.ts";
import type {EventState} from "@/models/Event.ts";
import {Event, type EventState} from "@/models/Event.ts";
import type {AttendeeDto} from "@/dto/AttendeeDto.ts";
import type {AttendeeState} from "@/models/Attendee.ts";
import type {TimeStamp, TimeStampState} from "@/models/TimeStamp.ts";
import {Attendee, type AttendeeState} from "@/models/Attendee.ts";
import {TimeStamp, type TimeStampState} from "@/models/TimeStamp.ts";
import type {TimeStampDto} from "@/dto/TimeStampDto.ts";
const requests = new EventRequests();
@@ -19,7 +19,12 @@ export const eventStore = defineStore('eventStore', {
}};
},
getters : {
getEvent() {
getEvent(state) : Event {
let attendees : Attendee[] = state.event.attendees.map((a : AttendeeState) => {
let dates: TimeStamp[] = a.dates.map(d => new TimeStamp(new Date(d.value)))
return new Attendee(a.name, dates);
});
return new Event(state.event.name.toString(), "", attendees);
}
},
actions: {
@@ -30,14 +35,15 @@ export const eventStore = defineStore('eventStore', {
this.event.name = data.name;
this.event.token = data.token;
this.event.attendees = data.attendees.map((p: AttendeeDto) => ({
name: p.name,
dates: p.dates.map((date: TimeStampDto) => ({
this.event.attendees = data.attendees.map((a: AttendeeDto) => ({
name: a.name,
dates: a.dates.map((date: TimeStampDto) => ({
value: date.timestamp
})) as TimeStampState[]
}));
} catch (error) {
console.error("Unable to fetch. " + error);
console.error(error);
throw new Error("Unable to fetch.");
}
},
},