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>
<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
:is="disableImageLink ? 'div' : 'a'"
v-bind="disableImageLink ? {
@ -123,7 +123,7 @@ watch(() => props.image, (newImage) => {
immediate: true,
});
function showMenu(ev: PointerEvent) {
function getMenu() {
const menuItems: MenuItem[] = [];
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>
<style lang="scss" module>