diff --git a/webapp/components/CategoriesSelect/CategoriesSelect.vue b/webapp/components/CategoriesSelect/CategoriesSelect.vue index 7fc9bcf1ca..4f7a555a30 100644 --- a/webapp/components/CategoriesSelect/CategoriesSelect.vue +++ b/webapp/components/CategoriesSelect/CategoriesSelect.vue @@ -23,6 +23,7 @@ import CategoryQuery from '~/graphql/CategoryQuery' import { CATEGORIES_MAX } from '~/constants/categories.js' import xor from 'lodash/xor' +import SortCategories from '~/mixins/sortCategoriesMixin.js' export default { inject: { @@ -30,6 +31,7 @@ export default { default: null, }, }, + mixins: [SortCategories], props: { existingCategoryIds: { type: Array, default: () => [] }, model: { type: String, required: true }, @@ -72,7 +74,7 @@ export default { return CategoryQuery() }, result({ data: { Category } }) { - this.categories = Category + this.categories = this.sortCategories(Category) }, }, }, diff --git a/webapp/components/FilterMenu/CategoriesFilter.vue b/webapp/components/FilterMenu/CategoriesFilter.vue index 0d27507f9a..5db8d1fdd4 100644 --- a/webapp/components/FilterMenu/CategoriesFilter.vue +++ b/webapp/components/FilterMenu/CategoriesFilter.vue @@ -39,12 +39,14 @@ import CategoryQuery from '~/graphql/CategoryQuery.js' import SaveCategories from '~/graphql/SaveCategories.js' import FilterMenuSection from '~/components/FilterMenu/FilterMenuSection' import LabeledButton from '~/components/_new/generic/LabeledButton/LabeledButton' +import SortCategories from '~/mixins/sortCategoriesMixin.js' export default { components: { FilterMenuSection, LabeledButton, }, + mixins: [SortCategories], props: { showMobileMenu: { type: Boolean, default: false }, }, @@ -84,7 +86,7 @@ export default { }, update({ Category }) { if (!Category) return [] - this.categories = Category + this.categories = this.sortCategories(Category) }, fetchPolicy: 'cache-and-network', }, diff --git a/webapp/mixins/sortCategoriesMixin.js b/webapp/mixins/sortCategoriesMixin.js new file mode 100644 index 0000000000..2a22a86100 --- /dev/null +++ b/webapp/mixins/sortCategoriesMixin.js @@ -0,0 +1,25 @@ +export default { + methods: { + sortCategories(categories) { + const miscSlug = 'miscellaneous' + const misc = categories.find((cat) => cat.slug === miscSlug) + const sortedCategories = categories + .filter((cat) => cat.slug !== miscSlug) + .sort((a, b) => { + if ( + this.$t(`contribution.category.name.${a.slug}`) < + this.$t(`contribution.category.name.${b.slug}`) + ) + return -1 + if ( + this.$t(`contribution.category.name.${a.slug}`) > + this.$t(`contribution.category.name.${b.slug}`) + ) + return 1 + return 0 + }) + if (misc) sortedCategories.push(misc) + return sortedCategories + }, + }, +} diff --git a/webapp/pages/group/_id/_slug.vue b/webapp/pages/group/_id/_slug.vue index d1b410081e..1b6d660334 100644 --- a/webapp/pages/group/_id/_slug.vue +++ b/webapp/pages/group/_id/_slug.vue @@ -26,10 +26,10 @@ /> + @unmute="unmuteUser" + @block="blockUser" + @unblock="unblockUser" + @delete="deleteUser" --> @@ -65,38 +65,38 @@ + + + + + + --> + + + + + + -->
+ {{ $t('settings.blocked-users.unblock') }} + + + {{ $t('settings.muted-users.unmute') }} + + --> + v-if="!user.isMuted && !user.isBlocked" -->

@@ -161,7 +161,9 @@
@@ -211,19 +213,19 @@ @fetchAllProfiles="fetchAllMembers" /> + + + --> @@ -326,6 +328,7 @@ import MasonryGridItem from '~/components/MasonryGrid/MasonryGridItem.vue' import PostTeaser from '~/components/PostTeaser/PostTeaser.vue' import ProfileAvatar from '~/components/_new/generic/ProfileAvatar/ProfileAvatar' import ProfileList from '~/components/features/ProfileList/ProfileList' +import SortCategories from '~/mixins/sortCategoriesMixin.js' // import SocialMedia from '~/components/SocialMedia/SocialMedia' // import TabNavigation from '~/components/_new/generic/TabNavigation/TabNavigation' @@ -356,7 +359,7 @@ export default { // SocialMedia, // TabNavigation, }, - mixins: [postListActions], + mixins: [postListActions, SortCategories], transition: { name: 'slide-up', mode: 'out-in', diff --git a/webapp/pages/post/_id/_slug/index.vue b/webapp/pages/post/_id/_slug/index.vue index 2366eb0723..6e104bc534 100644 --- a/webapp/pages/post/_id/_slug/index.vue +++ b/webapp/pages/post/_id/_slug/index.vue @@ -61,7 +61,7 @@