This commit is contained in:
syuilo 2025-05-14 09:15:20 +09:00
parent 10f6919965
commit 928d941b3e
4 changed files with 19 additions and 13 deletions

View File

@ -58,7 +58,7 @@ const props = withDefaults(defineProps<{
const emit = defineEmits<{
(ev: 'chosen', v: Misskey.entities.DriveFolder): void;
(ev: 'unchose', v: Misskey.entities.DriveFolder): void;
(ev: 'upload', file: File, folder: Misskey.entities.DriveFolder);
(ev: 'upload', files: File[], folder: Misskey.entities.DriveFolder);
(ev: 'dragstart'): void;
(ev: 'dragend'): void;
}>();
@ -133,9 +133,7 @@ function onDrop(ev: DragEvent) {
//
if (ev.dataTransfer.files.length > 0) {
for (const file of Array.from(ev.dataTransfer.files)) {
emit('upload', file, props.folder);
}
emit('upload', Array.from(ev.dataTransfer.files), props.folder);
return;
}

View File

@ -30,7 +30,7 @@ const props = defineProps<{
}>();
const emit = defineEmits<{
(ev: 'upload', file: File, folder?: Misskey.entities.DriveFolder | null): void;
(ev: 'upload', files: File[], folder?: Misskey.entities.DriveFolder | null): void;
}>();
const draghover = ref(false);
@ -83,9 +83,7 @@ function onDrop(ev: DragEvent) {
//
if (ev.dataTransfer.files.length > 0) {
for (const file of Array.from(ev.dataTransfer.files)) {
emit('upload', file, props.folder);
}
emit('upload', Array.from(ev.dataTransfer.files), props.folder);
return;
}

View File

@ -12,7 +12,7 @@ SPDX-License-Identifier: AGPL-3.0-only
:class="[$style.navPathItem, { [$style.navCurrent]: folder == null }]"
:parentFolder="folder"
@click="cd(null)"
@upload="upload"
@upload="onUploadRequested"
/>
<template v-for="f in hierarchyFolders">
<span :class="[$style.navPathItem, $style.navSeparator]"><i class="ti ti-chevron-right"></i></span>
@ -21,7 +21,7 @@ SPDX-License-Identifier: AGPL-3.0-only
:parentFolder="folder"
:class="[$style.navPathItem]"
@click="cd(f)"
@upload="upload"
@upload="onUploadRequested"
/>
</template>
<span v-if="folder != null" :class="[$style.navPathItem, $style.navSeparator]"><i class="ti ti-chevron-right"></i></span>
@ -74,7 +74,7 @@ SPDX-License-Identifier: AGPL-3.0-only
@chosen="chooseFolder"
@unchose="unchoseFolder"
@click="cd(f)"
@upload="upload"
@upload="onUploadRequested"
@dragstart="isDragSource = true"
@dragend="isDragSource = false"
/>
@ -112,7 +112,7 @@ SPDX-License-Identifier: AGPL-3.0-only
/>
</TransitionGroup>
</MkStickyContainer>
<MkButton v-show="filesPaginator.canFetchOlder.value" primary rounded @click="filesPaginator.fetchOlder()">{{ i18n.ts.loadMore }}</MkButton>
<MkButton v-show="filesPaginator.canFetchOlder.value" :class="$style.loadMore" primary rounded @click="filesPaginator.fetchOlder()">{{ i18n.ts.loadMore }}</MkButton>
</div>
<div v-if="filesPaginator.items.value.length == 0 && foldersPaginator.items.value.length == 0 && !fetching" :class="$style.empty">
@ -377,6 +377,12 @@ function onDrop(ev: DragEvent) {
//#endregion
}
function onUploadRequested(files: File[], folder: Misskey.entities.DriveFolder | null) {
os.launchUploader(files, {
folderId: folder?.id ?? null,
});
}
async function urlUpload() {
const { canceled, result: url } = await os.inputText({
title: i18n.ts.uploadFromUrl,
@ -821,6 +827,10 @@ onBeforeUnmount(() => {
background-color: color(from var(--MI_THEME-bg) srgb r g b / 0.85);
}
.loadMore {
margin: 16px auto;
}
.footer {
padding: 8px 16px;
font-size: 90%;

View File

@ -159,7 +159,7 @@ export function usePagination<Endpoint extends keyof Misskey.Endpoints, T = Miss
canFetchOlder.value = true;
}
}
}, err => {
}).finally(() => {
fetchingOlder.value = false;
});
}