This commit is contained in:
Timothy Jaeryang Baek
2026-03-02 12:05:19 -06:00
parent 0c42cd2c01
commit 72951324df
2 changed files with 26 additions and 1 deletions

View File

@@ -483,6 +483,7 @@
onNewFolder={startNewFolder}
onNewFile={startNewFile}
onUploadFiles={handleUploadFiles}
onMove={handleMove}
>
{#if fileImageUrl !== null}
<Tooltip content={$i18n.t('Reset view')}>

View File

@@ -18,6 +18,9 @@
export let onNewFolder: () => void = () => {};
export let onNewFile: () => void = () => {};
export let onUploadFiles: (files: File[]) => void = () => {};
export let onMove: (source: string, destFolder: string) => void = () => {};
let dragOverCrumb: number | null = null;
let uploadInput: HTMLInputElement;
let breadcrumbEl: HTMLDivElement;
@@ -41,8 +44,29 @@
class="text-xs shrink-0 px-1 py-0.5 rounded hover:bg-gray-100 dark:hover:bg-gray-800 transition
{!selectedFile && i === breadcrumbs.length - 1
? 'text-gray-700 dark:text-gray-300'
: 'text-gray-400 dark:text-gray-500 hover:text-gray-600 dark:hover:text-gray-400'}"
: 'text-gray-400 dark:text-gray-500 hover:text-gray-600 dark:hover:text-gray-400'}
{dragOverCrumb === i ? 'bg-blue-50 dark:bg-blue-900/30 ring-1 ring-blue-400 dark:ring-blue-500' : ''}"
on:click={() => onNavigate(crumb.path)}
on:dragover={(e) => {
if (!e.dataTransfer?.types.includes('application/x-terminal-file-move')) return;
e.preventDefault();
e.stopPropagation();
dragOverCrumb = i;
}}
on:dragleave={() => {
if (dragOverCrumb === i) dragOverCrumb = null;
}}
on:drop={(e) => {
const raw = e.dataTransfer?.getData('application/x-terminal-file-move');
if (!raw) return;
e.preventDefault();
e.stopPropagation();
dragOverCrumb = null;
try {
const data = JSON.parse(raw);
if (data.path) onMove(data.path, crumb.path);
} catch {}
}}
>
{crumb.label}
</button>