From 2900c3818c33d45656f67fa13bb549e11eb24101 Mon Sep 17 00:00:00 2001 From: wvffle Date: Thu, 21 Jul 2022 00:19:31 +0000 Subject: [PATCH] Fix #1829 --- .editorconfig | 2 +- front/src/components/Sidebar.vue | 24 ++++++++++++ front/src/components/library/EditForm.vue | 2 +- .../manage/moderation/InstancePolicyModal.vue | 4 +- front/src/router/routes/manage.ts | 4 +- front/src/store/ui.ts | 2 +- front/src/views/admin/library/EditsList.vue | 39 +++++++++---------- 7 files changed, 50 insertions(+), 27 deletions(-) diff --git a/.editorconfig b/.editorconfig index f1b072246..11a1b970a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -18,7 +18,7 @@ known_first_party=funkwhale_api multi_line_output=3 default_section=THIRDPARTY -[*.{html,js,vue,css,scss,json,yml}] +[*.{html,js,vue,css,scss,json,yml,ts}] indent_style = space indent_size = 2 diff --git a/front/src/components/Sidebar.vue b/front/src/components/Sidebar.vue index db825ab98..f8aecc373 100644 --- a/front/src/components/Sidebar.vue +++ b/front/src/components/Sidebar.vue @@ -9,6 +9,7 @@ import SemanticModal from '~/components/semantic/Modal.vue' import useThemeList from '~/composables/useThemeList' import useTheme from '~/composables/useTheme' +import axios from 'axios' import { useRoute } from 'vue-router' import { computed, ref, watch, watchEffect, onMounted } from 'vue' import { useGettext } from 'vue3-gettext' @@ -93,6 +94,29 @@ const moderationNotifications = computed(() => + store.state.ui.notifications.pendingReviewRequests ) +Promise.resolve().then(async () => { + const [edits, reports, requests] = await Promise.all([ + axios.get('mutations/', { params: { page_size: 1 } }), + axios.get('manage/moderation/reports/', { params: { page_size: 1 } }), + axios.get('manage/moderation/requests/', { params: { page_size: 1 } }) + ]) + + store.commit('ui/incrementNotifications', { + type: 'pendingReviewEdits', + value: edits.data.count + }) + + store.commit('ui/incrementNotifications', { + type: 'pendingReviewRequests', + value: requests.data.count + }) + + store.commit('ui/incrementNotifications', { + type: 'pendingReviewReports', + value: reports.data.count + }) +}) + const isProduction = import.meta.env.PROD const showUserModal = ref(false) const showLanguageModal = ref(false) diff --git a/front/src/components/library/EditForm.vue b/front/src/components/library/EditForm.vue index 51184cc90..e060b1b68 100644 --- a/front/src/components/library/EditForm.vue +++ b/front/src/components/library/EditForm.vue @@ -247,7 +247,7 @@ import AttachmentInput from '~/components/common/AttachmentInput.vue' import EditList from '~/components/library/EditList.vue' import EditCard from '~/components/library/EditCard.vue' import TagsSelector from '~/components/library/TagsSelector.vue' -import useEditConfigs from '~/composables/useEditConfigs' +import useEditConfigs from '~/composables/moderation/useEditConfigs' import { computed } from 'vue' export default { diff --git a/front/src/components/manage/moderation/InstancePolicyModal.vue b/front/src/components/manage/moderation/InstancePolicyModal.vue index 772f5b298..226ab6e01 100644 --- a/front/src/components/manage/moderation/InstancePolicyModal.vue +++ b/front/src/components/manage/moderation/InstancePolicyModal.vue @@ -103,8 +103,8 @@ const fetchData = async () => { :type="type" :target="target" @cancel="showForm = false" - @save="showForm = false; result = {count: 1, results: [$event]}" - @delete="result = {count: 0, results: []}; showForm = false" + @save="(event: unknown) => { showForm = false; result = {count: 1, results: [event]} }" + @delete="() => { result = {count: 0, results: []}; showForm = false }" />