2019-08-09 16:45:25 +00:00
|
|
|
<template>
|
|
|
|
<div class="settings-container">
|
|
|
|
<h1>{{ $t('settings.settings') }}</h1>
|
2019-11-22 10:05:16 +00:00
|
|
|
<el-tabs v-model="activeTab" :tab-position="tabPosition">
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.activityPub')" :disabled="configDisabled" lazy>
|
2019-08-09 16:45:25 +00:00
|
|
|
<activity-pub/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.auth')" :disabled="configDisabled" lazy>
|
2019-11-21 14:09:06 +00:00
|
|
|
<authentication/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.autoLinker')" :disabled="configDisabled" lazy>
|
2019-12-10 09:24:00 +00:00
|
|
|
<auto-linker/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.esshd')" :disabled="configDisabled" lazy>
|
2019-08-09 16:45:25 +00:00
|
|
|
<esshd/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.captcha')" :disabled="configDisabled" lazy>
|
2019-08-09 16:45:25 +00:00
|
|
|
<captcha/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.frontend')" :disabled="configDisabled" lazy>
|
2019-08-09 16:45:25 +00:00
|
|
|
<frontend/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.gopher')" :disabled="configDisabled" lazy>
|
2019-08-09 16:45:25 +00:00
|
|
|
<gopher/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.http')" :disabled="configDisabled" lazy>
|
2019-12-18 14:36:40 +00:00
|
|
|
<http/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.instance')" :disabled="configDisabled" name="instance">
|
2019-08-09 16:45:25 +00:00
|
|
|
<instance/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.jobQueue')" :disabled="configDisabled" lazy>
|
2019-12-21 21:52:42 +00:00
|
|
|
<job-queue/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.logger')" :disabled="configDisabled" lazy>
|
2019-12-18 19:56:18 +00:00
|
|
|
<logger/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.mailer')" :disabled="configDisabled" lazy>
|
2019-12-20 00:42:00 +00:00
|
|
|
<mailer/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.mediaProxy')" :disabled="configDisabled" lazy>
|
2020-01-03 06:31:07 +00:00
|
|
|
<media-proxy/>
|
2020-01-05 06:17:25 +00:00
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.metadata')" :disabled="configDisabled" lazy>
|
2019-08-09 16:45:25 +00:00
|
|
|
<metadata/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.mrf')" :disabled="configDisabled" lazy>
|
2019-08-09 16:45:25 +00:00
|
|
|
<mrf/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.rateLimiters')" :disabled="configDisabled" lazy>
|
2019-12-25 23:02:30 +00:00
|
|
|
<rate-limiters/>
|
|
|
|
</el-tab-pane>
|
2020-01-30 12:40:39 +00:00
|
|
|
<el-tab-pane :label="$t('settings.relays')" lazy name="relays">
|
2019-10-17 20:59:25 +00:00
|
|
|
<relays/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.webPush')" :disabled="configDisabled" lazy>
|
2020-01-03 06:31:07 +00:00
|
|
|
<web-push/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.upload')" :disabled="configDisabled" lazy>
|
2019-08-09 16:45:25 +00:00
|
|
|
<upload/>
|
|
|
|
</el-tab-pane>
|
2020-02-01 13:08:10 +00:00
|
|
|
<el-tab-pane :label="$t('settings.other')" :disabled="configDisabled" lazy>
|
2020-01-03 10:00:20 +00:00
|
|
|
<other/>
|
|
|
|
</el-tab-pane>
|
2019-08-09 16:45:25 +00:00
|
|
|
</el-tabs>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2020-01-29 16:58:00 +00:00
|
|
|
import {
|
|
|
|
ActivityPub,
|
|
|
|
Authentication,
|
|
|
|
AutoLinker,
|
|
|
|
Captcha,
|
|
|
|
Esshd,
|
|
|
|
Frontend,
|
|
|
|
Gopher,
|
|
|
|
Http,
|
|
|
|
Instance,
|
|
|
|
JobQueue,
|
|
|
|
Logger,
|
|
|
|
Mailer,
|
|
|
|
MediaProxy,
|
|
|
|
Metadata,
|
|
|
|
Mrf,
|
|
|
|
Other,
|
|
|
|
RateLimiters,
|
|
|
|
Relays,
|
|
|
|
Upload,
|
|
|
|
WebPush
|
|
|
|
} from './components'
|
2019-08-09 16:45:25 +00:00
|
|
|
|
|
|
|
export default {
|
2020-01-29 16:58:00 +00:00
|
|
|
components: {
|
|
|
|
ActivityPub,
|
|
|
|
Authentication,
|
|
|
|
AutoLinker,
|
|
|
|
Captcha,
|
|
|
|
Esshd,
|
|
|
|
Frontend,
|
|
|
|
Gopher,
|
|
|
|
Http,
|
|
|
|
Instance,
|
|
|
|
JobQueue,
|
|
|
|
Logger,
|
|
|
|
Mailer,
|
|
|
|
MediaProxy,
|
|
|
|
Metadata,
|
|
|
|
Mrf,
|
|
|
|
Other,
|
|
|
|
RateLimiters,
|
|
|
|
Relays,
|
|
|
|
Upload,
|
|
|
|
WebPush
|
|
|
|
},
|
2019-08-09 16:45:25 +00:00
|
|
|
computed: {
|
2020-01-30 12:40:39 +00:00
|
|
|
activeTab: {
|
|
|
|
get() {
|
|
|
|
return this.$store.state.settings.activeTab
|
|
|
|
},
|
|
|
|
set(tab) {
|
|
|
|
this.$store.dispatch('SetActiveTab', tab)
|
|
|
|
}
|
|
|
|
},
|
2020-02-01 13:08:10 +00:00
|
|
|
configDisabled() {
|
2020-01-30 12:40:39 +00:00
|
|
|
return this.$store.state.settings.configDisabled
|
|
|
|
},
|
2019-08-09 16:45:25 +00:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
2020-01-30 14:36:35 +00:00
|
|
|
@media only screen and (min-width: 1824px) {
|
|
|
|
.settings-container {
|
2020-01-30 19:49:53 +00:00
|
|
|
max-width: 1824px;
|
2020-01-30 14:36:35 +00:00
|
|
|
margin: auto;
|
|
|
|
}
|
|
|
|
}
|
2019-08-09 16:45:25 +00:00
|
|
|
</style>
|