animation fix

This commit is contained in:
Henry Jameson 2025-01-20 01:58:17 +02:00
parent b8288d7cc4
commit 797259cc9d
4 changed files with 9 additions and 11 deletions

View file

@ -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()
}
}

View file

@ -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">

View file

@ -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

View file

@ -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"
/>