diff --git a/software/backend/server.ts b/software/backend/server.ts index 5cdc112..5f0bd6a 100644 --- a/software/backend/server.ts +++ b/software/backend/server.ts @@ -29,9 +29,9 @@ const path = require('path') app.use('/static', express.static(path.join(__dirname, 'images'))) // Add delay for more realistic response times -// app.use((req, res, next) => { -// setTimeout(next, Math.floor((Math.random () * 4000) + 100)) -// }) +app.use((req, res, next) => { + setTimeout(next, Math.floor((Math.random () * 4000) + 100)) +}) // Routes app.use("/api", api) diff --git a/software/src/data/stores/feedbackStore.ts b/software/src/data/stores/feedbackStore.ts index a83de23..91386de 100644 --- a/software/src/data/stores/feedbackStore.ts +++ b/software/src/data/stores/feedbackStore.ts @@ -9,6 +9,7 @@ export const useFeedbackStore = defineStore("feedbackStore", { title: ref(""), color: ref(""), icon: ref(""), + fetchDataFromServerInProgress: ref(false), $i18n: {} }), diff --git a/software/src/data/stores/shoppingStore.ts b/software/src/data/stores/shoppingStore.ts index f99451e..1224738 100644 --- a/software/src/data/stores/shoppingStore.ts +++ b/software/src/data/stores/shoppingStore.ts @@ -6,24 +6,29 @@ import { fetchAllCities } from "../api/cityApi"; import { CityModel } from "../models/locations/cityModel"; import { GenreModel } from "../models/acts/genreModel"; import { fetchAllGenres } from "../api/genreApi"; +import { useFeedbackStore } from "./feedbackStore"; export const useShoppingStore = defineStore("shoppingStore", { state: () => ({ - events: ref>([ new EventModel() ]), - cities: ref>([ new CityModel() ]), - genres: ref>([ new GenreModel() ]), + events: ref>([]), + cities: ref>([]), + genres: ref>([]), cityFilterName: ref(), genreFilterName: ref() }), actions: { async getEvents() { + const feedbackStore = useFeedbackStore() + feedbackStore.fetchDataFromServerInProgress = true + await fetchEvents( this.cityFilterName != null ? this.cityFilterName : "", this.genreFilterName != null ? this.genreFilterName : "" ) .then(result => { this.events = result.data + feedbackStore.fetchDataFromServerInProgress = false }) }, diff --git a/software/src/pages/events/eventsPage/index.vue b/software/src/pages/events/eventsPage/index.vue index 20d2a18..7507d12 100644 --- a/software/src/pages/events/eventsPage/index.vue +++ b/software/src/pages/events/eventsPage/index.vue @@ -4,9 +4,11 @@ import { createDateRangeString, lowestTicketPrice } from '@/scripts/concertScrip import filterBar from './filterBar.vue'; import { useRouter } from 'vue-router'; import { useShoppingStore } from '@/data/stores/shoppingStore'; +import { useFeedbackStore } from '@/data/stores/feedbackStore'; const router = useRouter() const shoppingStore = useShoppingStore() +const feedbackStore = useFeedbackStore() shoppingStore.getEvents() @@ -23,8 +25,14 @@ shoppingStore.getEvents() + + + + + +