aboutsummaryrefslogtreecommitdiff
path: root/src/components/retweet_button/retweet_button.js
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2023-01-25 23:49:16 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2023-01-25 23:49:16 +0000
commit65e10f07def87f0c4399dbce92eb00b430d5dba4 (patch)
tree02d8646054b4f3647cee9938d82c2e9e3a70312b /src/components/retweet_button/retweet_button.js
parenta9716701be26c696ee1b908a1787b34880175ffa (diff)
parentc7c68340f1c8838cead855de3f624e0796fbc6c7 (diff)
Merge branch 'from/develop/tusooa/confirm-dialogs' into 'develop'
Confirmation dialogs See merge request pleroma/pleroma-fe!1431
Diffstat (limited to 'src/components/retweet_button/retweet_button.js')
-rw-r--r--src/components/retweet_button/retweet_button.js24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/components/retweet_button/retweet_button.js b/src/components/retweet_button/retweet_button.js
index 4d92b5fa..198b6c14 100644
--- a/src/components/retweet_button/retweet_button.js
+++ b/src/components/retweet_button/retweet_button.js
@@ -1,3 +1,4 @@
+import ConfirmModal from '../confirm_modal/confirm_modal.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faRetweet,
@@ -15,13 +16,24 @@ library.add(
const RetweetButton = {
props: ['status', 'loggedIn', 'visibility'],
+ components: {
+ ConfirmModal
+ },
data () {
return {
- animated: false
+ animated: false,
+ showingConfirmDialog: false
}
},
methods: {
retweet () {
+ if (!this.status.repeated && this.shouldConfirmRepeat) {
+ this.showConfirmDialog()
+ } else {
+ this.doRetweet()
+ }
+ },
+ doRetweet () {
if (!this.status.repeated) {
this.$store.dispatch('retweet', { id: this.status.id })
} else {
@@ -31,6 +43,13 @@ const RetweetButton = {
setTimeout(() => {
this.animated = false
}, 500)
+ this.hideConfirmDialog()
+ },
+ showConfirmDialog () {
+ this.showingConfirmDialog = true
+ },
+ hideConfirmDialog () {
+ this.showingConfirmDialog = false
}
},
computed: {
@@ -39,6 +58,9 @@ const RetweetButton = {
},
remoteInteractionLink () {
return this.$store.getters.remoteInteractionLink({ statusId: this.status.id })
+ },
+ shouldConfirmRepeat () {
+ return this.mergedConfig.modalOnRepeat
}
}
}