From b9067d79962eecf342140bc7a9ef4b06cfa1b62b Mon Sep 17 00:00:00 2001 From: ogerly Date: Mon, 23 Jan 2023 20:28:20 +0100 Subject: [PATCH] filter menu in content page --- webapp/components/FilterMenu/FilterMenu.vue | 34 ++---------- .../FilterMenu/FilterMenuComponent.vue | 46 ++++++++++++++++ webapp/layouts/default.vue | 2 +- webapp/pages/index.vue | 54 ++++++++++++++++++- 4 files changed, 103 insertions(+), 33 deletions(-) create mode 100644 webapp/components/FilterMenu/FilterMenuComponent.vue diff --git a/webapp/components/FilterMenu/FilterMenu.vue b/webapp/components/FilterMenu/FilterMenu.vue index 28cda6669..2d4d836d5 100644 --- a/webapp/components/FilterMenu/FilterMenu.vue +++ b/webapp/components/FilterMenu/FilterMenu.vue @@ -11,15 +11,7 @@ @@ -27,21 +19,12 @@ - - diff --git a/webapp/components/FilterMenu/FilterMenuComponent.vue b/webapp/components/FilterMenu/FilterMenuComponent.vue new file mode 100644 index 000000000..3f22aaed8 --- /dev/null +++ b/webapp/components/FilterMenu/FilterMenuComponent.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/webapp/layouts/default.vue b/webapp/layouts/default.vue index 06c3315cd..82cd2f598 100644 --- a/webapp/layouts/default.vue +++ b/webapp/layouts/default.vue @@ -5,7 +5,7 @@
- +
diff --git a/webapp/pages/index.vue b/webapp/pages/index.vue index aacdc4344..79291c623 100644 --- a/webapp/pages/index.vue +++ b/webapp/pages/index.vue @@ -4,6 +4,39 @@ + + + + + + {{ filter }} + + + + {{ filterButtonText }} + + +
+ +
+
+ + @@ -65,7 +98,7 @@ import { mapGetters, mapMutations } from 'vuex' import { DonationsQuery } from '~/graphql/Donations' import { filterPosts } from '~/graphql/PostQuery.js' import UpdateQuery from '~/components/utils/UpdateQuery' - +import FilterMenuComponent from '~/components/FilterMenu/FilterMenuComponent' export default { components: { DonationInfo, @@ -74,11 +107,16 @@ export default { HcEmpty, MasonryGrid, MasonryGridItem, + FilterMenuComponent, }, mixins: [postListActions], + props: { + showMobileMenu: { type: Boolean, default: false }, + }, data() { const { hashtag = null } = this.$route.query return { + showFilter: false, showDonations: true, goal: 15000, progress: 7000, @@ -88,6 +126,7 @@ export default { offset: 0, pageSize: 12, hashtag, + categoriesActive: this.$env.CATEGORIES_ACTIVE, } }, computed: { @@ -95,6 +134,16 @@ export default { postsFilter: 'posts/filter', orderBy: 'posts/orderBy', }), + filterButtonIcon() { + if (Object.keys(this.postsFilter).length === 0) { + return this.showFilter ? 'angle-down' : 'angle-up' + } + return 'filter' + }, + filterButtonText() { + if (this.postsFilter.author) return 'Beiträge von Freunden filtern' + return 'Beiträge filtern' + }, finalFilters() { let filter = this.postsFilter if (this.hashtag) { @@ -124,6 +173,9 @@ export default { resetCategories: 'posts/RESET_CATEGORIES', toggleCategory: 'posts/TOGGLE_CATEGORY', }), + removeFilter() { + alert('Filter löschen') + }, clearSearch() { this.$router.push({ path: '/' }) this.hashtag = null