From 85bb238e734283480393e3eecf5c8269a65fc563 Mon Sep 17 00:00:00 2001 From: A0 Orchestrator Date: Fri, 3 Jul 2026 23:30:15 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20mobile=20dashboard=20=E2=80=94=20slide-?= =?UTF-8?q?in=20treeview=20+=20info=20panel=20+=20hamburger=20+=20scrim?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/Dashboard.tsx | 15 +++++- frontend/src/styles/auth.css | 78 +++++++++++++++++++++++++++++++- 2 files changed, 89 insertions(+), 4 deletions(-) diff --git a/frontend/src/pages/Dashboard.tsx b/frontend/src/pages/Dashboard.tsx index 25255cf..fecf33f 100644 --- a/frontend/src/pages/Dashboard.tsx +++ b/frontend/src/pages/Dashboard.tsx @@ -45,6 +45,8 @@ export function Dashboard({ onOpenProject }: DashboardProps) { const [savingProject, setSavingProject] = useState(false); const [dragOverFolderId, setDragOverFolderId] = useState(null); const [expandedFolders, setExpandedFolders] = useState>(new Set()); + const [mobileTreeOpen, setMobileTreeOpen] = useState(false); + const [mobileInfoOpen, setMobileInfoOpen] = useState(false); const fetchAll = useCallback(async () => { if (!token) return; @@ -207,6 +209,7 @@ export function Dashboard({ onOpenProject }: DashboardProps) { const handleProjectCardClick = (projectId: string) => { setSelectedProjectId(projectId); + setMobileInfoOpen(true); }; const handleSaveProject = async () => { @@ -383,6 +386,9 @@ export function Dashboard({ onOpenProject }: DashboardProps) {
+

Web CAD

{user?.name} ({user?.role})
@@ -392,8 +398,12 @@ export function Dashboard({ onOpenProject }: DashboardProps) {
+ {(mobileTreeOpen || mobileInfoOpen) && ( +
{ setMobileTreeOpen(false); setMobileInfoOpen(false); }} /> + )}
-
handleContextMenu(e, null)}> +
handleContextMenu(e, null)}> +

Ordner

{selectedProject ? ( <>