Add more locations, add all location images, adjust seatGroups in locations
576
software/backend/data/cities-locations.json
Normal file
@@ -0,0 +1,576 @@
|
|||||||
|
{
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"name": "Hannover",
|
||||||
|
"country": "Germany",
|
||||||
|
"locations": [
|
||||||
|
{
|
||||||
|
"id": 0,
|
||||||
|
"name": "Swiss Life Hall",
|
||||||
|
"address": "Ferdinand-Wilhelm-Fricke-Weg 8",
|
||||||
|
"imageIndoor": "locations/swiss-life-hall-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/swiss-life-hall-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 40
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "D",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "E",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "F",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"name": "Capitol",
|
||||||
|
"address": "Schwarzer Bär 2",
|
||||||
|
"imageIndoor": "locations/capitol-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/capitol-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 50
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"name": "ZAG Arena",
|
||||||
|
"address": "EXPO-Plaza 7",
|
||||||
|
"imageIndoor": "locations/zag-arena-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/zag-arena-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 40
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "D",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "E",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "F",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"name": "Kulturzentrum Faust",
|
||||||
|
"address": "Zur Bettfedernfabrik 3",
|
||||||
|
"imageIndoor": "locations/faust-hannover-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/faust-hannover-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 25
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "München",
|
||||||
|
"country": "Germany",
|
||||||
|
"locations": [
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"name": "Olympiahalle München",
|
||||||
|
"address": "Spiridon-Louis-Ring 21",
|
||||||
|
"imageIndoor": "locations/olympiahalle-munich-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/olympiahalle-munich-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 60
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "D",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "E",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "F",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"name": "Schlachthof München",
|
||||||
|
"address": "Zenettistraße 9",
|
||||||
|
"imageIndoor": "locations/schlachthof-munich-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/schlachthof-munich-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 40
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"name": "Muffatwerk",
|
||||||
|
"address": "Zellstraße 4",
|
||||||
|
"imageIndoor": "locations/muffatwerk-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/muffatwerk-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 60
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Hamburg",
|
||||||
|
"country": "Germany",
|
||||||
|
"locations": [
|
||||||
|
{
|
||||||
|
"id": 7,
|
||||||
|
"name": "Volksparkstadion",
|
||||||
|
"address": "Sylvesterallee 7",
|
||||||
|
"imageIndoor": "locations/volksparkstadion-hamburg-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/volksparkstadion-hamburg-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 50
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "D",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "E",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "F",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 16
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 8,
|
||||||
|
"name": "Barclays Arena",
|
||||||
|
"address": "Sylvesterallee 10",
|
||||||
|
"imageIndoor": "locations/barclays-arena-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/barclays-arena-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": false,
|
||||||
|
"capacity": 40
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Berlin",
|
||||||
|
"country": "Germany",
|
||||||
|
"locations": [
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"name": "Waldbühne Berlin",
|
||||||
|
"address": "Am Glockenturm",
|
||||||
|
"imageIndoor": "locations/waldbuehne-berlin-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/waldbuehne-berlin-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": false,
|
||||||
|
"capacity": 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 25
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"name": "Olympiastadion Berlin",
|
||||||
|
"address": "Olympischer Platz 3",
|
||||||
|
"imageIndoor": "locations/olympiastadion-berlin-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/olympiastadion-berlin-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 60
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "D",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "E",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "F",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"name": "Uber Arena Berlin",
|
||||||
|
"address": "Uber-Platz 1",
|
||||||
|
"imageIndoor": "locations/uber-arena-berlin-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/uber-arena-berlin-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 50
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "D",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "E",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "F",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"name": "Columbiahalle",
|
||||||
|
"address": "Columbiadamm 13-21",
|
||||||
|
"imageIndoor": "locations/columbiahalle-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/columbiahalle-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 50
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 30
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 13,
|
||||||
|
"name": "Astra Kulturhaus",
|
||||||
|
"address": "Revaler Straße 99",
|
||||||
|
"imageIndoor": "locations/astra-kulturhaus-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/astra-kulturhaus-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 0,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 40
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Köln",
|
||||||
|
"country": "Germany",
|
||||||
|
"locations": [
|
||||||
|
{
|
||||||
|
"id": 14,
|
||||||
|
"name": "LANXESS arena",
|
||||||
|
"address": "Willy-Brandt-Platz",
|
||||||
|
"imageIndoor": "locations/lanxess-arena-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/lanxess-arena-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 20,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 50
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "B",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 5,
|
||||||
|
"capacity": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "D",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "E",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "F",
|
||||||
|
"surcharge": 10,
|
||||||
|
"standingArea": false,
|
||||||
|
"rows": 3,
|
||||||
|
"capacity": 12
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 15,
|
||||||
|
"name": "Palladium",
|
||||||
|
"address": "Schanzenstraße 40",
|
||||||
|
"imageIndoor": "locations/palladium-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/palladium-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 0,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 50
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 16,
|
||||||
|
"name": "E-Werk",
|
||||||
|
"address": "Schanzenstraße 37",
|
||||||
|
"imageIndoor": "locations/e-werk-indoor.jpg",
|
||||||
|
"imageOutdoor": "locations/e-werk-outdoor.jpg",
|
||||||
|
"seatGroups": [
|
||||||
|
{
|
||||||
|
"name": "A",
|
||||||
|
"surcharge": 0,
|
||||||
|
"standingArea": true,
|
||||||
|
"capacity": 40
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,353 +0,0 @@
|
|||||||
{
|
|
||||||
"data": [
|
|
||||||
{
|
|
||||||
"name": "Hannover",
|
|
||||||
"country": "Germany",
|
|
||||||
"locations": [
|
|
||||||
{
|
|
||||||
"id": 0,
|
|
||||||
"name": "Swiss Life Hall",
|
|
||||||
"address": "Ferdinand-Wilhelm-Fricke-Weg 8",
|
|
||||||
"image": "locations/swiss-life-hall.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 40
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "B",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 5,
|
|
||||||
"capacity": 25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "C",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 5,
|
|
||||||
"capacity": 25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "D",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 3,
|
|
||||||
"capacity": 30
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "E",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 3,
|
|
||||||
"capacity": 12
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "F",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 3,
|
|
||||||
"capacity": 12
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"name": "Capitol",
|
|
||||||
"address": "Schwarzer Bär 2",
|
|
||||||
"image": "locations/capitol.jpg",
|
|
||||||
"logo": "locations/capitol-logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 50
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"name": "ZAG Arena",
|
|
||||||
"address": "EXPO-Plaza 7",
|
|
||||||
"image": "locations/zag-arena.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 40
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "B",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 5,
|
|
||||||
"capacity": 25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "C",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 5,
|
|
||||||
"capacity": 25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "D",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 3,
|
|
||||||
"capacity": 30
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "E",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 3,
|
|
||||||
"capacity": 12
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "F",
|
|
||||||
"surcharge": 10,
|
|
||||||
"standingArea": false,
|
|
||||||
"rows": 3,
|
|
||||||
"capacity": 12
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"name": "Kulturzentrum Faust",
|
|
||||||
"address": "Zur Bettfedernfabrik 3",
|
|
||||||
"image": "locations/faust-hannover.jpg",
|
|
||||||
"logo": "locations/faust-logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "München",
|
|
||||||
"country": "Germany",
|
|
||||||
"locations": [
|
|
||||||
{
|
|
||||||
"id": 4,
|
|
||||||
"name": "Olympiahalle München",
|
|
||||||
"address": "Spiridon-Louis-Ring 21",
|
|
||||||
"image": "locations/olympiahalle-munich.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 5,
|
|
||||||
"name": "Schlachthof München",
|
|
||||||
"address": "Zenettistraße 9",
|
|
||||||
"image": "locations/schlachthof-munich.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 6,
|
|
||||||
"name": "Muffatwerk",
|
|
||||||
"address": "Zellstraße 4",
|
|
||||||
"image": "locations/muffatwerk.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hamburg",
|
|
||||||
"country": "Germany",
|
|
||||||
"locations": [
|
|
||||||
{
|
|
||||||
"id": 7,
|
|
||||||
"name": "Elbphilharmonie Hamburg",
|
|
||||||
"address": "Platz der deutschen Einheit",
|
|
||||||
"image": "locations/elbphilharmonie-hamburg.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 8,
|
|
||||||
"name": "Volksparkstadion",
|
|
||||||
"address": "Sylvesterallee 7",
|
|
||||||
"image": "locations/volksparkstadion-hamburg.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 9,
|
|
||||||
"name": "Barclays Arena",
|
|
||||||
"address": "Sylvesterallee 10",
|
|
||||||
"image": "locations/barclays-arena.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10,
|
|
||||||
"name": "Stage Theater im Hafen Hamburg",
|
|
||||||
"address": "Norderelbestraße 6",
|
|
||||||
"image": "locations/stage-theater-hamburg.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Berlin",
|
|
||||||
"country": "Germany",
|
|
||||||
"locations": [
|
|
||||||
{
|
|
||||||
"id": 11,
|
|
||||||
"name": "Waldbühne Berlin",
|
|
||||||
"address": "Am Glockenturm",
|
|
||||||
"image": "locations/waldbuehne-berlin.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 12,
|
|
||||||
"name": "Olympiastadion Berlin",
|
|
||||||
"address": "Olympischer Platz 3",
|
|
||||||
"image": "locations/olympiastadion-berlin.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 13,
|
|
||||||
"name": "Uber Arena Berlin",
|
|
||||||
"address": "Uber-Platz 1",
|
|
||||||
"image": "locations/uber-arena-berlin.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 14,
|
|
||||||
"name": "Columbiahalle",
|
|
||||||
"address": "Columbiadamm 13-21",
|
|
||||||
"image": "locations/columbiahalle.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 15,
|
|
||||||
"name": "Astra Kulturhaus",
|
|
||||||
"address": "Revaler Straße 99",
|
|
||||||
"image": "locations/astra-kulturhaus.jpg",
|
|
||||||
"logo": "locations/capitol.logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 16,
|
|
||||||
"name": "Deutsche Oper Berlin",
|
|
||||||
"address": "Bismarckstraße 35",
|
|
||||||
"image": "locations/deutsche-oper-berlin.jpg",
|
|
||||||
"logo": "locations/capitol-logo.png",
|
|
||||||
"seatGroups": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"surcharge": 20,
|
|
||||||
"standingArea": true,
|
|
||||||
"capacity": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 128 KiB |
BIN
software/backend/images/locations/astra-kulturhaus-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 447 KiB |
BIN
software/backend/images/locations/barclays-arena-indoor.jpg
Normal file
|
After Width: | Height: | Size: 480 KiB |
|
Before Width: | Height: | Size: 383 KiB After Width: | Height: | Size: 383 KiB |
BIN
software/backend/images/locations/capitol-indoor.jpg
Normal file
|
After Width: | Height: | Size: 646 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 648 KiB After Width: | Height: | Size: 648 KiB |
|
Before Width: | Height: | Size: 624 KiB After Width: | Height: | Size: 624 KiB |
BIN
software/backend/images/locations/columbiahalle-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 98 KiB |
BIN
software/backend/images/locations/e-werk-indoor.jpg
Normal file
|
After Width: | Height: | Size: 233 KiB |
BIN
software/backend/images/locations/e-werk-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 386 KiB |
|
Before Width: | Height: | Size: 350 KiB After Width: | Height: | Size: 350 KiB |
BIN
software/backend/images/locations/faust-hannover-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 27 KiB |
BIN
software/backend/images/locations/lanxess-arena-indoor.jpg
Normal file
|
After Width: | Height: | Size: 739 KiB |
BIN
software/backend/images/locations/lanxess-arena-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 677 KiB |
|
Before Width: | Height: | Size: 329 KiB After Width: | Height: | Size: 329 KiB |
BIN
software/backend/images/locations/muffatwerk-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 153 KiB |
BIN
software/backend/images/locations/olympiahalle-munich-indoor.jpg
Normal file
|
After Width: | Height: | Size: 316 KiB |
|
Before Width: | Height: | Size: 951 KiB After Width: | Height: | Size: 951 KiB |
|
Before Width: | Height: | Size: 600 KiB After Width: | Height: | Size: 600 KiB |
|
After Width: | Height: | Size: 281 KiB |
BIN
software/backend/images/locations/palladium-indoor.jpg
Normal file
|
After Width: | Height: | Size: 423 KiB |
BIN
software/backend/images/locations/palladium-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 188 KiB |
BIN
software/backend/images/locations/schlachthof-munich-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 370 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 197 KiB |
BIN
software/backend/images/locations/swiss-life-hall-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 179 KiB |
BIN
software/backend/images/locations/uber-arena-berlin-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 350 KiB |
|
Before Width: | Height: | Size: 423 KiB After Width: | Height: | Size: 423 KiB |
|
After Width: | Height: | Size: 989 KiB |
|
Before Width: | Height: | Size: 321 KiB After Width: | Height: | Size: 321 KiB |
BIN
software/backend/images/locations/waldbuehne-berlin-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 13 MiB |
|
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 201 KiB |
BIN
software/backend/images/locations/zag-arena-outdoor.jpg
Normal file
|
After Width: | Height: | Size: 118 KiB |
@@ -5,6 +5,9 @@ import { SeatGroup } from "./seatGroup.model";
|
|||||||
|
|
||||||
@Table({ timestamps: false })
|
@Table({ timestamps: false })
|
||||||
export class Location extends Model {
|
export class Location extends Model {
|
||||||
|
@Column
|
||||||
|
urlName: string
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
name: String
|
name: String
|
||||||
|
|
||||||
@@ -16,10 +19,10 @@ export class Location extends Model {
|
|||||||
cityId: Number
|
cityId: Number
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
image: String
|
imageIndoor: String
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
logo: String
|
imageOutdoor: String
|
||||||
|
|
||||||
|
|
||||||
// Relations
|
// Relations
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ exercises.get("/", (req: Request, res: Response) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
exercises.post("/:groupNr/:exerciseNr/:state", (req: Request, res: Response) => {
|
exercises.post("/:groupNr/:exerciseNr/:state", (req: Request, res: Response) => {
|
||||||
console.log(req.params.groupNr)
|
|
||||||
ExerciseGroup.findOne({
|
ExerciseGroup.findOne({
|
||||||
where: { groupNr: req.params.groupNr }
|
where: { groupNr: req.params.groupNr }
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -70,9 +70,9 @@ location.get("/", (req: Request, res: Response) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
location.get("/:name", (req: Request, res: Response) => {
|
location.get("/:urlName", (req: Request, res: Response) => {
|
||||||
Location.findOne({
|
Location.findOne({
|
||||||
where: { name: { [Op.like]: req.params.name } },
|
where: { urlName: req.params.urlName },
|
||||||
include: [
|
include: [
|
||||||
City,
|
City,
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import accountRoles from "./../data/accountRoles.json"
|
|||||||
import bands from "./../data/bands.json"
|
import bands from "./../data/bands.json"
|
||||||
import genres from "./../data/genres.json"
|
import genres from "./../data/genres.json"
|
||||||
import events from "./../data/events.json"
|
import events from "./../data/events.json"
|
||||||
import cities from "./../data/cities.json"
|
import citiesLocations from "./../data/cities-locations.json"
|
||||||
import exercises from "./../data/exercises.json"
|
import exercises from "./../data/exercises.json"
|
||||||
|
|
||||||
|
|
||||||
@@ -82,13 +82,14 @@ export async function prepopulateDatabase() {
|
|||||||
AccountRole.bulkCreate(accountRoles.data)
|
AccountRole.bulkCreate(accountRoles.data)
|
||||||
Genre.bulkCreate(genres.data)
|
Genre.bulkCreate(genres.data)
|
||||||
|
|
||||||
for (let city of cities.data)
|
for (let city of citiesLocations.data)
|
||||||
{
|
{
|
||||||
await City.create(city)
|
await City.create(city)
|
||||||
.then(async cityDataset => {
|
.then(async cityDataset => {
|
||||||
for (let location of city.locations)
|
for (let location of city.locations)
|
||||||
{
|
{
|
||||||
location["cityId"] = cityDataset.id
|
location["cityId"] = cityDataset.id
|
||||||
|
location["urlName"] = location.name.replaceAll(" ", "-").toLowerCase()
|
||||||
|
|
||||||
await Location.create(location)
|
await Location.create(location)
|
||||||
.then(async locationDataset => {
|
.then(async locationDataset => {
|
||||||
|
|||||||
@@ -30,9 +30,9 @@ const path = require('path')
|
|||||||
app.use('/static', express.static(path.join(__dirname, 'images')))
|
app.use('/static', express.static(path.join(__dirname, 'images')))
|
||||||
|
|
||||||
// Add delay for more realistic response times
|
// Add delay for more realistic response times
|
||||||
app.use((req, res, next) => {
|
// app.use((req, res, next) => {
|
||||||
setTimeout(next, Math.floor((Math.random () * 2000) + 100))
|
// setTimeout(next, Math.floor((Math.random () * 2000) + 100))
|
||||||
})
|
// })
|
||||||
|
|
||||||
// Routes
|
// Routes
|
||||||
app.use("/api", api)
|
app.use("/api", api)
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { SeatGroupModel } from '@/data/models/locations/seatGroupModel';
|
import { SeatGroupModel } from '@/data/models/locations/seatGroupModel';
|
||||||
import seatGroupTable from './seatGroupTable.vue';
|
import seatGroupTable from './seatGroupTable.vue';
|
||||||
import { useBasketStore } from '@/data/stores/basketStore';
|
|
||||||
import standingArea from './standingArea.vue';
|
import standingArea from './standingArea.vue';
|
||||||
import { ConcertModel } from '@/data/models/acts/concertModel';
|
import { ConcertModel } from '@/data/models/acts/concertModel';
|
||||||
|
|
||||||
@@ -10,8 +9,6 @@ defineProps({
|
|||||||
concert: ConcertModel,
|
concert: ConcertModel,
|
||||||
backgroundColor: String
|
backgroundColor: String
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import { ConcertModel } from '@/data/models/acts/concertModel';
|
|||||||
import { SeatGroupModel } from '@/data/models/locations/seatGroupModel';
|
import { SeatGroupModel } from '@/data/models/locations/seatGroupModel';
|
||||||
import { SelectedSeatModel } from '@/data/models/ordering/selectedSeatModel';
|
import { SelectedSeatModel } from '@/data/models/ordering/selectedSeatModel';
|
||||||
import { useBasketStore } from '@/data/stores/basketStore';
|
import { useBasketStore } from '@/data/stores/basketStore';
|
||||||
import { concert } from 'backend/routes/concert.routes';
|
|
||||||
|
|
||||||
const basketStore = useBasketStore()
|
const basketStore = useBasketStore()
|
||||||
|
|
||||||
@@ -52,7 +51,7 @@ function handleSeatClick() {
|
|||||||
|
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col class="text-center text-h6">
|
<v-col class="text-center text-h6">
|
||||||
{{ seatGroup.capacity - seatGroup.occupied }} Stehplätze
|
{{ seatGroup.capacity }} {{ $t('standingPlaces') }}
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-sheet>
|
</v-sheet>
|
||||||
|
|||||||
@@ -10,13 +10,15 @@ export class CityModel {
|
|||||||
id: number
|
id: number
|
||||||
name: string
|
name: string
|
||||||
address: string
|
address: string
|
||||||
image: string
|
imageIndoor: string
|
||||||
|
imageOutdoor: string
|
||||||
nrOfConcerts: number
|
nrOfConcerts: number
|
||||||
}> = [{
|
}> = [{
|
||||||
id: -1,
|
id: -1,
|
||||||
name: "",
|
name: "",
|
||||||
address: "",
|
address: "",
|
||||||
image: "",
|
imageIndoor: "",
|
||||||
|
imageOutdoor: "",
|
||||||
nrOfConcerts: 0
|
nrOfConcerts: 0
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
@@ -7,9 +7,9 @@ export class LocationModel {
|
|||||||
id: number
|
id: number
|
||||||
name: string
|
name: string
|
||||||
address: string
|
address: string
|
||||||
image: string
|
imageIndoor: string
|
||||||
|
imageOutdoor: string
|
||||||
seatSchema: string
|
seatSchema: string
|
||||||
logo: string
|
|
||||||
city: {
|
city: {
|
||||||
name: string
|
name: string
|
||||||
country: string
|
country: string
|
||||||
|
|||||||
@@ -5,6 +5,5 @@ export class SeatGroupModel {
|
|||||||
surcharge: number
|
surcharge: number
|
||||||
standingArea: Boolean
|
standingArea: Boolean
|
||||||
capacity: number
|
capacity: number
|
||||||
occupied: number
|
|
||||||
seatRows: Array<SeatRowModel>
|
seatRows: Array<SeatRowModel>
|
||||||
}
|
}
|
||||||
@@ -163,5 +163,6 @@
|
|||||||
"exerciseGroup": "Aufgabengruppe",
|
"exerciseGroup": "Aufgabengruppe",
|
||||||
"exercise": "Aufgabe",
|
"exercise": "Aufgabe",
|
||||||
"resetProgress": "Aufgabenfortschritt zurücksetzen",
|
"resetProgress": "Aufgabenfortschritt zurücksetzen",
|
||||||
"youAreHere": "Du bist hier:"
|
"youAreHere": "Du bist hier:",
|
||||||
|
"standingPlaces": "Stehplätze"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -163,5 +163,6 @@
|
|||||||
"exerciseGroup": "Exercise group",
|
"exerciseGroup": "Exercise group",
|
||||||
"exercise": "Exercise",
|
"exercise": "Exercise",
|
||||||
"resetProgress": "Reset Exercise Progress",
|
"resetProgress": "Reset Exercise Progress",
|
||||||
"youAreHere": "You are here:"
|
"youAreHere": "You are here:",
|
||||||
|
"standingPlaces": "Standing capacity"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ shoppingStore.getEvents()
|
|||||||
|
|
||||||
<div class="text-h5">
|
<div class="text-h5">
|
||||||
{{ createDateRangeString(event) }}
|
{{ createDateRangeString(event) }}
|
||||||
<!-- {{ console.log(event.concerts) }} -->
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="text-h5">
|
<div class="text-h5">
|
||||||
|
|||||||
@@ -18,20 +18,21 @@ const location = ref<LocationModel>(new LocationModel())
|
|||||||
|
|
||||||
feedbackStore.fetchDataFromServerInProgress = true
|
feedbackStore.fetchDataFromServerInProgress = true
|
||||||
|
|
||||||
getLocation(String(router.currentRoute.value.params.locationName).replaceAll('-', ' '))
|
getLocation(String(router.currentRoute.value.params.locationName))
|
||||||
.then(result => {
|
.then(result => {
|
||||||
location.value = result.data
|
location.value = result.data
|
||||||
feedbackStore.fetchDataFromServerInProgress = false
|
feedbackStore.fetchDataFromServerInProgress = false
|
||||||
|
console.log(location.value.seatGroups)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<hero-image
|
<hero-image
|
||||||
:title="location.name"
|
:title="location.name"
|
||||||
:image="location.image"
|
:image="location.imageIndoor"
|
||||||
:description="location.address + location.city.name"
|
:description="location.address + location.city.name"
|
||||||
:loading="feedbackStore.fetchDataFromServerInProgress"
|
:loading="feedbackStore.fetchDataFromServerInProgress"
|
||||||
:logo="location.logo"
|
:logo="location.imageOutdoor"
|
||||||
>
|
>
|
||||||
<template #description>
|
<template #description>
|
||||||
<p class="text-h6">{{ location.address }}</p>
|
<p class="text-h6">{{ location.address }}</p>
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ shoppingStore.getCities()
|
|||||||
<v-row>
|
<v-row>
|
||||||
<v-col v-for="location in city.locations" cols="3">
|
<v-col v-for="location in city.locations" cols="3">
|
||||||
<card-with-top-image
|
<card-with-top-image
|
||||||
:image="location.image"
|
:image="location.imageOutdoor"
|
||||||
:title="location.name"
|
:title="location.name"
|
||||||
@click="router.push('locations/' + location.name.replaceAll(' ', '-').toLowerCase())"
|
@click="router.push('locations/' + location.name.replaceAll(' ', '-').toLowerCase())"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ const routes = [
|
|||||||
{ path: "/", component: HomePage },
|
{ path: "/", component: HomePage },
|
||||||
{ path: '/basket', component: BasketPage },
|
{ path: '/basket', component: BasketPage },
|
||||||
{ path: '/locations', component: LocationsPage },
|
{ path: '/locations', component: LocationsPage },
|
||||||
{ path: '/locations/:locationName', component: LocationDetailPage },
|
{ path: '/locations/:locationName', name: 'locationDetails', component: LocationDetailPage },
|
||||||
{ path: '/bands/:bandName', component: BandDetailPage },
|
{ path: '/bands/:bandName', component: BandDetailPage },
|
||||||
{ path: '/concert/:id', component: TicketOrderPage },
|
{ path: '/concert/:id', component: TicketOrderPage },
|
||||||
{ path: '/events', component: EventsPage },
|
{ path: '/events', component: EventsPage },
|
||||||
|
|||||||