summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkPlusOneEffect.vue
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-01-07 17:37:30 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-01-07 17:37:30 +0900
commitb8248bdd656ebc16021b096a77536815d36dc92e (patch)
tree6786cafd8069c55b8629d15f4144d20f6cd23af5 /packages/frontend/src/components/MkPlusOneEffect.vue
parent:art: (diff)
downloadmisskey-b8248bdd656ebc16021b096a77536815d36dc92e.tar.gz
misskey-b8248bdd656ebc16021b096a77536815d36dc92e.tar.bz2
misskey-b8248bdd656ebc16021b096a77536815d36dc92e.zip
:art:
Diffstat (limited to 'packages/frontend/src/components/MkPlusOneEffect.vue')
-rw-r--r--packages/frontend/src/components/MkPlusOneEffect.vue10
1 files changed, 8 insertions, 2 deletions
diff --git a/packages/frontend/src/components/MkPlusOneEffect.vue b/packages/frontend/src/components/MkPlusOneEffect.vue
index 5c85d2b3e5..3e4f2059fd 100644
--- a/packages/frontend/src/components/MkPlusOneEffect.vue
+++ b/packages/frontend/src/components/MkPlusOneEffect.vue
@@ -1,14 +1,18 @@
<template>
<div :class="$style.root" :style="{ zIndex, top: `${y - 64}px`, left: `${x - 64}px` }">
- <span class="text" :class="{ up }">+1</span>
+ <span class="text" :class="{ up }">
+ <XReactionIcon class="icon" :reaction="reaction"/>
+ </span>
</div>
</template>
<script lang="ts" setup>
import { onMounted } from 'vue';
import * as os from '@/os';
+import XReactionIcon from '@/components/MkReactionIcon.vue';
const props = withDefaults(defineProps<{
+ reaction: string;
x: number;
y: number;
}>(), {
@@ -20,6 +24,7 @@ const emit = defineEmits<{
let up = $ref(false);
const zIndex = os.claimZIndex('veryLow');
+const angle = (90 - (Math.random() * 180)) + 'deg';
onMounted(() => {
window.setTimeout(() => {
@@ -55,10 +60,11 @@ onMounted(() => {
font-weight: bold;
transform: translateY(-30px);
transition: transform 1s cubic-bezier(0,.5,0,1), opacity 1s cubic-bezier(.5,0,1,.5);
+ will-change: opacity, transform;
&.up {
opacity: 0;
- transform: translateY(-50px);
+ transform: translateY(-50px) rotateZ(v-bind(angle));
}
}
}