2019-08-09 16:45:25 +00:00
|
|
|
<template>
|
2020-01-22 11:58:12 +00:00
|
|
|
<div v-if="!loading" class="form-container">
|
2019-11-03 17:39:07 +00:00
|
|
|
<el-form ref="instanceData" :model="instanceData" :label-width="labelWidth">
|
2019-11-14 15:49:35 +00:00
|
|
|
<setting :setting-group="instance" :data="instanceData"/>
|
2019-08-09 16:45:25 +00:00
|
|
|
</el-form>
|
2020-02-15 11:53:48 +00:00
|
|
|
<el-divider class="divider thick-line"/>
|
2019-11-22 04:41:32 +00:00
|
|
|
<el-form ref="adminToken" :model="adminTokenData" :label-width="labelWidth">
|
2019-11-14 15:49:35 +00:00
|
|
|
<setting :setting-group="adminToken" :data="adminTokenData"/>
|
2019-08-09 16:45:25 +00:00
|
|
|
</el-form>
|
2020-02-15 11:53:48 +00:00
|
|
|
<el-divider class="divider thick-line"/>
|
2019-11-22 04:41:32 +00:00
|
|
|
<el-form ref="scheduledActivity" :model="scheduledActivityData" :label-width="labelWidth">
|
2019-11-14 15:49:35 +00:00
|
|
|
<setting :setting-group="scheduledActivity" :data="scheduledActivityData"/>
|
2019-08-09 16:45:25 +00:00
|
|
|
</el-form>
|
2020-02-15 11:53:48 +00:00
|
|
|
<el-divider class="divider thick-line"/>
|
2019-11-22 04:41:32 +00:00
|
|
|
<el-form ref="fetchInitialPosts" :model="fetchInitialPostsData" :label-width="labelWidth">
|
2019-11-14 15:49:35 +00:00
|
|
|
<setting :setting-group="fetchInitialPosts" :data="fetchInitialPostsData"/>
|
2019-08-09 16:45:25 +00:00
|
|
|
</el-form>
|
2020-02-15 11:53:48 +00:00
|
|
|
<el-divider class="divider thick-line"/>
|
2019-11-22 04:41:32 +00:00
|
|
|
<el-form ref="manifest" :model="manifestData" :label-width="labelWidth">
|
|
|
|
<setting :setting-group="manifest" :data="manifestData"/>
|
|
|
|
</el-form>
|
2020-02-15 11:53:48 +00:00
|
|
|
<el-divider class="divider thick-line"/>
|
2020-03-16 19:40:16 +00:00
|
|
|
<el-form ref="pleromaUser" :model="pleromaUserData" :label-width="labelWidth" data-search="Pleroma.User">
|
2019-11-14 15:49:35 +00:00
|
|
|
<setting :setting-group="pleromaUser" :data="pleromaUserData"/>
|
2019-08-09 16:45:25 +00:00
|
|
|
</el-form>
|
2020-02-22 22:25:28 +00:00
|
|
|
<el-divider class="divider thick-line"/>
|
|
|
|
<el-form ref="uriSchemes" :model="uriSchemesData" :label-width="labelWidth">
|
|
|
|
<setting :setting-group="uriSchemes" :data="uriSchemesData"/>
|
|
|
|
</el-form>
|
|
|
|
<el-divider class="divider thick-line"/>
|
|
|
|
<el-form ref="feed" :model="feedData" :label-width="labelWidth">
|
|
|
|
<setting :setting-group="feed" :data="feedData"/>
|
|
|
|
</el-form>
|
2020-03-04 21:39:53 +00:00
|
|
|
<el-form ref="streamer" :model="streamerData" :label-width="labelWidth">
|
|
|
|
<setting :setting-group="streamer" :data="streamerData"/>
|
|
|
|
</el-form>
|
2020-01-22 11:58:12 +00:00
|
|
|
<div class="submit-button-container">
|
|
|
|
<el-button class="submit-button" type="primary" @click="onSubmit">Submit</el-button>
|
|
|
|
</div>
|
2019-08-09 16:45:25 +00:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { mapGetters } from 'vuex'
|
2020-01-09 15:37:49 +00:00
|
|
|
import i18n from '@/lang'
|
2019-11-03 17:39:07 +00:00
|
|
|
import Setting from './Setting'
|
2020-01-21 18:16:56 +00:00
|
|
|
import _ from 'lodash'
|
2019-08-09 16:45:25 +00:00
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'Instance',
|
2019-11-03 17:39:07 +00:00
|
|
|
components: {
|
|
|
|
Setting
|
|
|
|
},
|
2019-08-09 16:45:25 +00:00
|
|
|
computed: {
|
|
|
|
...mapGetters([
|
2019-11-11 02:36:10 +00:00
|
|
|
'settings'
|
2019-08-09 16:45:25 +00:00
|
|
|
]),
|
2019-11-03 17:39:07 +00:00
|
|
|
adminToken() {
|
2020-01-26 21:23:54 +00:00
|
|
|
return this.settings.description.find(setting => setting.children && setting.children[0].key === ':admin_token')
|
2019-11-11 02:36:10 +00:00
|
|
|
},
|
|
|
|
adminTokenData() {
|
2020-01-21 18:16:56 +00:00
|
|
|
return _.get(this.settings.settings, [':pleroma', ':admin_token']) || {}
|
2019-11-03 17:39:07 +00:00
|
|
|
},
|
2020-02-22 22:25:28 +00:00
|
|
|
feed() {
|
|
|
|
return this.settings.description.find(setting => setting.key === ':feed')
|
|
|
|
},
|
|
|
|
feedData() {
|
|
|
|
return _.get(this.settings.settings, [':pleroma', ':feed']) || {}
|
|
|
|
},
|
2019-11-03 17:39:07 +00:00
|
|
|
fetchInitialPosts() {
|
2019-11-11 02:36:10 +00:00
|
|
|
return this.settings.description.find(setting => setting.key === ':fetch_initial_posts')
|
|
|
|
},
|
|
|
|
fetchInitialPostsData() {
|
2020-01-21 18:16:56 +00:00
|
|
|
return _.get(this.settings.settings, [':pleroma', ':fetch_initial_posts']) || {}
|
2019-08-09 16:45:25 +00:00
|
|
|
},
|
2019-11-03 17:39:07 +00:00
|
|
|
instance() {
|
2019-11-11 02:36:10 +00:00
|
|
|
return this.settings.description.find(setting => setting.key === ':instance')
|
|
|
|
},
|
|
|
|
instanceData() {
|
2020-01-21 18:16:56 +00:00
|
|
|
return _.get(this.settings.settings, [':pleroma', ':instance']) || {}
|
2019-08-09 16:45:25 +00:00
|
|
|
},
|
|
|
|
isMobile() {
|
|
|
|
return this.$store.state.app.device === 'mobile'
|
|
|
|
},
|
2020-02-17 14:27:07 +00:00
|
|
|
isTablet() {
|
|
|
|
return this.$store.state.app.device === 'tablet'
|
|
|
|
},
|
2019-08-09 16:45:25 +00:00
|
|
|
labelWidth() {
|
2020-02-17 14:27:07 +00:00
|
|
|
if (this.isMobile) {
|
|
|
|
return '120px'
|
|
|
|
} else if (this.isTablet) {
|
|
|
|
return '200px'
|
|
|
|
} else {
|
|
|
|
return '280px'
|
|
|
|
}
|
2019-08-09 16:45:25 +00:00
|
|
|
},
|
2019-11-06 01:01:31 +00:00
|
|
|
loading() {
|
2019-11-11 02:36:10 +00:00
|
|
|
return this.settings.loading
|
2019-11-06 01:01:31 +00:00
|
|
|
},
|
2019-11-22 04:41:32 +00:00
|
|
|
manifest() {
|
|
|
|
return this.settings.description.find(setting => setting.key === ':manifest')
|
|
|
|
},
|
|
|
|
manifestData() {
|
2020-01-21 18:16:56 +00:00
|
|
|
return _.get(this.settings.settings, [':pleroma', ':manifest']) || {}
|
2019-11-22 04:41:32 +00:00
|
|
|
},
|
2019-11-03 17:39:07 +00:00
|
|
|
pleromaUser() {
|
2019-11-11 02:36:10 +00:00
|
|
|
return this.settings.description.find(setting => setting.key === 'Pleroma.User')
|
|
|
|
},
|
|
|
|
pleromaUserData() {
|
2020-01-21 18:16:56 +00:00
|
|
|
return _.get(this.settings.settings, [':pleroma', 'Pleroma.User']) || {}
|
2019-08-09 16:45:25 +00:00
|
|
|
},
|
2019-11-03 17:39:07 +00:00
|
|
|
scheduledActivity() {
|
|
|
|
return this.$store.state.settings.description.find(setting => setting.key === 'Pleroma.ScheduledActivity')
|
2019-08-15 12:13:14 +00:00
|
|
|
},
|
2019-11-11 02:36:10 +00:00
|
|
|
scheduledActivityData() {
|
2020-01-21 18:16:56 +00:00
|
|
|
return _.get(this.settings.settings, [':pleroma', 'Pleroma.ScheduledActivity']) || {}
|
2020-02-22 22:25:28 +00:00
|
|
|
},
|
2020-03-04 21:39:53 +00:00
|
|
|
streamer() {
|
|
|
|
return this.$store.state.settings.description.find(setting => setting.key === ':streamer')
|
|
|
|
},
|
|
|
|
streamerData() {
|
|
|
|
return _.get(this.settings.settings, [':pleroma', ':streamer']) || {}
|
|
|
|
},
|
2020-02-22 22:25:28 +00:00
|
|
|
uriSchemes() {
|
|
|
|
return this.settings.description.find(setting => setting.key === ':uri_schemes')
|
|
|
|
},
|
|
|
|
uriSchemesData() {
|
|
|
|
return _.get(this.settings.settings, [':pleroma', ':uri_schemes']) || {}
|
2019-08-09 16:45:25 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
2019-09-23 19:00:28 +00:00
|
|
|
async onSubmit() {
|
|
|
|
try {
|
|
|
|
await this.$store.dispatch('SubmitChanges')
|
|
|
|
} catch (e) {
|
|
|
|
return
|
|
|
|
}
|
2019-08-09 16:45:25 +00:00
|
|
|
this.$message({
|
|
|
|
type: 'success',
|
|
|
|
message: i18n.t('settings.success')
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style rel='stylesheet/scss' lang='scss'>
|
|
|
|
@import '../styles/main';
|
|
|
|
@include settings
|
|
|
|
</style>
|