From f4167ae7f1df7c2cd4cf264fc4d79d51b8c51133 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Sun, 1 Jun 2025 10:44:45 +0900 Subject: enhance(frontend): 非同期的なコンポーネントの読み込み時のハンドリングを強化 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/components/MkDrive.folder.vue | 4 ++-- packages/frontend/src/components/MkPostFormAttaches.vue | 8 +++++--- packages/frontend/src/components/MkUserSetupDialog.vue | 4 ++-- packages/frontend/src/components/global/MkCustomEmoji.vue | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) (limited to 'packages/frontend/src/components') diff --git a/packages/frontend/src/components/MkDrive.folder.vue b/packages/frontend/src/components/MkDrive.folder.vue index 8ba7520f35..d7dd12408c 100644 --- a/packages/frontend/src/components/MkDrive.folder.vue +++ b/packages/frontend/src/components/MkDrive.folder.vue @@ -282,8 +282,8 @@ function onContextmenu(ev: MouseEvent) { menu = [{ text: i18n.ts.openInWindow, icon: 'ti ti-app-window', - action: () => { - const { dispose } = os.popup(defineAsyncComponent(() => import('@/components/MkDriveWindow.vue')), { + action: async () => { + const { dispose } = await os.popupAsyncWithDialog(import('@/components/MkDriveWindow.vue').then(x => x.default), { initialFolder: props.folder, }, { closed: () => dispose(), diff --git a/packages/frontend/src/components/MkPostFormAttaches.vue b/packages/frontend/src/components/MkPostFormAttaches.vue index dd594ef7f1..f429db94df 100644 --- a/packages/frontend/src/components/MkPostFormAttaches.vue +++ b/packages/frontend/src/components/MkPostFormAttaches.vue @@ -126,7 +126,7 @@ async function rename(file) { async function describe(file: Misskey.entities.DriveFile) { if (mock) return; - const { dispose } = os.popup(defineAsyncComponent(() => import('@/components/MkFileCaptionEditWindow.vue')), { + const { dispose } = await os.popupAsyncWithDialog(import('@/components/MkFileCaptionEditWindow.vue').then(x => x.default), { default: file.comment !== null ? file.comment : '', file: file, }, { @@ -168,9 +168,11 @@ function showFileMenu(file: Misskey.entities.DriveFile, ev: MouseEvent | Keyboar menuItems.push({ text: i18n.ts.preview, icon: 'ti ti-photo-search', - action: () => { - os.popup(defineAsyncComponent(() => import('@/components/MkImgPreviewDialog.vue')), { + action: async () => { + const { dispose } = await os.popupAsyncWithDialog(import('@/components/MkImgPreviewDialog.vue').then(x => x.default), { file: file, + }, { + closed: () => dispose(), }); }, }); diff --git a/packages/frontend/src/components/MkUserSetupDialog.vue b/packages/frontend/src/components/MkUserSetupDialog.vue index 82214ed5a5..b4ef35c221 100644 --- a/packages/frontend/src/components/MkUserSetupDialog.vue +++ b/packages/frontend/src/components/MkUserSetupDialog.vue @@ -174,8 +174,8 @@ function setupComplete() { function launchTutorial() { setupComplete(); - nextTick(() => { - const { dispose } = os.popup(defineAsyncComponent(() => import('@/components/MkTutorialDialog.vue')), { + nextTick(async () => { + const { dispose } = await os.popupAsyncWithDialog(import('@/components/MkTutorialDialog.vue').then(x => x.default), { initialPage: 1, }, { closed: () => dispose(), diff --git a/packages/frontend/src/components/global/MkCustomEmoji.vue b/packages/frontend/src/components/global/MkCustomEmoji.vue index ed114d8d31..31c358eee7 100644 --- a/packages/frontend/src/components/global/MkCustomEmoji.vue +++ b/packages/frontend/src/components/global/MkCustomEmoji.vue @@ -185,7 +185,7 @@ async function edit(name: string) { const emoji = await misskeyApi('emoji', { name: name, }); - const { dispose } = os.popup(defineAsyncComponent(() => import('@/pages/emoji-edit-dialog.vue')), { + const { dispose } = await os.popupAsyncWithDialog(import('@/pages/emoji-edit-dialog.vue').then(x => x.default), { emoji: emoji, }, { closed: () => dispose(), -- cgit v1.2.3-freya