diff --git a/ui/src/App.jsx b/ui/src/App.jsx
index e4f3025..65afbc5 100644
--- a/ui/src/App.jsx
+++ b/ui/src/App.jsx
@@ -1,7 +1,8 @@
import { useState, useEffect } from 'react'
-import { BrowserRouter, Routes, Route, NavLink, Navigate } from 'react-router-dom'
+import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
import { api, setCredentials, clearCredentials } from './api'
-import useTheme from './theme.jsx'
+import StatusBar from './components/StatusBar.jsx'
+import Sidebar from './components/Sidebar.jsx'
import Login from './pages/Login'
import Sources from './pages/Sources'
import Import from './pages/Import'
@@ -13,25 +14,12 @@ import Pivot from './pages/Pivot'
import Remap from './pages/Remap'
import Stacks from './pages/Stacks'
-const NAV = [
- { to: '/sources', label: 'Sources' },
- { to: '/import', label: 'Import' },
- { to: '/rules', label: 'Rules' },
- { to: '/mappings', label: 'Mappings' },
- { to: '/remap', label: 'Remap' },
- { to: '/records', label: 'Records' },
- { to: '/pivot', label: 'Pivot' },
- { to: '/stacks', label: 'Stacks' },
- { to: '/log', label: 'Log' },
-]
-
export default function App() {
- const { dark, setDark } = useTheme()
const [authed, setAuthed] = useState(false)
const [loginUser, setLoginUser] = useState('')
const [sources, setSources] = useState([])
const [source, setSource] = useState(() => localStorage.getItem('selectedSource') || '')
- const [sidebarOpen, setSidebarOpen] = useState(false)
+ const [sidebarExpanded, setSidebarExpanded] = useState(() => localStorage.getItem('df_sidebar') !== 'collapsed')
// Sets of names whose dfv view is out of sync with current definitions
const [staleSources, setStaleSources] = useState(new Set())
const [staleStacks, setStaleStacks] = useState(new Set())
@@ -121,108 +109,26 @@ export default function App() {
if (source) localStorage.setItem('selectedSource', source)
}, [source])
+ useEffect(() => {
+ localStorage.setItem('df_sidebar', sidebarExpanded ? 'expanded' : 'collapsed')
+ }, [sidebarExpanded])
+
if (!authed) return