use useEffect to close menu whenever the space panel collapsed state changes
This commit is contained in:
parent
4be8bbeef9
commit
818dfc91ec
1 changed files with 8 additions and 13 deletions
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React, {useState} from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import classNames from "classnames";
|
import classNames from "classnames";
|
||||||
import {Room} from "matrix-js-sdk/src/models/room";
|
import {Room} from "matrix-js-sdk/src/models/room";
|
||||||
|
|
||||||
|
@ -127,6 +127,10 @@ const SpacePanel = () => {
|
||||||
const [invites, spaces, activeSpace] = useSpaces();
|
const [invites, spaces, activeSpace] = useSpaces();
|
||||||
const [isPanelCollapsed, setPanelCollapsed] = useState(true);
|
const [isPanelCollapsed, setPanelCollapsed] = useState(true);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
closeMenu();
|
||||||
|
}, [isPanelCollapsed]); // eslint-disable-line react-hooks/exhaustive-deps
|
||||||
|
|
||||||
const newClasses = classNames("mx_SpaceButton_new", {
|
const newClasses = classNames("mx_SpaceButton_new", {
|
||||||
mx_SpaceButton_newCancel: menuDisplayed,
|
mx_SpaceButton_newCancel: menuDisplayed,
|
||||||
});
|
});
|
||||||
|
@ -221,20 +225,14 @@ const SpacePanel = () => {
|
||||||
space={s}
|
space={s}
|
||||||
activeSpaces={activeSpaces}
|
activeSpaces={activeSpaces}
|
||||||
isPanelCollapsed={isPanelCollapsed}
|
isPanelCollapsed={isPanelCollapsed}
|
||||||
onExpand={() => {
|
onExpand={() => setPanelCollapsed(false)}
|
||||||
closeMenu();
|
|
||||||
setPanelCollapsed(false);
|
|
||||||
}}
|
|
||||||
/>) }
|
/>) }
|
||||||
{ spaces.map(s => <SpaceItem
|
{ spaces.map(s => <SpaceItem
|
||||||
key={s.roomId}
|
key={s.roomId}
|
||||||
space={s}
|
space={s}
|
||||||
activeSpaces={activeSpaces}
|
activeSpaces={activeSpaces}
|
||||||
isPanelCollapsed={isPanelCollapsed}
|
isPanelCollapsed={isPanelCollapsed}
|
||||||
onExpand={() => {
|
onExpand={() => setPanelCollapsed(false)}
|
||||||
closeMenu();
|
|
||||||
setPanelCollapsed(false);
|
|
||||||
}}
|
|
||||||
/>) }
|
/>) }
|
||||||
</div>
|
</div>
|
||||||
<SpaceButton
|
<SpaceButton
|
||||||
|
@ -249,10 +247,7 @@ const SpacePanel = () => {
|
||||||
</AutoHideScrollbar>
|
</AutoHideScrollbar>
|
||||||
<AccessibleTooltipButton
|
<AccessibleTooltipButton
|
||||||
className={classNames("mx_SpacePanel_toggleCollapse", {expanded: !isPanelCollapsed})}
|
className={classNames("mx_SpacePanel_toggleCollapse", {expanded: !isPanelCollapsed})}
|
||||||
onClick={() => {
|
onClick={() => setPanelCollapsed(!isPanelCollapsed)}
|
||||||
setPanelCollapsed(!isPanelCollapsed);
|
|
||||||
if (menuDisplayed) closeMenu();
|
|
||||||
}}
|
|
||||||
title={expandCollapseButtonTitle}
|
title={expandCollapseButtonTitle}
|
||||||
/>
|
/>
|
||||||
{ contextMenu }
|
{ contextMenu }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue