동시에 업로드할 수 있는 파일의 메모리 용량을 제한하여 메모리 부족으로 인해 발생하던 크래시 해결

This commit is contained in:
static
2026-01-02 23:00:25 +09:00
parent 008c8ad6ba
commit 83d595636b
10 changed files with 213 additions and 200 deletions

View File

@@ -10,7 +10,6 @@
</script>
<script lang="ts">
import type { Writable } from "svelte/store";
import { ActionEntryButton } from "$lib/components/atoms";
import { DirectoryEntryLabel } from "$lib/components/molecules";
import type { FileInfo } from "$lib/modules/filesystem";
@@ -23,22 +22,21 @@
info: FileInfo;
onclick: (file: FileInfo) => void;
onGenerateThumbnailClick: (file: FileInfo) => void;
generationStatus?: Writable<GenerationStatus>;
status: Exclude<GenerationStatus, "uploaded"> | undefined;
}
let { info, onclick, onGenerateThumbnailClick, generationStatus }: Props = $props();
let { info, onclick, onGenerateThumbnailClick, status }: Props = $props();
</script>
<ActionEntryButton
class="h-14"
onclick={() => onclick(info)}
actionButtonIcon={!$generationStatus || $generationStatus === "error" ? IconCamera : undefined}
actionButtonIcon={!status || status === "error" ? IconCamera : undefined}
onActionButtonClick={() => onGenerateThumbnailClick(info)}
actionButtonClass="text-gray-800"
>
{@const subtext =
$generationStatus && $generationStatus !== "uploaded"
? subtexts[$generationStatus]
: formatDateTime(info.createdAt ?? info.lastModifiedAt)}
{@const subtext = status
? subtexts[status]
: formatDateTime(info.createdAt ?? info.lastModifiedAt)}
<DirectoryEntryLabel type="file" name={info.name} {subtext} />
</ActionEntryButton>