summaryrefslogtreecommitdiff
path: root/packages/frontend/src/utility
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/utility')
-rw-r--r--packages/frontend/src/utility/autocomplete.ts3
-rw-r--r--packages/frontend/src/utility/drive.ts16
-rw-r--r--packages/frontend/src/utility/get-drive-file-menu.ts5
3 files changed, 19 insertions, 5 deletions
diff --git a/packages/frontend/src/utility/autocomplete.ts b/packages/frontend/src/utility/autocomplete.ts
index 82109af1a0..c0b1865617 100644
--- a/packages/frontend/src/utility/autocomplete.ts
+++ b/packages/frontend/src/utility/autocomplete.ts
@@ -213,10 +213,11 @@ export class Autocomplete {
const _y = ref(y);
const _q = ref(q);
- const { dispose } = await popup(defineAsyncComponent(() => import('@/components/MkAutocomplete.vue')), {
+ const { dispose } = popup(defineAsyncComponent(() => import('@/components/MkAutocomplete.vue')), {
textarea: this.textarea,
close: this.close,
type: type,
+ //@ts-expect-error popupは今のところジェネリック型のコンポーネントに対応していない
q: _q,
x: _x,
y: _y,
diff --git a/packages/frontend/src/utility/drive.ts b/packages/frontend/src/utility/drive.ts
index 4fe2042e78..7578ed36e6 100644
--- a/packages/frontend/src/utility/drive.ts
+++ b/packages/frontend/src/utility/drive.ts
@@ -301,14 +301,26 @@ export async function createCroppedImageDriveFileFromImageDriveFile(imageDriveFi
});
}
-export async function selectDriveFolder(initialFolder: Misskey.entities.DriveFolder['id'] | null): Promise<(Misskey.entities.DriveFolder | null)[]> {
+export async function selectDriveFolder(initialFolder: Misskey.entities.DriveFolder['id'] | null): Promise<{
+ canceled: false;
+ folders: (Misskey.entities.DriveFolder | null)[];
+} | {
+ canceled: true;
+ folders: undefined;
+}> {
return new Promise((resolve, reject) => {
let dispose: () => void;
os.popupAsyncWithDialog(import('@/components/MkDriveFolderSelectDialog.vue').then(x => x.default), {
initialFolder,
}, {
done: folders => {
- resolve(folders);
+ resolve(folders == null ? {
+ canceled: true,
+ folders: undefined,
+ } : {
+ canceled: false,
+ folders,
+ });
},
closed: () => dispose(),
}).then(d => dispose = d.dispose, reject);
diff --git a/packages/frontend/src/utility/get-drive-file-menu.ts b/packages/frontend/src/utility/get-drive-file-menu.ts
index 53ca4389bf..fea7f8f1d3 100644
--- a/packages/frontend/src/utility/get-drive-file-menu.ts
+++ b/packages/frontend/src/utility/get-drive-file-menu.ts
@@ -44,10 +44,11 @@ async function describe(file: Misskey.entities.DriveFile) {
}
function move(file: Misskey.entities.DriveFile) {
- selectDriveFolder(null).then(folder => {
+ selectDriveFolder(null).then(({ canceled, folders }) => {
+ if (canceled) return;
misskeyApi('drive/files/update', {
fileId: file.id,
- folderId: folder[0] ? folder[0].id : null,
+ folderId: folders[0] ? folders[0].id : null,
});
});
}