logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://anongit.hacktivis.me/git/pleroma-fe.git/
commit: 797259cc9df220ab8136679b1d33e9bce67a087c
parent b8288d7cc4311b9815f68811707d35b1bf035669
Author: Henry Jameson <me@hjkos.com>
Date:   Mon, 20 Jan 2025 01:58:17 +0200

animation fix

Diffstat:

Msrc/components/status_action_buttons/action_button.js8+++++++-
Msrc/components/status_action_buttons/action_button.vue3++-
Msrc/components/status_action_buttons/status_action_buttons.js7-------
Msrc/components/status_action_buttons/status_action_buttons.vue2--
4 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/src/components/status_action_buttons/action_button.js b/src/components/status_action_buttons/action_button.js @@ -62,7 +62,6 @@ export default { 'extra', 'status', 'funcArg', - 'animationState', 'getClass', 'getComponent', 'doAction', @@ -73,6 +72,9 @@ export default { EmojiPicker, Popover }, + data: () => ({ + animationState: false + }), computed: { buttonClass () { return [ @@ -116,7 +118,11 @@ export default { if (button.name === 'emoji') { this.$refs.picker.showPicker() } else { + this.animationState = true this.getComponent(button) === 'button' && this.doAction(button) + setTimeout(() => { + this.animationState = false + }, 500) close() } } diff --git a/src/components/status_action_buttons/action_button.vue b/src/components/status_action_buttons/action_button.vue @@ -19,7 +19,8 @@ <FAIcon class="fa-scale-110" :icon="button.icon(funcArg)" - :spin="!extra && button.animated?.() && animationState[button.name]" + :spin="!extra && button.animated?.() && animationState" + style="--fa-animation-duration: 750ms;" fixed-width /> <template v-if="!buttonClass.disabled && button.toggleable?.(funcArg) && button.active"> diff --git a/src/components/status_action_buttons/status_action_buttons.js b/src/components/status_action_buttons/status_action_buttons.js @@ -21,11 +21,6 @@ const StatusActionButtons = { emits: ['toggleReplying'], data () { return { - Popover, - animationState: { - retweet: false, - favorite: false - }, showPin: false, showingConfirmDialog: false, currentConfirmTitle: '', @@ -99,11 +94,9 @@ const StatusActionButtons = { } }, doActionReal (button) { - this.animationState[button.name] = true button.action(this.funcArg) .then(() => this.$emit('onSuccess')) .catch(err => this.$emit('onError', err.error.error)) - .finally(() => setTimeout(() => { this.animationState[button.name] = false })) }, onExtraClose () { this.showPin = false diff --git a/src/components/status_action_buttons/status_action_buttons.vue b/src/components/status_action_buttons/status_action_buttons.vue @@ -15,7 +15,6 @@ :funcArg="funcArg" :get-class="getClass" :get-component="getComponent" - :animation-state="animationState" :close="() => {}" :do-action="doAction" /> @@ -84,7 +83,6 @@ :funcArg="funcArg" :get-class="getClass" :get-component="getComponent" - :animation-state="animationState" :close="close" :do-action="doAction" />