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
< / e l - f o r m >
< div class = "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
< / e l - f o r m >
< div class = "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
< / e l - f o r m >
< div class = "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
< / e l - f o r m >
< div class = "line" / >
2019-11-22 04:41:32 +00:00
< el -form ref = "manifest" :model ="manifestData" :label-width ="labelWidth" >
< setting :setting-group ="manifest" :data ="manifestData" / >
< / e l - f o r m >
< div class = "line" / >
< el -form ref = "suggestions" :model ="suggestionsData" :label-width ="labelWidth" >
2019-08-09 16:45:25 +00:00
< el -form -item label = "Suggestions:" / >
2019-11-14 15:49:35 +00:00
< setting :setting-group ="suggestions" :data ="suggestionsData" / >
2019-08-09 16:45:25 +00:00
< / e l - f o r m >
< div class = "line" / >
2019-11-22 04:41:32 +00:00
< el -form ref = "pleromaUser" :model ="pleromaUserData" :label-width ="labelWidth" >
2019-11-14 15:49:35 +00:00
< setting :setting-group ="pleromaUser" :data ="pleromaUserData" / >
2019-08-09 16:45:25 +00:00
< / e l - f o r m >
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 ( ) {
2019-11-11 02:36:10 +00:00
return this . settings . description . find ( setting => setting . description === ` Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the 'admin_token' parameter ` )
} ,
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
} ,
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'
} ,
labelWidth ( ) {
2020-01-21 18:16:56 +00:00
return this . isMobile ? '100px' : '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' ] ) || { }
2019-11-11 02:36:10 +00:00
} ,
2019-11-03 17:39:07 +00:00
suggestions ( ) {
return this . $store . state . settings . description . find ( setting => setting . key === ':suggestions' )
2019-08-09 16:45:25 +00:00
} ,
2019-11-11 02:36:10 +00:00
suggestionsData ( ) {
2020-01-21 18:16:56 +00:00
return _ . get ( this . settings . settings , [ ':pleroma' , ':suggestions' ] ) || { }
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 >