• { if (entry.type !== 'directory') return; if (!e.dataTransfer?.types.includes('application/x-terminal-file-move')) return; e.preventDefault(); e.stopPropagation(); dragOverFolder = true; }} on:dragleave={(e) => { if (entry.type !== 'directory') return; e.stopPropagation(); dragOverFolder = false; }} on:drop={(e) => { if (entry.type !== 'directory') return; const raw = e.dataTransfer?.getData('application/x-terminal-file-move'); if (!raw) return; e.preventDefault(); e.stopPropagation(); dragOverFolder = false; try { const data = JSON.parse(raw); if (data.path) { const destFolder = `${currentPath}${entry.name}/`; // Don't allow dropping a folder onto itself if (data.path + '/' === destFolder || data.path === destFolder) return; onMove(data.path, destFolder); } } catch {} }} > e.stopPropagation()} aria-label={$i18n.t('More')} > {#if entry.type !== 'directory'} { e.stopPropagation(); onDownload(`${currentPath}${entry.name}`); }} >
    {$i18n.t('Download')}
    {/if} { e.stopPropagation(); onDelete(`${currentPath}${entry.name}`, entry.name); }} >
    {$i18n.t('Delete')}