diff --git a/src/app/components/MediaManager.tsx b/src/app/components/MediaManager.tsx
index b127c68..47d8566 100644
--- a/src/app/components/MediaManager.tsx
+++ b/src/app/components/MediaManager.tsx
@@ -676,7 +676,8 @@ export default function MediaManager({ initialPath = '/', rootPath, title, confi
try {
await movePath(renameEntry.path, dest);
toast.success(`Renamed to "${newName}"`);
- void load(path);
+ if (renameEntry.path === path) navigateTo(dest);
+ else void load(path);
} catch (e: any) { toast.error(`Rename failed: ${e?.message ?? e}`); }
finally { setRenameEntry(null); }
};
@@ -883,17 +884,37 @@ export default function MediaManager({ initialPath = '/', rootPath, title, confi
- {pathParts.map((part, i) => (
-
-
-
-
- ))}
+ {pathParts.map((part, i) => {
+ const isLast = i === pathParts.length - 1;
+ const isEditing = isLast && renameEntry !== null && renameEntry.path === path;
+ return (
+
+
+ {isEditing ? (
+ setRenameName(e.target.value)}
+ onKeyDown={e => {
+ if (e.key === 'Enter') void commitRename();
+ if (e.key === 'Escape') setRenameEntry(null);
+ }}
+ onBlur={() => void commitRename()}
+ onFocus={e => e.currentTarget.select()}
+ className="px-1 py-0 border border-blue-400 rounded text-sm max-w-[120px] min-w-[60px]"
+ autoFocus
+ />
+ ) : (
+
+ )}
+
+ );
+ })}
{deviceBaseUrl && (
Base: {deviceBaseUrl}