partition tickets by event

This commit is contained in:
j3d1 2024-11-13 23:51:54 +01:00
parent d73bebd5de
commit 41b71bd51a
8 changed files with 85 additions and 20 deletions

View file

@ -6,7 +6,8 @@
{{ getEventSlug }}
</button>
<div class="dropdown-menu bg-dark" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item text-light" href="#" v-for="(event, index) in events" v-bind:key="index"
<a class="dropdown-item text-light" href="#" v-for="(event, index) in selectableEvents"
v-bind:key="index"
:class="{ active: event.slug === getEventSlug }" @click="changeEvent(event)">{{ event.slug }}</a>
</div>
</div>
@ -115,6 +116,9 @@ export default {
computed: {
...mapState(['events']),
...mapGetters(['getEventSlug', 'getActiveView', "checkPermission", "hasPermissions", "layout", "route"]),
selectableEvents() {
return [{slug: 'all'}, ...this.events, {slug: 'none'}];
}
},
methods: {
...mapActions(['changeEvent', 'changeView']),

View file

@ -21,7 +21,7 @@ const store = createStore({
state_options: [],
shippingVouchers: [],
lastEvent: '37C3',
lastEvent: 'all',
lastUsed: {},
searchQuery: '',
remember: false,
@ -358,7 +358,8 @@ const store = createStore({
async searchEventItems({commit, getters, state}, query) {
const encoded_query = base64.encode(utf8.encode(query));
const {data, success} = await http.get(`/2/${getters.getEventSlug}/items/${encoded_query}/`, state.user.token);
const {data, success} = await http.get(`/2/${getters.getEventSlug}/items/${encoded_query}/`,
state.user.token);
if (data && success)
commit('replaceLoadedItems', data);
},
@ -410,7 +411,8 @@ const store = createStore({
async searchEventTickets({commit, getters, state}, query) {
const encoded_query = base64.encode(utf8.encode(query));
const {data, success} = await http.get(`/2/${getters.getEventSlug}/tickets/${encoded_query}/`, state.user.token);
const {data, success} = await http.get(`/2/${getters.getEventSlug}/tickets/${encoded_query}/`,
state.user.token);
if (data && success)
commit('replaceTickets', data);
},