diff --git a/src/lib/components/chat/FileNav.svelte b/src/lib/components/chat/FileNav.svelte
index 178e73e59c..113aa1f098 100644
--- a/src/lib/components/chat/FileNav.svelte
+++ b/src/lib/components/chat/FileNav.svelte
@@ -1006,6 +1006,7 @@
treeCache = new Map(treeCache).set(directory, entries);
saveTreeState();
}
+ return result !== null;
};
const fetchExpandedDir = async (path: string) => {
@@ -1478,6 +1479,10 @@
};
// ── Folder creation ──────────────────────────────────────────────────
+ const startNewFolderIn = async (path: string) => {
+ if (await loadDir(path)) await startNewFolder();
+ };
+
const startNewFolder = async () => {
if (!currentWritable) return;
creatingFolder = true;
@@ -2550,6 +2555,7 @@
}
: undefined}
onDownload={downloadFile}
+ onNewFolder={startNewFolderIn}
onDelete={requestDelete}
onMove={handleMovePaths}
onRename={handleRename}
diff --git a/src/lib/components/chat/FileNav/FileEntryRow.svelte b/src/lib/components/chat/FileNav/FileEntryRow.svelte
index 255f8bd26b..c85d0d7772 100644
--- a/src/lib/components/chat/FileNav/FileEntryRow.svelte
+++ b/src/lib/components/chat/FileNav/FileEntryRow.svelte
@@ -24,6 +24,7 @@
export let terminalKey: string = '';
export let onOpen: (entry: FileEntry) => void = () => {};
+ export let onNewFolder: ((path: string) => void) | undefined = undefined;
export let onSelectForComparison: (() => void) | undefined = undefined;
export let onCompareWithSelected: (() => void) | undefined = undefined;
export let comparisonPath: string | null = null;
@@ -390,6 +391,21 @@
{/if}
+ {#if entry.type === 'directory' && onNewFolder}
+
+ {/if}
{#if entry.type === 'file' && onSelectForComparison}