aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/components/extra_buttons/extra_buttons.js3
-rw-r--r--src/components/status/status.js6
-rw-r--r--src/components/status/status.vue7
3 files changed, 11 insertions, 5 deletions
diff --git a/src/components/extra_buttons/extra_buttons.js b/src/components/extra_buttons/extra_buttons.js
index 51892d0d..f70ecd1d 100644
--- a/src/components/extra_buttons/extra_buttons.js
+++ b/src/components/extra_buttons/extra_buttons.js
@@ -25,11 +25,14 @@ const ExtraButtons = {
pinStatus () {
this.refreshPopper()
this.$store.dispatch('pinStatus', this.status.id)
+ .then(() => this.$emit('onSuccess'))
.catch(err => this.$emit('onError', err.error.error))
},
unpinStatus () {
this.refreshPopper()
this.$store.dispatch('unpinStatus', this.status.id)
+ .then(() => this.$emit('onSuccess'))
+ .catch(err => this.$emit('onError', err.error.error))
},
refreshPopper () {
this.showPopper = false
diff --git a/src/components/status/status.js b/src/components/status/status.js
index 09a2a010..a1ffb026 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -302,9 +302,9 @@ const Status = {
},
showError (error) {
this.error = error
- setTimeout(() => {
- this.error = null
- }, 5000)
+ },
+ clearError () {
+ this.error = undefined
},
linkClicked (event) {
let { target } = event
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 77949a52..8575a95e 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -1,6 +1,9 @@
<template>
<div class="status-el" v-if="!hideStatus" :class="[{ 'status-el_focused': isFocused }, { 'status-conversation': inlineExpanded }]">
- <div v-if="error" class="alert error">{{error}}</div>
+ <div v-if="error" class="alert error">
+ {{error}}
+ <i class="button-icon icon-cancel" @click="clearError"></i>
+ </div>
<template v-if="muted && !isPreview">
<div class="media status container muted">
<small>
@@ -169,7 +172,7 @@
</div>
<retweet-button :visibility='status.visibility' :loggedIn='loggedIn' :status='status'></retweet-button>
<favorite-button :loggedIn='loggedIn' :status='status'></favorite-button>
- <extra-buttons :status="status" @onError="showError"></extra-buttons>
+ <extra-buttons :status="status" @onError="showError" @onSuccess="clearError"></extra-buttons>
</div>
</div>
</div>