{#if currentDrive?.policies?.read_only}
{/if}
0
? t('files.empty_hidden_title', { n: hiddenCount }, '{{n}} hidden item(s) in this folder')
: t('files.empty_title', 'This folder is empty')}
emptyHint={hiddenCount > 0
? t(
'files.empty_hidden_hint',
"Files whose name starts with '.' are hidden. Toggle the setting to see them."
)
: t('files.empty_hint', 'Drop files here or use the Upload button to add files.')}
emptyIcon={hiddenCount > 0 ? 'eye-slash' : undefined}
{loading}
error={error ?? undefined}
selectable
shiftRangeSelect
showOwner
showType
showDate
dateLabel={t('files.col_modified', 'Modified')}
showPath={false}
showDotfileToggle
enableSystemDrop
onsystemdrop={onDrop}
systemDropOverlayActive={pageSystemDropOver}
groupBys={rlGroupBys}
bind:groupBy
bind:reversed
hasMore={pageCursor !== undefined}
onloadmore={loadMore}
onreload={(orderBy) => {
sortField = orderBy as SortField;
}}
onopen={rlOnOpen}
onfavorite={rlOnFavorite}
onshared={(item) => openShare(isFile(item) ? 'file' : 'folder', item.id, item.name)}
oncontextmenu={rlOnContextMenu}
onselectionchange={(ids) => replaceSet(selected, ids)}
isDraggable={rlIsDraggable}
isDropTarget={rlIsDropTarget}
dropTargetId={dropFolderId}
onitemdragstart={rlOnItemDragStart}
onitemdragover={rlOnItemDragOver}
onitemdragleave={rlOnItemDragLeave}
onitemdrop={rlOnItemDrop}
>
{#snippet emptyAction()}
{#if hiddenCount > 0}
{/if}
{/snippet}
{#snippet breadcrumb()}
onCrumbDrop(e, target)}
dragMime={DRAG_TYPE}
/>
{/snippet}
{#snippet actions()}
{#if uploadMenuOpen}
{/if}
{/snippet}
{#snippet batchActions(_sel)}
{/snippet}
{#if moveDialog.component}
{@const MoveDialog = moveDialog.component}