fix(#112): initialize sidebar accordion state from initial route
Direct navigation to /admin/* now correctly opens Admin section and collapses operational sections on first render. Previously the accordion effect only triggered on route transitions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -181,16 +181,15 @@ function LayoutContent() {
|
||||
const [filterQuery, setFilterQuery] = useState('');
|
||||
|
||||
// --- Section open states ------------------------------------------
|
||||
const [appsOpen, setAppsOpen] = useState(() => readCollapsed(SK_APPS, true));
|
||||
const [agentsOpen, setAgentsOpen] = useState(() => readCollapsed(SK_AGENTS, false));
|
||||
const [routesOpen, setRoutesOpen] = useState(() => readCollapsed(SK_ROUTES, false));
|
||||
const [adminOpen, setAdminOpen] = useState(() => readCollapsed(SK_ADMIN, false));
|
||||
const isAdminPage = location.pathname.startsWith('/admin');
|
||||
const [appsOpen, setAppsOpen] = useState(() => isAdminPage ? false : readCollapsed(SK_APPS, true));
|
||||
const [agentsOpen, setAgentsOpen] = useState(() => isAdminPage ? false : readCollapsed(SK_AGENTS, false));
|
||||
const [routesOpen, setRoutesOpen] = useState(() => isAdminPage ? false : readCollapsed(SK_ROUTES, false));
|
||||
const [adminOpen, setAdminOpen] = useState(() => isAdminPage ? true : readCollapsed(SK_ADMIN, false));
|
||||
|
||||
// Ref to remember operational section states when switching to admin
|
||||
const opsStateRef = useRef({ apps: appsOpen, agents: agentsOpen, routes: routesOpen });
|
||||
|
||||
const isAdminPage = location.pathname.startsWith('/admin');
|
||||
|
||||
// Accordion effect: when entering admin, collapse operational sections; when leaving, restore
|
||||
const prevAdminRef = useRef(isAdminPage);
|
||||
useEffect(() => {
|
||||
|
||||
Reference in New Issue
Block a user