diff --git a/webapp/assets/_new/icons/svgs/book.svg b/webapp/assets/_new/icons/svgs/book.svg new file mode 100644 index 000000000..305e367ac --- /dev/null +++ b/webapp/assets/_new/icons/svgs/book.svg @@ -0,0 +1,5 @@ + + +book + + diff --git a/webapp/assets/_new/icons/svgs/calendar.svg b/webapp/assets/_new/icons/svgs/calendar.svg new file mode 100644 index 000000000..5a67a8299 --- /dev/null +++ b/webapp/assets/_new/icons/svgs/calendar.svg @@ -0,0 +1,5 @@ + + +calendar + + diff --git a/webapp/components/FilterMenu/FilterMenuComponent.vue b/webapp/components/FilterMenu/FilterMenuComponent.vue index 7a582a7c4..708c3bc7c 100644 --- a/webapp/components/FilterMenu/FilterMenuComponent.vue +++ b/webapp/components/FilterMenu/FilterMenuComponent.vue @@ -3,6 +3,7 @@

{{ $t('filter-menu.filter-by') }}

+
@@ -13,6 +14,7 @@ diff --git a/webapp/locales/de.json b/webapp/locales/de.json index fe39eed69..6ed6efd02 100644 --- a/webapp/locales/de.json +++ b/webapp/locales/de.json @@ -377,9 +377,11 @@ }, "filter-menu": { "all": "Alle", + "article": "Artikel", "categories": "Themen", "deleteFilter": "Filter löschen", "emotions": "Emotionen", + "events": "Veranstaltungen", "filter-by": "Filtern nach ...", "following": "Nutzer denen ich folge", "languages": "Sprachen", @@ -395,6 +397,7 @@ } }, "order-by": "Sortieren nach ...", + "post-type": "Beitrags-Typ", "save": { "error": "Themen konnten nicht gespeichert werden!", "success": "Themen gespeichert!" diff --git a/webapp/locales/en.json b/webapp/locales/en.json index 92f5687c2..14b8f85e3 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -377,9 +377,11 @@ }, "filter-menu": { "all": "All", + "article": "Article", "categories": "Topics", "deleteFilter": "Delete filter", "emotions": "Emotions", + "events": "Events", "filter-by": "Filter by ...", "following": "Users I follow", "languages": "Languages", @@ -395,6 +397,7 @@ } }, "order-by": "Order by ...", + "post-type": "Post type", "save": { "error": "Failed saving topic settings!", "success": "Topics saved!" diff --git a/webapp/store/posts.js b/webapp/store/posts.js index 587867b0e..6deb2ed15 100644 --- a/webapp/store/posts.js +++ b/webapp/store/posts.js @@ -63,6 +63,12 @@ export const mutations = { if (isEmpty(get(filter, 'categories_some.id_in'))) delete filter.categories_some state.filter = filter }, + TOGGLE_POST_TYPE(state, postType) { + const filter = clone(state.filter) + update(filter, 'postType_in', (postTypes) => xor(postTypes, [postType])) + if (isEmpty(get(filter, 'postType_in'))) delete filter.postType_in + state.filter = filter + }, TOGGLE_LANGUAGE(state, languageCode) { const filter = clone(state.filter) update(filter, 'language_in', (languageCodes) => xor(languageCodes, [languageCode])) @@ -90,6 +96,9 @@ export const getters = { filteredCategoryIds(state) { return get(state.filter, 'categories_some.id_in') || [] }, + filteredPostTypes(state) { + return get(state.filter, 'postType_in') || [] + }, filteredLanguageCodes(state) { return get(state.filter, 'language_in') || [] },