validators as a plugin

This commit is contained in:
les
2020-09-05 01:21:47 +02:00
parent a0c462a3f7
commit f28347a227
17 changed files with 88 additions and 160 deletions

View File

@@ -23,7 +23,7 @@
//- div.mt-4 {{$t('admin.instance_name')}}
v-text-field.mt-5(v-model='instance_name'
:label="$t('admin.instance_name')"
:hint="`${$t('admin.instance_name_help')} (@${instance_name}@${settings.baseurl|url2host})`"
:hint="`${$t('admin.instance_name_help')} ${instance_ap_url}`"
placeholder='Instance name' persistent-hint
@blur='save("instance_name", instance_name)')
@@ -47,7 +47,7 @@
v-form(v-model='valid')
v-text-field.mt-4(v-model='instance_url'
persistent-hint
:rules="[validators.required('email')]"
:rules="[$validators.required()]"
:hint="$t('admin.add_trusted_instance')"
:label="$t('common.url')")
v-card-actions
@@ -68,14 +68,12 @@
</template>
<script>
import { mapActions, mapState } from 'vuex'
import { validators } from '../../plugins/helpers'
import axios from 'axios'
export default {
name: 'Federation',
data ({ $store, $options }) {
return {
validators,
instance_url: '',
instance_name: $store.state.settings.instance_name,
instance_place: $store.state.settings.instance_place,
@@ -107,6 +105,10 @@ export default {
enable_trusted_instances: {
get () { return this.settings.enable_trusted_instances },
set (value) { this.setSetting({ key: 'enable_trusted_instances', value }) }
},
instance_ap_url () {
const instance_url = this.settings.baseurl.match(/^https?:\/\/(.[^/:]+)/i)[1]
return `(@${this.instance_name}@${instance_url})`
}
},
methods: {

View File

@@ -38,11 +38,11 @@
v-card-text
v-form(v-model='valid' ref='linkModalForm')
v-text-field(v-model='link.label'
:rules="[validators.required('label')]"
:rules="[$validators.required('label')]"
label='Label')
v-text-field(v-model='link.href'
:rules="[validators.required('href')]"
label='Href')
:rules="[$validators.required($t('common.url'))]"
:label="$t('common.url')")
v-card-actions
v-spacer
v-btn(link @click='linkModal=false' color='error') {{$t('common.cancel')}}
@@ -67,13 +67,11 @@
</template>
<script>
import { mapActions, mapState } from 'vuex'
import { validators } from '../../plugins/helpers'
export default {
name: 'Theme',
data () {
return {
validators,
valid: false,
logoKey: 0,
link: { href: '', label: '' },

View File

@@ -17,7 +17,7 @@
v-form
v-text-field(v-model='new_user.email'
:label="$t('common.email')"
:rules="[validators.required('email')]")
:rules="[$validators.required('email')]")
v-switch(v-model='new_user.is_admin' :label="$t('common.admin')" inset)
v-alert(type='info' :closable='false') {{$t('admin.user_add_help')}}
v-card-actions
@@ -42,7 +42,6 @@
</template>
<script>
import { mapState } from 'vuex'
import { validators } from '../../plugins/helpers'
export default {
name: 'Users',
@@ -51,7 +50,6 @@ export default {
},
data () {
return {
validators,
newUserDialog: false,
new_user: {
email: '',