and federation

This commit is contained in:
les 2020-08-05 17:29:15 +02:00
parent 43659cb3f7
commit 41e3e97af7

View file

@ -1,5 +1,7 @@
<template lang="pug"> <template lang="pug">
v-container v-container
v-card-title {{$t('common.federation')}}
v-card-text
v-switch(v-model='enable_federation' v-switch(v-model='enable_federation'
:label="$t('admin.enable_federation')" :label="$t('admin.enable_federation')"
persistent-hint persistent-hint
@ -42,16 +44,21 @@
v-card v-card
v-card-title {{$t('admin.add_trusted_instance')}} v-card-title {{$t('admin.add_trusted_instance')}}
v-card-text v-card-text
v-form(v-model='valid')
v-text-field.mt-4(v-model='instance_url' v-text-field.mt-4(v-model='instance_url'
:full-width='false'
persistent-hint persistent-hint
:rules="[validators.required('email')]"
:hint="$t('admin.add_trusted_instance')" :hint="$t('admin.add_trusted_instance')"
:label="$t('common.url')" :label="$t('common.url')")
append-outer-icon="mdi-send" v-card-actions
@click:append-outer='createTrustedInstance') v-spacer
v-btn(color='error' @click='dialogAddInstance=false') {{$t('common.cancel')}}
v-btn(color='primary' @click='createTrustedInstance') {{$t('common.ok')}}
v-btn(@click='dialogAddInstance = true') Add instance v-card-actions
v-data-table.mt-4( v-spacer
v-btn.mt-4(@click='dialogAddInstance = true' color='primary' text) Add instance
v-data-table(
:headers='headers' :headers='headers'
:items='settings.trusted_instances') :items='settings.trusted_instances')
template(v-slot:item.actions="{item}") template(v-slot:item.actions="{item}")
@ -61,17 +68,20 @@
</template> </template>
<script> <script>
import { mapActions, mapState } from 'vuex' import { mapActions, mapState } from 'vuex'
import { validators } from '../../plugins/helpers'
import axios from 'axios' import axios from 'axios'
export default { export default {
name: 'Federation', name: 'Federation',
data ({ $store, $options }) { data ({ $store, $options }) {
return { return {
validators,
instance_url: '', instance_url: '',
instance_name: $store.state.settings.instance_name, instance_name: $store.state.settings.instance_name,
instance_place: $store.state.settings.instance_place, instance_place: $store.state.settings.instance_place,
url2host: $options.filters.url2host, url2host: $options.filters.url2host,
dialogAddInstance: false, dialogAddInstance: false,
valid: false,
headers: [ headers: [
{ value: 'name', text: 'Name' }, { value: 'name', text: 'Name' },
{ value: 'url', text: 'URL' }, { value: 'url', text: 'URL' },
@ -121,8 +131,8 @@ export default {
} }
}, },
async deleteInstance (instance) { async deleteInstance (instance) {
const ret = await this.$root.$confirm(this.$t('admin.delete_trusted_instance_confirm'), const ret = await this.$root.$confirm(this.$t('common.confirm'),
this.$t('common.confirm'), { type: 'error' }) this.$t('admin.delete_trusted_instance_confirm'))
if (!ret) { return } if (!ret) { return }
this.setSetting({ this.setSetting({
key: 'trusted_instances', key: 'trusted_instances',