This commit is contained in:
syuilo 2025-05-13 14:03:50 +09:00
parent 73a83c0064
commit 6c7f24fbb8
6 changed files with 10 additions and 23 deletions

View File

@ -446,14 +446,6 @@ function deleteFolder(folderToDelete: Misskey.entities.DriveFolder) {
});
}
function upload(file: File, folderToUpload?: Misskey.entities.DriveFolder | null, keepOriginal?: boolean) {
uploadFile(file, (folderToUpload && typeof folderToUpload === 'object') ? folderToUpload.id : null, undefined, keepOriginal).then(res => {
if (res.folderId === (folder.value?.id ?? null)) {
filesPaginator.prepend(res);
}
});
}
function onChooseFile(file: Misskey.entities.DriveFile) {
const isAlreadySelected = selectedFiles.value.some(f => f.id === file.id);
@ -649,6 +641,12 @@ function closeTip() {
store.set('readDriveTip', true);
}
useGlobalEvent('driveFileCreated', (file) => {
if (file.folderId === (folder.value?.id ?? null)) {
filesPaginator.prepend(file);
}
});
useGlobalEvent('driveFilesMoved', (files, to) => {
for (const f of files) {
filesPaginator.removeItem(f.id);

View File

@ -463,14 +463,6 @@ function replaceFile(file: Misskey.entities.DriveFile, newFile: Misskey.entities
files.value[files.value.findIndex(x => x.id === file.id)] = newFile;
}
function upload(file: File, name?: string): void {
if (props.mock) return;
uploadFile(file, prefer.s.uploadFolder, name).then(res => {
files.value.push(res);
});
}
function setVisibility() {
if (props.channel) {
visibility.value = 'public';

View File

@ -13,6 +13,7 @@ type Events = {
clientNotification: (notification: Misskey.entities.Notification) => void;
notePosted: (note: Misskey.entities.Note) => void;
noteDeleted: (noteId: Misskey.entities.Note['id']) => void;
driveFileCreated: (file: Misskey.entities.DriveFile) => void;
driveFilesMoved: (files: Misskey.entities.DriveFile[], to: Misskey.entities.DriveFolder | null) => void;
};

View File

@ -329,7 +329,7 @@ async function onDrop(ev: DragEvent) {
Promise.all(
droppedFiles.map(async (it) => ({
droppedFile: it,
driveFile: await uploadFile(
driveFile: await uploadFile( // TODO
it.file,
selectedFolderId.value,
it.file.name.replace(/\.[^.]+$/, ''),

View File

@ -176,12 +176,6 @@ function onChangeFile() {
if (fileEl.value.files[0]) upload(fileEl.value.files[0]);
}
function upload(fileToUpload: File, name?: string) {
uploadFile(fileToUpload, prefer.s.uploadFolder, name).then(res => {
file.value = res;
});
}
function send() {
if (!canSend.value) return;

View File

@ -9,6 +9,7 @@ import { $i } from '@/i.js';
import { instance } from '@/instance.js';
import { i18n } from '@/i18n.js';
import * as os from '@/os.js';
import { globalEvents } from '@/events.js';
export function uploadFile(file: File | Blob, options: {
name?: string;
@ -71,6 +72,7 @@ export function uploadFile(file: File | Blob, options: {
}
const driveFile = JSON.parse(ev.target.response);
globalEvents.emit('driveFileCreated', driveFile);
resolve(driveFile);
}) as (ev: ProgressEvent<EventTarget>) => any;