123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <script lang="ts">
- import { createEventDispatcher } from 'svelte';
- const dispatch = createEventDispatcher();
- import FileItem from '$lib/components/common/FileItem.svelte';
- export let selectedFileId = null;
- export let files = [];
- export let small = false;
- </script>
- <div class=" max-h-full flex flex-col w-full">
- {#each files as file}
- <div class="mt-1 px-2">
- <FileItem
- className="w-full"
- colorClassName="{selectedFileId === file.id
- ? ' bg-gray-50 dark:bg-gray-850'
- : 'bg-transparent'} hover:bg-gray-50 dark:hover:bg-gray-850 transition"
- {small}
- item={file}
- name={file?.name ?? file?.meta?.name}
- type="file"
- size={file?.size ?? file?.meta?.size ?? ''}
- loading={file.status === 'uploading'}
- dismissible
- on:click={() => {
- if (file.status === 'uploading') {
- return;
- }
- dispatch('click', file.id);
- }}
- on:dismiss={() => {
- if (file.status === 'uploading') {
- return;
- }
- dispatch('delete', file.id);
- }}
- />
- </div>
- {/each}
- </div>
|