environments/review-front-deve-otr6gc/deployments/13419
wvffle 2022-07-21 00:19:31 +00:00 zatwierdzone przez Georg Krause
rodzic 09c1aba30d
commit 2900c3818c
7 zmienionych plików z 50 dodań i 27 usunięć

Wyświetl plik

@ -18,7 +18,7 @@ known_first_party=funkwhale_api
multi_line_output=3 multi_line_output=3
default_section=THIRDPARTY default_section=THIRDPARTY
[*.{html,js,vue,css,scss,json,yml}] [*.{html,js,vue,css,scss,json,yml,ts}]
indent_style = space indent_style = space
indent_size = 2 indent_size = 2

Wyświetl plik

@ -9,6 +9,7 @@ import SemanticModal from '~/components/semantic/Modal.vue'
import useThemeList from '~/composables/useThemeList' import useThemeList from '~/composables/useThemeList'
import useTheme from '~/composables/useTheme' import useTheme from '~/composables/useTheme'
import axios from 'axios'
import { useRoute } from 'vue-router' import { useRoute } from 'vue-router'
import { computed, ref, watch, watchEffect, onMounted } from 'vue' import { computed, ref, watch, watchEffect, onMounted } from 'vue'
import { useGettext } from 'vue3-gettext' import { useGettext } from 'vue3-gettext'
@ -93,6 +94,29 @@ const moderationNotifications = computed(() =>
+ store.state.ui.notifications.pendingReviewRequests + 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 isProduction = import.meta.env.PROD
const showUserModal = ref(false) const showUserModal = ref(false)
const showLanguageModal = ref(false) const showLanguageModal = ref(false)

Wyświetl plik

@ -247,7 +247,7 @@ import AttachmentInput from '~/components/common/AttachmentInput.vue'
import EditList from '~/components/library/EditList.vue' import EditList from '~/components/library/EditList.vue'
import EditCard from '~/components/library/EditCard.vue' import EditCard from '~/components/library/EditCard.vue'
import TagsSelector from '~/components/library/TagsSelector.vue' import TagsSelector from '~/components/library/TagsSelector.vue'
import useEditConfigs from '~/composables/useEditConfigs' import useEditConfigs from '~/composables/moderation/useEditConfigs'
import { computed } from 'vue' import { computed } from 'vue'
export default { export default {

Wyświetl plik

@ -103,8 +103,8 @@ const fetchData = async () => {
:type="type" :type="type"
:target="target" :target="target"
@cancel="showForm = false" @cancel="showForm = false"
@save="showForm = false; result = {count: 1, results: [$event]}" @save="(event: unknown) => { showForm = false; result = {count: 1, results: [event]} }"
@delete="result = {count: 0, results: []}; showForm = false" @delete="() => { result = {count: 0, results: []}; showForm = false }"
/> />
</div> </div>
<div class="ui hidden divider" /> <div class="ui hidden divider" />

Wyświetl plik

@ -157,7 +157,7 @@ export default [
path: 'reports', path: 'reports',
name: 'manage.moderation.reports.list', name: 'manage.moderation.reports.list',
component: () => import('~/views/admin/moderation/ReportsList.vue'), component: () => import('~/views/admin/moderation/ReportsList.vue'),
props: route => ({ defaultQuery: route.query.q, updateUrl: true }) props: route => ({ defaultQuery: route.query.q, updateUrl: true, orderingConfigName: null })
}, },
{ {
path: 'reports/:id', path: 'reports/:id',
@ -169,7 +169,7 @@ export default [
path: 'requests', path: 'requests',
name: 'manage.moderation.requests.list', name: 'manage.moderation.requests.list',
component: () => import('~/views/admin/moderation/RequestsList.vue'), component: () => import('~/views/admin/moderation/RequestsList.vue'),
props: route => ({ defaultQuery: route.query.q, updateUrl: true }) props: route => ({ defaultQuery: route.query.q, updateUrl: true, orderingConfigName: null })
}, },
{ {
path: 'requests/:id', path: 'requests/:id',

Wyświetl plik

@ -347,7 +347,7 @@ const store: Module<State, RootState> = {
notifications (state, { type, count }: { type: NotificationsKey, count: number }) { notifications (state, { type, count }: { type: NotificationsKey, count: number }) {
state.notifications[type] = count state.notifications[type] = count
}, },
incrementNotifications (state, { type, count, value }: { type: NotificationsKey, count: number, value: number }) { incrementNotifications (state, { type, count, value }: { type: NotificationsKey, count: number, value?: number }) {
if (value !== undefined) { if (value !== undefined) {
state.notifications[type] = Math.max(0, value) state.notifications[type] = Math.max(0, value)
} else { } else {

Wyświetl plik

@ -1,3 +1,22 @@
<script setp lang="ts">
import { useGettext } from 'vue3-gettext'
import { computed } from 'vue'
import EditsCardList from '~/components/manage/library/EditsCardList.vue'
interface Props {
defaultQuery?: string
}
withDefaults(defineProps<Props>(), {
defaultQuery: ''
})
const labels = computed(() => ({
title: $pgettext('*/Admin/*/Noun', 'Edits')
}))
</script>
<template> <template>
<main v-title="labels.title"> <main v-title="labels.title">
<section class="ui vertical stripe segment"> <section class="ui vertical stripe segment">
@ -14,23 +33,3 @@
</section> </section>
</main> </main>
</template> </template>
<script>
import EditsCardList from '~/components/manage/library/EditsCardList.vue'
export default {
components: {
EditsCardList
},
props: {
defaultQuery: { type: String, required: false, default: '' }
},
computed: {
labels () {
return {
title: this.$pgettext('*/Admin/*/Noun', 'Edits')
}
}
}
}
</script>