{#if !uploading && previews.length === 0}
fileInput?.click()} class="flex min-h-[400px] cursor-pointer flex-col items-center justify-center rounded-2xl border-2 border-dashed p-12 transition-all {isDragging ? 'border-blue-500 bg-blue-50 dark:bg-blue-950/20' : 'border-gray-300 bg-gray-50/50 hover:border-gray-400 dark:border-gray-700 dark:bg-gray-800/50 dark:hover:border-gray-600'}" role="button" tabindex="0" >

{isDragging ? 'Loslassen zum Hochladen' : 'Bilder hochladen'}

Ziehe deine Bilder hierher oder klicke zum Auswählen

JPG, PNG oder WebP • Max. 10MB pro Bild

{/if} {#if previews.length > 0}

{previews.length} {previews.length === 1 ? 'Bild' : 'Bilder'} ausgewählt

{#if !uploading} {/if}
{#each previews as preview, index (preview.file.name)} {@const progress = getProgressForFile(preview.file.name)}
{preview.file.name}
{#if !uploading} {/if}

{preview.file.name}

{(preview.file.size / 1024 / 1024).toFixed(2)} MB

{#if preview.error}
{preview.error}
{/if} {#if progress}
{#if progress.status === 'uploading'} Hochladen... {:else if progress.status === 'success'} ✓ Fertig {:else if progress.status === 'error'} ✗ Fehler {:else} Warten... {/if} {#if progress.status === 'uploading' || progress.status === 'success'} {Math.round(progress.progress)}% {/if}
{#if progress.status === 'uploading' || progress.status === 'success'}
{/if} {#if progress.error}

{progress.error}

{/if}
{/if}
{/each}
{#if !uploading && selectedFiles.length > 0}
{/if}
{/if}