diff --git a/src/lib/components/molecules/labels/DirectoryEntryLabel.svelte b/src/lib/components/molecules/labels/DirectoryEntryLabel.svelte index 5d4fb81..9878e26 100644 --- a/src/lib/components/molecules/labels/DirectoryEntryLabel.svelte +++ b/src/lib/components/molecules/labels/DirectoryEntryLabel.svelte @@ -10,18 +10,45 @@ name: string; subtext?: string; textClass?: ClassValue; + thumbnail?: ArrayBuffer; type: "directory" | "file"; } - let { class: className, name, subtext, textClass: textClassName, type }: Props = $props(); + let { + class: className, + name, + subtext, + textClass: textClassName, + thumbnail, + type, + }: Props = $props(); + + let thumbnailUrl: string | undefined = $state(); + + $effect(() => { + thumbnailUrl = thumbnail && URL.createObjectURL(new Blob([thumbnail])); + return () => thumbnailUrl && URL.revokeObjectURL(thumbnailUrl); + }); +{#snippet iconSnippet()} +