diff options
Diffstat (limited to 'packages/frontend/src/directives')
| -rw-r--r-- | packages/frontend/src/directives/hotkey.ts | 6 | ||||
| -rw-r--r-- | packages/frontend/src/directives/ripple.ts | 4 | ||||
| -rw-r--r-- | packages/frontend/src/directives/tooltip.ts | 6 | ||||
| -rw-r--r-- | packages/frontend/src/directives/user-preview.ts | 5 |
4 files changed, 13 insertions, 8 deletions
diff --git a/packages/frontend/src/directives/hotkey.ts b/packages/frontend/src/directives/hotkey.ts index b082b6edf2..0e5c7ede24 100644 --- a/packages/frontend/src/directives/hotkey.ts +++ b/packages/frontend/src/directives/hotkey.ts @@ -4,7 +4,7 @@ */ import { Directive } from 'vue'; -import { makeHotkey } from '../scripts/hotkey.js'; +import { makeHotkey } from '@/scripts/hotkey.js'; export default { mounted(el, binding) { @@ -13,9 +13,9 @@ export default { el._keyHandler = makeHotkey(binding.value); if (el._hotkey_global) { - document.addEventListener('keydown', el._keyHandler); + document.addEventListener('keydown', el._keyHandler, { passive: false }); } else { - el.addEventListener('keydown', el._keyHandler); + el.addEventListener('keydown', el._keyHandler, { passive: false }); } }, diff --git a/packages/frontend/src/directives/ripple.ts b/packages/frontend/src/directives/ripple.ts index 2d724f771e..a043ff212d 100644 --- a/packages/frontend/src/directives/ripple.ts +++ b/packages/frontend/src/directives/ripple.ts @@ -17,7 +17,9 @@ export default { const x = rect.left + (el.offsetWidth / 2); const y = rect.top + (el.offsetHeight / 2); - popup(MkRippleEffect, { x, y }, {}, 'end'); + const { dispose } = popup(MkRippleEffect, { x, y }, { + end: () => dispose(), + }); }); }, }; diff --git a/packages/frontend/src/directives/tooltip.ts b/packages/frontend/src/directives/tooltip.ts index b1c1b19907..251ce5675f 100644 --- a/packages/frontend/src/directives/tooltip.ts +++ b/packages/frontend/src/directives/tooltip.ts @@ -51,13 +51,15 @@ export default { if (self.text == null) return; const showing = ref(true); - popup(defineAsyncComponent(() => import('@/components/MkTooltip.vue')), { + const { dispose } = popup(defineAsyncComponent(() => import('@/components/MkTooltip.vue')), { showing, text: self.text, asMfm: binding.modifiers.mfm, direction: binding.modifiers.left ? 'left' : binding.modifiers.right ? 'right' : binding.modifiers.top ? 'top' : binding.modifiers.bottom ? 'bottom' : 'top', targetElement: el, - }, {}, 'closed'); + }, { + closed: () => dispose(), + }); self._close = () => { showing.value = false; diff --git a/packages/frontend/src/directives/user-preview.ts b/packages/frontend/src/directives/user-preview.ts index 7a008a4486..278d842d09 100644 --- a/packages/frontend/src/directives/user-preview.ts +++ b/packages/frontend/src/directives/user-preview.ts @@ -35,7 +35,7 @@ export class UserPreview { const showing = ref(true); - popup(defineAsyncComponent(() => import('@/components/MkUserPopup.vue')), { + const { dispose } = popup(defineAsyncComponent(() => import('@/components/MkUserPopup.vue')), { showing, q: this.user, source: this.el, @@ -47,7 +47,8 @@ export class UserPreview { window.clearTimeout(this.showTimer); this.hideTimer = window.setTimeout(this.close, 500); }, - }, 'closed'); + closed: () => dispose(), + }); this.promise = { cancel: () => { |