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
+
+
+
+
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+
+