summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkReactionsViewer.reaction.vue
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2024-07-04 13:14:49 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2024-07-04 13:14:49 +0900
commit6dd2e9fc0b1eeea6b5f04ccac93ccfab658f976d (patch)
tree53a677d4fdaa802774a133272ed2f5f1180dd4fa /packages/frontend/src/components/MkReactionsViewer.reaction.vue
parentfix(storybook): build skipping even after updating impl story files (#14124) (diff)
downloadmisskey-6dd2e9fc0b1eeea6b5f04ccac93ccfab658f976d.tar.gz
misskey-6dd2e9fc0b1eeea6b5f04ccac93ccfab658f976d.tar.bz2
misskey-6dd2e9fc0b1eeea6b5f04ccac93ccfab658f976d.zip
refactor(frontend): refactor popup api and make sure call dispose callback
Close #14122
Diffstat (limited to 'packages/frontend/src/components/MkReactionsViewer.reaction.vue')
-rw-r--r--packages/frontend/src/components/MkReactionsViewer.reaction.vue14
1 files changed, 10 insertions, 4 deletions
diff --git a/packages/frontend/src/components/MkReactionsViewer.reaction.vue b/packages/frontend/src/components/MkReactionsViewer.reaction.vue
index c41811febe..26223364ab 100644
--- a/packages/frontend/src/components/MkReactionsViewer.reaction.vue
+++ b/packages/frontend/src/components/MkReactionsViewer.reaction.vue
@@ -114,10 +114,12 @@ async function menu(ev) {
text: i18n.ts.info,
icon: 'ti ti-info-circle',
action: async () => {
- os.popup(MkCustomEmojiDetailedDialog, {
+ const { dispose } = os.popup(MkCustomEmojiDetailedDialog, {
emoji: await misskeyApiGet('emoji', {
name: props.reaction.replace(/:/g, '').replace(/@\./, ''),
}),
+ }, {
+ closed: () => dispose(),
});
},
}], ev.currentTarget ?? ev.target);
@@ -129,7 +131,9 @@ function anime() {
const rect = buttonEl.value.getBoundingClientRect();
const x = rect.left + 16;
const y = rect.top + (buttonEl.value.offsetHeight / 2);
- os.popup(MkReactionEffect, { reaction: props.reaction, x, y }, {}, 'end');
+ const { dispose } = os.popup(MkReactionEffect, { reaction: props.reaction, x, y }, {
+ end: () => dispose(),
+ });
}
watch(() => props.count, (newCount, oldCount) => {
@@ -151,13 +155,15 @@ if (!mock) {
const users = reactions.map(x => x.user);
- os.popup(XDetails, {
+ const { dispose } = os.popup(XDetails, {
showing,
reaction: props.reaction,
users,
count: props.count,
targetElement: buttonEl.value,
- }, {}, 'closed');
+ }, {
+ closed: () => dispose(),
+ });
}, 100);
}
</script>