admin-fe/src/views/settings/index.vue

101 lines
3.0 KiB
Vue

<template>
<div class="settings-container">
<h1>{{ $t('settings.settings') }}</h1>
<el-tabs :tab-position="tabPosition">
<el-tab-pane :label="$t('settings.activityPub')">
<activity-pub/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.auth')">
<authentication/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.autoLinker')">
<auto-linker/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.esshd')">
<esshd/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.captcha')">
<captcha/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.database')">
<database/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.endpoint')">
<endpoint/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.frontend')">
<frontend/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.gopher')">
<gopher/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.http')">
<http/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.instance')">
<instance/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.jobQueue')">
<job-queue/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.logger')">
<logger/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.mailer')">
<mailer/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.mediaProxy')">
<media-proxy/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.metadata')">
<metadata/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.mrf')">
<mrf/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.rateLimiters')">
<rate-limiters/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.upload')">
<upload/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.webPush')">
<web-push/>
</el-tab-pane>
<el-tab-pane :label="$t('settings.other')">
<other/>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import { ActivityPub, Authentication, AutoLinker, Captcha, Database, Endpoint, Esshd, Frontend, Gopher, Http, Instance, JobQueue, Logger, Mailer, MediaProxy, Metadata, Mrf, Other, RateLimiters, Upload, WebPush } from './components'
export default {
components: { ActivityPub, Authentication, AutoLinker, Captcha, Database, Endpoint, Esshd, Frontend, Gopher, Http, Instance, JobQueue, Logger, Mailer, MediaProxy, Metadata, Mrf, Other, RateLimiters, Upload, WebPush },
computed: {
isMobile() {
return this.$store.state.app.device === 'mobile'
},
tabPosition() {
return this.isMobile ? 'top' : 'left'
}
},
mounted: function() {
this.$store.dispatch('FetchSettings')
}
}
</script>
<style rel='stylesheet/scss' lang='scss' scoped>
.settings-container {
.el-tabs {
margin-top: 20px
}
h1 {
margin: 22px 0 0 15px;
}
}
</style>