diff --git a/ui/src/App.jsx b/ui/src/App.jsx index bd0f86a..615ad7e 100644 --- a/ui/src/App.jsx +++ b/ui/src/App.jsx @@ -20,6 +20,7 @@ export default function App() { const [authed, setAuthed] = useState(false) const [sources, setSources] = useState([]) const [source, setSource] = useState(() => localStorage.getItem('selectedSource') || '') + const [sidebarOpen, setSidebarOpen] = useState(false) async function handleLogin(user, pass) { setCredentials(user, pass) @@ -53,64 +54,89 @@ export default function App() { if (!authed) return + const sidebar = ( +
+ {/* Header */} +
+ Dataflow +
+ + +
+
+ + {/* Source selector */} +
+
+ + setSidebarOpen(false)}>+ +
+ +
+ + {/* Nav */} + +
+ ) + return (
- {/* Sidebar */} -
-
- Dataflow - -
- {/* Source selector */} -
-
- - {/* nav handled by link */}} - >+ -
- -
+ {/* Mobile overlay */} + {sidebarOpen && ( +
setSidebarOpen(false)} /> + )} - {/* Nav */} - + {/* Sidebar — fixed on mobile, static on desktop */} +
+ {sidebar}
{/* Main */} -
- - } /> - } /> - } /> - } /> - } /> - } /> - +
+ {/* Mobile top bar */} +
+ + Dataflow +
+ +
+ + } /> + } /> + } /> + } /> + } /> + } /> + +