diff --git a/src/ui/Desktop/Apps/File Manager/FileManagerModern.tsx b/src/ui/Desktop/Apps/File Manager/FileManagerModern.tsx
index 7fdf2c90..1a880bf3 100644
--- a/src/ui/Desktop/Apps/File Manager/FileManagerModern.tsx
+++ b/src/ui/Desktop/Apps/File Manager/FileManagerModern.tsx
@@ -309,6 +309,9 @@ function FileManagerContent({ initialHost, onClose }: FileManagerModernProps) {
currentLoadingPathRef.current = path;
setIsLoading(true);
+ // Clear createIntent when changing directories
+ setCreateIntent(null);
+
try {
console.log("Loading directory:", path);
@@ -617,24 +620,26 @@ function FileManagerContent({ initialHost, onClose }: FileManagerModernProps) {
// Linus-style creation: pure intent, no side effects
function handleCreateNewFolder() {
const defaultName = generateUniqueName("NewFolder", "directory");
- setCreateIntent({
+ const newCreateIntent = {
id: Date.now().toString(),
- type: 'directory',
+ type: 'directory' as const,
defaultName,
currentName: defaultName
- });
- console.log("Create folder intent:", defaultName);
+ };
+
+
+ setCreateIntent(newCreateIntent);
}
function handleCreateNewFile() {
const defaultName = generateUniqueName("NewFile.txt", "file");
- setCreateIntent({
+ const newCreateIntent = {
id: Date.now().toString(),
- type: 'file',
+ type: 'file' as const,
defaultName,
currentName: defaultName
- });
- console.log("Create file intent:", defaultName);
+ };
+ setCreateIntent(newCreateIntent);
}
// Handle symlink resolution
@@ -1549,6 +1554,11 @@ function FileManagerContent({ initialHost, onClose }: FileManagerModernProps) {
}
+ // Clear createIntent when path changes
+ useEffect(() => {
+ setCreateIntent(null);
+ }, [currentPath]);
+
// Load pinned files list (when host or connection changes)
useEffect(() => {
if (currentHost?.id) {
diff --git a/src/ui/Desktop/Apps/File Manager/components/FileViewer.tsx b/src/ui/Desktop/Apps/File Manager/components/FileViewer.tsx
index eeaed1af..0867d0ce 100644
--- a/src/ui/Desktop/Apps/File Manager/components/FileViewer.tsx
+++ b/src/ui/Desktop/Apps/File Manager/components/FileViewer.tsx
@@ -49,7 +49,7 @@ import {
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import CodeMirror from "@uiw/react-codemirror";
-import { oneDark } from "@uiw/codemirror-themes";
+import { oneDark } from "@codemirror/theme-one-dark";
import { languages, loadLanguage } from "@uiw/codemirror-extensions-langs";
interface FileItem {
@@ -802,13 +802,27 @@ export function FileViewer({
{renderHighlightedText(editedContent)}
) : (
- // Directly show editable textarea
-
diff --git a/src/ui/Desktop/Apps/Host Manager/HostManagerEditor.tsx b/src/ui/Desktop/Apps/Host Manager/HostManagerEditor.tsx
index abcd83b9..5621494b 100644
--- a/src/ui/Desktop/Apps/Host Manager/HostManagerEditor.tsx
+++ b/src/ui/Desktop/Apps/Host Manager/HostManagerEditor.tsx
@@ -35,6 +35,8 @@ import {
} from "@/ui/main-axios.ts";
import { useTranslation } from "react-i18next";
import { CredentialSelector } from "@/ui/Desktop/Apps/Credentials/CredentialSelector.tsx";
+import CodeMirror from "@uiw/react-codemirror";
+import { oneDark } from "@codemirror/theme-one-dark";
interface SSHHost {
id: number;
@@ -980,19 +982,25 @@ export function HostManagerEditor({