diff --git a/src/lib/apis/terminal/index.ts b/src/lib/apis/terminal/index.ts index 74c936af7e..5ab2039833 100644 --- a/src/lib/apis/terminal/index.ts +++ b/src/lib/apis/terminal/index.ts @@ -199,7 +199,7 @@ export const moveEntry = async ( apiKey: string, source: string, destination: string -): Promise<{ source: string; destination: string } | null> => { +): Promise<{ source: string; destination: string } | { error: string }> => { const url = `${baseUrl.replace(/\/$/, '')}/files/move`; const res = await fetch(url, { method: 'POST', @@ -215,7 +215,7 @@ export const moveEntry = async ( }) .catch((err) => { console.error('open-terminal moveEntry error:', err); - return null; + return { error: err?.detail ?? 'Move failed' }; }); return res; }; diff --git a/src/lib/components/chat/FileNav.svelte b/src/lib/components/chat/FileNav.svelte index 4fc148bb71..8f85f1e504 100644 --- a/src/lib/components/chat/FileNav.svelte +++ b/src/lib/components/chat/FileNav.svelte @@ -339,9 +339,11 @@ if (destFolder.startsWith(sourceDir)) return; const result = await moveEntry(terminal.url, terminal.key, source, destination); - toast[result ? 'success' : 'error']( - $i18n.t(result ? 'Moved {{name}}' : 'Failed to move {{name}}', { name: fileName }) - ); + if ('error' in result) { + toast.error(result.error); + } else { + toast.success($i18n.t('Moved {{name}}', { name: fileName })); + } await loadDir(currentPath); };