{#snippet row(entry: ResourceEntry)} {@const iconName = entry.kind === 'folder' ? 'folder' : iconNameFromClass(entry.iconClass)}
onopen(entry) : undefined} onkeydown={onopen ? (e) => e.key === 'Enter' && onopen(entry) : undefined} oncontextmenu={contextActions?.length ? (e) => openContext(e, entry) : undefined} > {#if selectable} {/if}
{entry.name}
{#if showOwner}
{#if entry.ownerId} {:else} {entry.ownerName ?? '—'} {/if}
{/if} {#if showPath}
{entry.path ?? ''}
{/if} {#if showType}
{entry.typeLabel ?? ''}
{/if} {#if showSize}
{entry.size != null ? formatBytes(entry.size) : '—'}
{/if} {#if showDate}
{#if dateCell}{@render dateCell(entry)}{:else}{formatDate(entry.date)}{/if}
{/if}
{#if showDate && dateCell}{@render dateCell(entry)}{/if} {#if entry.size != null}{formatBytes(entry.size)}{/if} {#if entry.date != null}{formatDate(entry.date)}{/if}
{#if onfavorite} {/if} {#if actions}
{@render actions(entry)}
{/if}
{/snippet}

{title}

{#snippet start()}
{@render toolbar?.()}
{/snippet}
{#if selectable && selected.size > 0 && batchToolbar}
{t('files.selected_count', { count: selected.size }, '{{count}} selected')}
{@render batchToolbar(selectedEntries)}
{/if} {#if error} {:else if loading && isEmpty} {:else if isEmpty} {:else}
{#if grouped}
{@render listHeader()} {#each sections as section (section.key)}
{section.label}
{#if filesStore.viewMode === 'list'} e.id} {row} /> {:else} {#each section.rows as entry (entry.id)} {@render row(entry)} {/each} {/if} {/each}
{:else if filesStore.viewMode === 'list'}
{@render listHeader()} e.id} {row} />
{:else} e.id} {row} /> {/if} {#if hasMore} {/if}
{/if} {#snippet listHeader()}
{#if selectable}
{/if}
{t('files.col_name', 'Name')}
{#if showOwner}
{t('files.col_owner', 'Owner')}
{/if} {#if showPath}
{pathLabel ?? t('files.col_path', 'Location')}
{/if} {#if showType}
{t('files.col_type', 'Type')}
{/if} {#if showSize}
{t('files.col_size', 'Size')}
{/if} {#if showDate}
{dateLabel ?? t('files.col_modified', 'Date')}
{/if} {#if onfavorite || actions}
{/if}
{/snippet} {#if ctxOpen && ctxEntry && contextActions} {/if}