파일
{#if data.id !== "root"} {/if} {#if $info.status === "success"}
goto("/file/uploads")} /> goto("/file/downloads")} />
{#key $info.data.id} goto(`/${type}/${id}`)} onEntryMenuClick={(entry) => { context.selectedEntry = entry; isEntryMenuBottomSheetOpen = true; }} /> {/key}
{/if}
{ isEntryCreateBottomSheetOpen = true; }} class="bottom-24 right-4" /> { isEntryCreateBottomSheetOpen = false; isDirectoryCreateModalOpen = true; }} onFileUploadClick={() => { isEntryCreateBottomSheetOpen = false; fileInput?.click(); }} /> { $requestDirectoryCreation.mutate({ name }); return true; // TODO }} /> { resolveForDuplicateFileModal?.(false); isDuplicateFileModalOpen = false; }} onUploadClick={() => { resolveForDuplicateFileModal?.(true); isDuplicateFileModalOpen = false; }} /> { isEntryMenuBottomSheetOpen = false; isEntryRenameModalOpen = true; }} onDeleteClick={() => { isEntryMenuBottomSheetOpen = false; isEntryDeleteModalOpen = true; }} /> { if (context.selectedEntry!.type === "directory") { $requestDirectoryRename.mutate({ id: context.selectedEntry!.id, dataKey: context.selectedEntry!.dataKey, dataKeyVersion: context.selectedEntry!.dataKeyVersion, newName, }); return true; // TODO } else { $requestFileRename.mutate({ id: context.selectedEntry!.id, dataKey: context.selectedEntry!.dataKey, dataKeyVersion: context.selectedEntry!.dataKeyVersion, newName, }); return true; // TODO } }} /> { if (context.selectedEntry!.type === "directory") { const res = await $requestDirectoryDeletion.mutateAsync({ id: context.selectedEntry!.id }); if (!res) return false; await Promise.all( res.deletedFiles.flatMap((fileId) => [ deleteFileCache(fileId), deleteFileThumbnailCache(fileId), ]), ); return true; // TODO } else { await $requestFileDeletion.mutateAsync({ id: context.selectedEntry!.id }); await Promise.all([ deleteFileCache(context.selectedEntry!.id), deleteFileThumbnailCache(context.selectedEntry!.id), ]); return true; // TODO } }} />