From fa80f0c10bbbdf3be459e90dcc1a02a1184b847e Mon Sep 17 00:00:00 2001 From: Jed Fox <git@jedfox.com> Date: Wed, 31 Aug 2022 16:07:48 -0400 Subject: [PATCH] Auto-expand Tools sidebar section when a page within it is navigated to --- packages/loot-design/src/components/sidebar.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/loot-design/src/components/sidebar.js b/packages/loot-design/src/components/sidebar.js index a0fd526f6..b0b8c9c30 100644 --- a/packages/loot-design/src/components/sidebar.js +++ b/packages/loot-design/src/components/sidebar.js @@ -1,4 +1,4 @@ -import React, { useState, useMemo, useCallback } from 'react'; +import React, { useState, useMemo, useCallback, useEffect } from 'react'; import { useDispatch } from 'react-redux'; import { withRouter } from 'react-router-dom'; import { css } from 'glamor'; @@ -31,6 +31,7 @@ import { useDraggable, useDroppable, DropHighlight } from './sort.js'; import CheveronUp from '../svg/v1/CheveronUp'; import CheveronDown from '../svg/v1/CheveronDown'; import StoreFrontIcon from '../svg/v1/StoreFront'; +import { useLocation } from 'react-router'; export const SIDEBAR_WIDTH = 240; @@ -434,8 +435,15 @@ const MenuButton = withRouter(function MenuButton({ history }) { function Tools() { let [isOpen, setOpen] = useState(false); + let location = useLocation(); let onToggle = useCallback(() => setOpen(open => !open), []); let ExpandOrCollapseIcon = isOpen ? CheveronUp : CheveronDown; + + useEffect(() => { + if (['/schedules'].some(route => location.pathname.startsWith(route))) { + setOpen(true); + } + }, [location.pathname]); return ( <> <View -- GitLab