2019-08-09 16:45:25 +00:00
< template >
2019-11-06 01:01:31 +00:00
< div v-if ="!loading" >
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 = "uriSchemes" :model ="uriSchemesData" :label-width ="labelWidth" >
2019-11-14 15:49:35 +00:00
< setting :setting-group ="uriSchemes" :data ="uriSchemesData" / >
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
< el -form -item >
< el -button type = "primary" @click ="onSubmit" > Submit < / el -button >
< / e l - f o r m - i t e m >
< / e l - f o r m >
< / div >
< / template >
< script >
import i18n from '@/lang'
import { mapGetters } from 'vuex'
2019-11-03 17:39:07 +00:00
import Setting from './Setting'
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 ( ) {
2019-11-29 16:31:53 +00:00
return 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 ( ) {
2019-11-29 16:31:53 +00:00
return 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 ( ) {
2019-11-29 16:31:53 +00:00
return this . settings . settings [ ':pleroma' ] [ ':instance' ]
2019-08-09 16:45:25 +00:00
} ,
isMobile ( ) {
return this . $store . state . app . device === 'mobile'
} ,
labelWidth ( ) {
2019-11-08 12:24:16 +00:00
return this . isMobile ? '100px' : '240px'
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 ( ) {
2019-11-29 16:31:53 +00:00
return 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 ( ) {
2019-11-29 16:31:53 +00:00
return 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 ( ) {
2019-11-29 16:31:53 +00:00
return 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 ( ) {
2019-11-29 16:31:53 +00:00
return this . settings . settings [ ':pleroma' ] [ ':suggestions' ]
2019-11-11 02:36:10 +00:00
} ,
2019-11-03 17:39:07 +00:00
uriSchemes ( ) {
return this . $store . state . settings . description . find ( setting => setting . key === ':uri_schemes' )
2019-11-11 02:36:10 +00:00
} ,
uriSchemesData ( ) {
2019-11-29 16:31:53 +00:00
return 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 >