From 5db01c1c06a5353b038482fdb0e2ddf988aee132 Mon Sep 17 00:00:00 2001
From: syuilo <4439005+syuilo@users.noreply.github.com>
Date: Fri, 6 Jun 2025 16:16:40 +0900
Subject: [PATCH] wip
---
packages/frontend/src/components/MkPostForm.vue | 13 ++++++++++++-
.../frontend/src/components/MkUploaderDialog.vue | 14 ++++++++++++--
.../frontend/src/components/MkUploaderItems.vue | 10 ++++++++++
packages/frontend/src/composables/use-uploader.ts | 6 +++---
4 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue
index 90cbba9788..35d53865bf 100644
--- a/packages/frontend/src/components/MkPostForm.vue
+++ b/packages/frontend/src/components/MkPostForm.vue
@@ -73,7 +73,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- uploader.showMenu(ev, item)"/>
+ showPerUploadItemMenu(item, ev)" @showMenuViaContextmenu="(item, ev) => showPerUploadItemMenuViaContextmenu(item, ev)"/>
@@ -114,6 +114,7 @@ import type { ShallowRef } from 'vue';
import type { PostFormProps } from '@/types/post-form.js';
import type { MenuItem } from '@/types/menu.js';
import type { PollEditorModelValue } from '@/components/MkPollEditor.vue';
+import type { UploaderItem } from '@/composables/use-uploader.js';
import MkNotePreview from '@/components/MkNotePreview.vue';
import XPostFormAttaches from '@/components/MkPostFormAttaches.vue';
import XTextCounter from '@/components/MkPostForm.TextCounter.vue';
@@ -1072,6 +1073,16 @@ function openAccountMenu(ev: MouseEvent) {
}, ev);
}
+function showPerUploadItemMenu(item: UploaderItem, ev: MouseEvent) {
+ const menu = uploader.getMenu(item);
+ os.popupMenu(menu, ev.currentTarget ?? ev.target);
+}
+
+function showPerUploadItemMenuViaContextmenu(item: UploaderItem, ev: MouseEvent) {
+ const menu = uploader.getMenu(item);
+ os.contextMenu(menu, ev);
+}
+
onMounted(() => {
if (props.autofocus) {
focus();
diff --git a/packages/frontend/src/components/MkUploaderDialog.vue b/packages/frontend/src/components/MkUploaderDialog.vue
index 806c6c37e2..142d1cd788 100644
--- a/packages/frontend/src/components/MkUploaderDialog.vue
+++ b/packages/frontend/src/components/MkUploaderDialog.vue
@@ -23,7 +23,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts._uploader.tip }}
- uploader.showMenu(ev, item)"/>
+ showPerItemMenu(item, ev)" @showMenuViaContextmenu="(item, ev) => showPerItemMenuViaContextmenu(item, ev)"/>
@@ -52,7 +52,7 @@ SPDX-License-Identifier: AGPL-3.0-only