diff --git a/src/app/App.tsx b/src/app/App.tsx index 5abfb60..385ef84 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -57,6 +57,8 @@ export default function App() { const [showSearch, setShowSearch] = useState(false); const [devicesOpenId, setDevicesOpenId] = useState(null); const [isFullscreen, setIsFullscreen] = useState(false); + const [fileManagerInitialPath, setFileManagerInitialPath] = useState(undefined); + const [fileManagerReturnPage, setFileManagerReturnPage] = useState('apps'); useEffect(() => { const id = 'save-status'; @@ -99,7 +101,7 @@ export default function App() { }; const pages = { - status: , + status: { setFileManagerInitialPath(path); setFileManagerReturnPage('status'); setCurrentPage('file-manager'); }} />, devices: setDevicesOpenId(null)} />, iec: , network: , @@ -163,7 +165,8 @@ export default function App() { ), 'file-manager': setCurrentPage('apps')} + initialPath={fileManagerInitialPath} + onBack={() => setCurrentPage(fileManagerReturnPage)} config={config} setConfig={setConfig} onNavigateToDevice={(id) => { setCurrentPage('devices'); setDevicesOpenId(id); }} diff --git a/src/app/components/StatusPage.tsx b/src/app/components/StatusPage.tsx index 7d24360..b33feaa 100644 --- a/src/app/components/StatusPage.tsx +++ b/src/app/components/StatusPage.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { HardDrive, Activity, Wifi, Radio, Clock, RefreshCw, Loader2, Printer, Power, Computer, Download, Trash2, Eye } from 'lucide-react'; +import { HardDrive, Activity, Wifi, Radio, Clock, RefreshCw, Loader2, Printer, Power, Computer, Download, Trash2, Eye, FolderOpen } from 'lucide-react'; import { listDirectory, deletePath, getFileContents, getWebDAVBaseUrl, humanFileSize, type EntryInfo } from '../webdav'; import { toast } from 'sonner'; import { MediaEntry } from './MediaEntry'; @@ -13,9 +13,10 @@ import { ConfirmDialog, type ConfirmOptions } from './ui/confirm-dialog'; interface StatusPageProps { config: any; setConfig: (config: any) => void; + onOpenFileManager?: (path: string) => void; } -export default function StatusPage({ config, setConfig }: StatusPageProps) { +export default function StatusPage({ config, setConfig, onOpenFileManager }: StatusPageProps) { const { status: wsStatus, send: wsSend } = useWs(); // Mock memory stats @@ -159,7 +160,16 @@ export default function StatusPage({ config, setConfig }: StatusPageProps) { -
+
+ +
+
{mediaSetFiles && (