From ed60942717c22e2c0708fc1c71effc0a0d9c05fa Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 24 May 2025 19:48:24 +0900 Subject: [PATCH] enhance: refine uploadFile --- .../src/components/MkFormDialog.file.vue | 5 +- .../frontend/src/components/MkPostForm.vue | 8 ++- .../src/components/MkUploaderDialog.vue | 72 +++++++++++++++---- .../components/MkWatermarkEditorDialog.vue | 9 ++- packages/frontend/src/os.ts | 3 + .../custom-emojis-manager.local.list.vue | 5 +- .../frontend/src/pages/channel-editor.vue | 5 +- .../frontend/src/pages/chat/room.form.vue | 6 +- .../src/pages/custom-emojis-manager.vue | 5 +- .../frontend/src/pages/emoji-edit-dialog.vue | 5 +- packages/frontend/src/pages/gallery/edit.vue | 7 +- .../src/pages/page-editor/page-editor.vue | 5 +- .../src/pages/settings/account-data.vue | 25 +++++-- packages/frontend/src/pages/settings/deck.vue | 5 +- .../src/pages/settings/sounds.sound.vue | 4 +- packages/frontend/src/utility/drive.ts | 24 +++++-- packages/frontend/src/utility/watermark.ts | 10 ++- 17 files changed, 161 insertions(+), 42 deletions(-) diff --git a/packages/frontend/src/components/MkFormDialog.file.vue b/packages/frontend/src/components/MkFormDialog.file.vue index a11075c342..182ff3ccf5 100644 --- a/packages/frontend/src/components/MkFormDialog.file.vue +++ b/packages/frontend/src/components/MkFormDialog.file.vue @@ -51,7 +51,10 @@ if (props.fileId) { } function selectButton(ev: MouseEvent) { - selectFile(ev.currentTarget ?? ev.target).then(async (file) => { + selectFile({ + anchorElement: ev.currentTarget ?? ev.target, + multiple: false, + }).then(async (file) => { if (!file) return; if (props.validate && !await props.validate(file)) return; diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue index 982ed88003..cd4fabea02 100644 --- a/packages/frontend/src/components/MkPostForm.vue +++ b/packages/frontend/src/components/MkPostForm.vue @@ -120,7 +120,7 @@ import { formatTimeString } from '@/utility/format-time-string.js'; import { Autocomplete } from '@/utility/autocomplete.js'; import * as os from '@/os.js'; import { misskeyApi } from '@/utility/misskey-api.js'; -import { selectFiles } from '@/utility/drive.js'; +import { selectFile } from '@/utility/drive.js'; import { store } from '@/store.js'; import MkInfo from '@/components/MkInfo.vue'; import { i18n } from '@/i18n.js'; @@ -437,7 +437,11 @@ function focus() { function chooseFileFrom(ev) { if (props.mock) return; - selectFiles(ev.currentTarget ?? ev.target, i18n.ts.attachFile).then(files_ => { + selectFile({ + anchorElement: ev.currentTarget ?? ev.target, + multiple: true, + label: i18n.ts.attachFile, + }).then(files_ => { for (const file of files_) { files.value.push(file); } diff --git a/packages/frontend/src/components/MkUploaderDialog.vue b/packages/frontend/src/components/MkUploaderDialog.vue index 3f5f0776a8..a3f5c14ae1 100644 --- a/packages/frontend/src/components/MkUploaderDialog.vue +++ b/packages/frontend/src/components/MkUploaderDialog.vue @@ -92,6 +92,13 @@ SPDX-License-Identifier: AGPL-3.0-only + +