diff --git a/CHANGELOG.md b/CHANGELOG.md index 84e0329..c3c7e39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Added +- added archive button - added automatic latitude longitude fill provided by OpenStreetMap - added RSS source type diff --git a/src/components/ProposedEvents.vue b/src/components/ProposedEvents.vue index 1bba850..4139135 100644 --- a/src/components/ProposedEvents.vue +++ b/src/components/ProposedEvents.vue @@ -76,7 +76,7 @@ export default { }, methods: { paginatedProposedEvents () { - return this.$store.state.proposed_events.slice((this.page - 1) * 10, this.page * 10) + return this.$store.getters.proposed_events.slice((this.page - 1) * 10, this.page * 10) }, acceptEvent(url) { this.$store.commit('updateEventURL', url) diff --git a/src/components/modals/proposed_events/Accept.vue b/src/components/modals/proposed_events/Accept.vue index 201d31b..7e342ff 100644 --- a/src/components/modals/proposed_events/Accept.vue +++ b/src/components/modals/proposed_events/Accept.vue @@ -61,6 +61,14 @@ > Eintragen + diff --git a/src/store/index.js b/src/store/index.js index 283f27a..cf31d07 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -32,11 +32,16 @@ export default new Vuex.Store({ state.proposed_events = state.proposed_events.filter((e) => e.url !== url) } }, + getters: { + proposed_events(state, getters) { + return state.proposed_events.filter((event) => !getters.archivedEvents.has(event.url)) + } + }, modules: { auth, selection }, plugins: [createPersistedState({ - paths: ['auth'] + paths: ['auth', 'selection.archivedEvents'] })] }) diff --git a/src/store/selection.js b/src/store/selection.js index 8897cdf..f80d03d 100644 --- a/src/store/selection.js +++ b/src/store/selection.js @@ -2,9 +2,18 @@ export default { state: { locationName: null, sourceURL: null, - eventURL: null + eventURL: null, + archivedEvents: [] + }, + getters: { + archivedEvents (state) { + return new Set(state.archivedEvents) + } }, mutations: { + archiveEvent(state, url) { + state.archivedEvents.push(url) + }, updateLocationName(state, name) { state.locationName = name },