enhance(frontend): 添付画像のメニューを右クリックでも呼び出せるように

This commit is contained in:
syuilo 2026-01-22 20:29:11 +09:00
parent a168e7b648
commit 8932492fd3
1 changed files with 10 additions and 3 deletions

View File

@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only
--> -->
<template> <template>
<div :class="[hide ? $style.hidden : $style.visible, (image.isSensitive && prefer.s.highlightSensitiveMedia) && $style.sensitive]" @click="reveal"> <div :class="[hide ? $style.hidden : $style.visible, (image.isSensitive && prefer.s.highlightSensitiveMedia) && $style.sensitive]" @click="reveal" @contextmenu.stop="onContextmenu">
<component <component
:is="disableImageLink ? 'div' : 'a'" :is="disableImageLink ? 'div' : 'a'"
v-bind="disableImageLink ? { v-bind="disableImageLink ? {
@ -123,7 +123,7 @@ watch(() => props.image, (newImage) => {
immediate: true, immediate: true,
}); });
function showMenu(ev: PointerEvent) { function getMenu() {
const menuItems: MenuItem[] = []; const menuItems: MenuItem[] = [];
menuItems.push({ menuItems.push({
@ -188,9 +188,16 @@ function showMenu(ev: PointerEvent) {
}); });
} }
os.popupMenu(menuItems, ev.currentTarget ?? ev.target); return menuItems;
} }
function showMenu(ev: PointerEvent) {
os.popupMenu(getMenu(), (ev.currentTarget ?? ev.target ?? undefined) as HTMLElement | undefined);
}
function onContextmenu(ev: PointerEvent) {
os.contextMenu(getMenu(), ev);
}
</script> </script>
<style lang="scss" module> <style lang="scss" module>