Add more locations, add all location images, adjust seatGroups in locations

This commit is contained in:
2024-10-08 20:04:56 +02:00
parent 48bfcc9c75
commit 23b9fa3dd2
57 changed files with 606 additions and 381 deletions

View File

@@ -1,7 +1,6 @@
<script setup lang="ts">
import { SeatGroupModel } from '@/data/models/locations/seatGroupModel';
import seatGroupTable from './seatGroupTable.vue';
import { useBasketStore } from '@/data/stores/basketStore';
import standingArea from './standingArea.vue';
import { ConcertModel } from '@/data/models/acts/concertModel';
@@ -10,8 +9,6 @@ defineProps({
concert: ConcertModel,
backgroundColor: String
})
</script>
<template>

View File

@@ -3,7 +3,6 @@ import { ConcertModel } from '@/data/models/acts/concertModel';
import { SeatGroupModel } from '@/data/models/locations/seatGroupModel';
import { SelectedSeatModel } from '@/data/models/ordering/selectedSeatModel';
import { useBasketStore } from '@/data/stores/basketStore';
import { concert } from 'backend/routes/concert.routes';
const basketStore = useBasketStore()
@@ -52,7 +51,7 @@ function handleSeatClick() {
<v-row>
<v-col class="text-center text-h6">
{{ seatGroup.capacity - seatGroup.occupied }} Stehplätze
{{ seatGroup.capacity }} {{ $t('standingPlaces') }}
</v-col>
</v-row>
</v-sheet>

View File

@@ -10,13 +10,15 @@ export class CityModel {
id: number
name: string
address: string
image: string
imageIndoor: string
imageOutdoor: string
nrOfConcerts: number
}> = [{
id: -1,
name: "",
address: "",
image: "",
imageIndoor: "",
imageOutdoor: "",
nrOfConcerts: 0
}]
}

View File

@@ -7,9 +7,9 @@ export class LocationModel {
id: number
name: string
address: string
image: string
imageIndoor: string
imageOutdoor: string
seatSchema: string
logo: string
city: {
name: string
country: string

View File

@@ -5,6 +5,5 @@ export class SeatGroupModel {
surcharge: number
standingArea: Boolean
capacity: number
occupied: number
seatRows: Array<SeatRowModel>
}

View File

@@ -163,5 +163,6 @@
"exerciseGroup": "Aufgabengruppe",
"exercise": "Aufgabe",
"resetProgress": "Aufgabenfortschritt zurücksetzen",
"youAreHere": "Du bist hier:"
"youAreHere": "Du bist hier:",
"standingPlaces": "Stehplätze"
}

View File

@@ -163,5 +163,6 @@
"exerciseGroup": "Exercise group",
"exercise": "Exercise",
"resetProgress": "Reset Exercise Progress",
"youAreHere": "You are here:"
"youAreHere": "You are here:",
"standingPlaces": "Standing capacity"
}

View File

@@ -51,7 +51,6 @@ shoppingStore.getEvents()
<div class="text-h5">
{{ createDateRangeString(event) }}
<!-- {{ console.log(event.concerts) }} -->
</div>
<div class="text-h5">

View File

@@ -18,20 +18,21 @@ const location = ref<LocationModel>(new LocationModel())
feedbackStore.fetchDataFromServerInProgress = true
getLocation(String(router.currentRoute.value.params.locationName).replaceAll('-', ' '))
getLocation(String(router.currentRoute.value.params.locationName))
.then(result => {
location.value = result.data
feedbackStore.fetchDataFromServerInProgress = false
console.log(location.value.seatGroups)
})
</script>
<template>
<hero-image
:title="location.name"
:image="location.image"
:image="location.imageIndoor"
:description="location.address + location.city.name"
:loading="feedbackStore.fetchDataFromServerInProgress"
:logo="location.logo"
:logo="location.imageOutdoor"
>
<template #description>
<p class="text-h6">{{ location.address }}</p>

View File

@@ -49,7 +49,7 @@ shoppingStore.getCities()
<v-row>
<v-col v-for="location in city.locations" cols="3">
<card-with-top-image
:image="location.image"
:image="location.imageOutdoor"
:title="location.name"
@click="router.push('locations/' + location.name.replaceAll(' ', '-').toLowerCase())"
>

View File

@@ -14,7 +14,7 @@ const routes = [
{ path: "/", component: HomePage },
{ path: '/basket', component: BasketPage },
{ path: '/locations', component: LocationsPage },
{ path: '/locations/:locationName', component: LocationDetailPage },
{ path: '/locations/:locationName', name: 'locationDetails', component: LocationDetailPage },
{ path: '/bands/:bandName', component: BandDetailPage },
{ path: '/concert/:id', component: TicketOrderPage },
{ path: '/events', component: EventsPage },