minor on recurrent events

This commit is contained in:
les
2020-02-10 01:12:49 +01:00
parent 3d83c8e1a0
commit a52ca3c3d5
4 changed files with 33 additions and 105 deletions

View File

@@ -6,7 +6,7 @@ div
div(v-if='event.is_visible' @click='toggle(false)') <i class='el-icon-open'/> {{$t('common.hide')}}
div(v-else @click='toggle(false)') <i class='el-icon-turn-off'/> {{$t('common.confirm')}}
el-menu-item(@click='$router.replace(`/add/${event.id}`)') <i class='el-icon-edit'/> {{$t('common.edit')}}
el-menu-item(v-if='!event.parentId' @click='remove(false)') <i class='el-icon-delete'/> {{$t('common.remove')}}
el-menu-item(@click='remove(false)') <i class='el-icon-delete'/> {{$t('common.remove')}}
div(v-if='event.parentId')
el-divider {{$t('event.recurrent')}}
el-menu-item(v-if='event.parent.is_visible' @click='toggle(true)') <i class='el-icon-video-pause'/> {{$t('common.pause')}}
@@ -30,7 +30,7 @@ export default {
...mapActions(['delEvent']),
async remove (parent = false) {
try {
await MessageBox.confirm(this.$t('event.remove_confirmation'), this.$t('common.confirm'), {
await MessageBox.confirm(this.$t(`event.remove_${parent ? 'recurrent_' : ''}confirmation`), this.$t('common.confirm'), {
confirmButtonText: this.$t('common.ok'),
cancelButtonText: this.$t('common.cancel'),
type: 'error'

View File

@@ -1,62 +0,0 @@
<template lang='pug'>
div
p(v-html="$t('event.follow_me_description', { title: settings.title, account: `@${settings.instance_name}@${domain}`})")
el-input(v-model='instance_hostname' ref='instance')
a(slot='append' :href='link' target='_blank')
el-button(:disabled='(!couldGo || !proceed)' plain type="primary" icon='el-icon-document') {{$t("common.follow")}}
p.mt-2 <img class='instance_thumb' :src="instance.thumbnail"/> {{instance.title}}
</template>
<script>
import { mapState } from 'vuex'
import debounce from 'lodash/debounce'
import url from 'url'
export default {
name: 'EmbedEvent',
data () {
return {
instance_hostname: '',
proceed: false,
instance: {},
get_instance_info: debounce(this.getInstanceInfo, 500)
}
},
computed: {
...mapState(['settings']),
domain () {
const URL = url.parse(this.settings.baseurl)
return URL.hostname
},
couldGo () {
console.error(this.instance_hostname)
// check if is mastodon
this.get_instance_info()
return true
},
link () {
// check if exists
return `https://${this.instance_hostname}/authorize_interaction?uri=${this.settings.instance_name}@${this.domain}`
}
},
methods: {
getInstanceInfo () {
const instance_url = `https://${this.instance_hostname}/api/v1/instance`
this.$axios.$get(instance_url)
.then(ret => {
this.instance = ret
this.proceed = true
})
.catch(e => {
this.proceed = false
})
}
}
}
</script>
<style lang="less">
.instance_thumb {
height: 20px;
}
</style>