funquail/front/src/views/admin/moderation/Base.vue
2020-03-18 11:57:33 +01:00

62 lines
2.2 KiB
Vue

<template>
<div class="main pusher" v-title="labels.moderation">
<nav class="ui secondary pointing menu" role="navigation" :aria-label="labels.secondaryMenu">
<router-link
class="ui item"
:to="{name: 'manage.moderation.reports.list', query: {q: 'resolved:no'}}">
<translate translate-context="*/Moderation/*/Noun">Reports</translate>
<div
v-if="$store.state.ui.notifications.pendingReviewReports > 0"
:class="['ui', 'circular', 'mini', 'right floated', 'teal', 'label']">{{ $store.state.ui.notifications.pendingReviewReports }}</div>
</router-link>
<router-link
class="ui item"
:to="{name: 'manage.moderation.requests.list', query: {q: 'status:pending'}}">
<translate translate-context="*/Moderation/*/Noun">User Requests</translate>
<div
v-if="$store.state.ui.notifications.pendingReviewRequests > 0"
:class="['ui', 'circular', 'mini', 'right floated', 'teal', 'label']">{{ $store.state.ui.notifications.pendingReviewRequests }}</div>
</router-link>
<router-link
class="ui item"
:to="{name: 'manage.moderation.domains.list'}"><translate translate-context="*/Moderation/*/Noun">Domains</translate></router-link>
<router-link
class="ui item"
:to="{name: 'manage.moderation.accounts.list'}"><translate translate-context="*/Moderation/Title">Accounts</translate></router-link>
</nav>
<router-view :allow-list-enabled="allowListEnabled" :key="$route.fullPath"></router-view>
</div>
</template>
<script>
import _ from '@/lodash'
import axios from 'axios'
export default {
data () {
return {
allowListEnabled: false
}
},
created () {
this.fetchNodeInfo()
},
methods: {
fetchNodeInfo () {
let self = this
axios.get('instance/nodeinfo/2.0/').then(response => {
self.allowListEnabled = _.get(response.data, 'metadata.allowList.enabled', false)
})
},
},
computed: {
labels() {
return {
moderation: this.$pgettext('*/Moderation/*', "Moderation"),
secondaryMenu: this.$pgettext('Menu/*/Hidden text', "Secondary menu")
}
}
},
}
</script>