From 14289b741f2275f502320f5adb69a5c1f158e6c5 Mon Sep 17 00:00:00 2001 From: Elijah Date: Sun, 24 May 2026 09:03:27 -0700 Subject: [PATCH] Mobile UI scrolling fix and top bar redesign --- frontend/src/components/FileExplorer.tsx | 310 ++++++++++++++++------- 1 file changed, 217 insertions(+), 93 deletions(-) diff --git a/frontend/src/components/FileExplorer.tsx b/frontend/src/components/FileExplorer.tsx index eb79a31..5a290b9 100644 --- a/frontend/src/components/FileExplorer.tsx +++ b/frontend/src/components/FileExplorer.tsx @@ -208,6 +208,8 @@ export default function FileExplorer({ onLogout }: FileExplorerProps) { const isMobile = useIsMobile(); const [sidebarOpen, setSidebarOpen] = useState(false); const [mobileSearchOpen, setMobileSearchOpen] = useState(false); + const [mobileMenuOpen, setMobileMenuOpen] = useState(false); + const [mobileFabOpen, setMobileFabOpen] = useState(false); const [currentPath, setCurrentPath] = useState(() => { @@ -1278,7 +1280,7 @@ export default function FileExplorer({ onLogout }: FileExplorerProps) { }, [displayFiles, activeSection, trashAutoPurgeDays]); return ( -
+
{isMobile && sidebarOpen && (
- {activeSection === 'trash' && ( - - )} - - {(activeSection === 'files' || activeSection === 'trash' || activeSection === 'shared') && ( - <> - - -
- -
- -
-
- {['name', 'size', 'date', 'type'].map(opt => ( - - ))} -
-
-
- - - - {activeSection === 'files' && ( - - )} - - {activeSection === 'files' && ( - <> + {isMobile ? ( + <> +
- - - )} - - )} -
- )} + + {mobileMenuOpen && ( + <> + setMobileMenuOpen(false)} + /> + + + +
+
Sort By
+ {['name', 'size', 'date', 'type'].map(opt => ( + + ))} + {activeSection === 'trash' && ( + <> +
+ + + )} + + + )} + +
+ {activeSection === 'files' && ( +
+ + + {mobileFabOpen && ( + <> + setMobileFabOpen(false)} + /> + + + + + + + )} + +
+ )} + + ) : ( + <> + {activeSection === 'trash' && ( + + )} + + {(activeSection === 'files' || activeSection === 'trash' || activeSection === 'shared') && ( + <> + + +
+ +
+ +
+
+ {['name', 'size', 'date', 'type'].map(opt => ( + + ))} +
+
+
+ + + + {activeSection === 'files' && ( + + )} + + {activeSection === 'files' && ( + <> + + + + )} + + )} + + )} +
+ )} {activeSection === 'settings' ? (