From 0d036eb70750a4827d95966c250d9b6d2cea5658 Mon Sep 17 00:00:00 2001 From: les Date: Tue, 17 Nov 2020 00:31:55 +0100 Subject: [PATCH] fix trusted instances --- components/Footer.vue | 16 ++++++++++++++++ components/admin/Federation.vue | 8 ++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/components/Footer.vue b/components/Footer.vue index 2b623f6c..8873532a 100644 --- a/components/Footer.vue +++ b/components/Footer.vue @@ -3,6 +3,22 @@ v-btn(color='primary' text href='https://gancio.org') Gancio {{settings.version}} v-btn(v-for='link in settings.footerLinks' :key='link.label' color='primary' text :href='link.href') {{link.label}} + + v-menu(v-if='settings.enable_trusted_instances && settings.trusted_instances && settings.trusted_instances.length' + offset-y bottom open-on-hover transition="slide-y-transition") + template(v-slot:activator="{ on, attrs }") + v-btn(v-bind='attrs' v-on='on' color='primary' text) {{$t('common.places')}} + v-list + v-list-item(v-for='instance in settings.trusted_instances' + :key='instance.name' + :href='instance.url' + two-line) + v-list-item-avatar + v-img(:src='`${instance.url}/favicon.ico`') + v-list-item-content + v-list-item-title {{instance.name}} + v-list-item-subtitle {{instance.label}} + //- v-btn(v-if='settings.enable_federation' text rel='me' @click.prevent='showFollowMe=true') follow me //- v-btn(nuxt to='/about' text) about //- v-btn(href='https://blog.gancio.org' text) blog diff --git a/components/admin/Federation.vue b/components/admin/Federation.vue index 061a2383..84fa007a 100644 --- a/components/admin/Federation.vue +++ b/components/admin/Federation.vue @@ -112,8 +112,11 @@ export default { methods: { ...mapActions(['setSetting']), async createTrustedInstance () { - if (!this.$refs.form.validate()) return + if (!this.$refs.form.validate()) { return } try { + if (!this.instance_url.startsWith('http')) { + this.instance_url = `https://${this.instance_url}` + } const instance = await axios.get(`${this.instance_url}/.well-known/nodeinfo/2.1`) this.setSetting({ key: 'trusted_instances', @@ -123,7 +126,8 @@ export default { label: instance.data.metadata.nodeLabel }) }) - this.instance_url = '' + this.$refs.form.reset() + this.dialogAddInstance = false } catch (e) { this.$root.$message(e, { color: 'error' }) }