From cf96fe15535ef098cc5c72b0518606f71a7e9ead Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Fri, 29 Nov 2024 13:39:51 +0530 Subject: [PATCH] Tweak --- .../shared/components/OverflowMenu.tsx | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/web/packages/shared/components/OverflowMenu.tsx b/web/packages/shared/components/OverflowMenu.tsx index 510277e4ed..a70a2378f6 100644 --- a/web/packages/shared/components/OverflowMenu.tsx +++ b/web/packages/shared/components/OverflowMenu.tsx @@ -10,7 +10,7 @@ import { type PaperProps, } from "@mui/material"; import Menu, { type MenuProps } from "@mui/material/Menu"; -import React, { createContext, useContext, useState } from "react"; +import React, { createContext, useContext, useMemo, useState } from "react"; const OverflowMenuContext = createContext({ // eslint-disable-next-line @typescript-eslint/no-empty-function @@ -45,26 +45,27 @@ export const OverflowMenu: React.FC = ({ triggerButtonProps, menuPaperProps, }) => { - const [sortByEl, setSortByEl] = useState( - null, + const [anchorEl, setAnchorEl] = useState(); + const context = useMemo( + () => ({ close: () => setAnchorEl(undefined) }), + [], ); - const handleClose = () => setSortByEl(null); return ( - + setSortByEl(event.currentTarget)} - aria-controls={sortByEl ? ariaControls : undefined} + onClick={(event) => setAnchorEl(event.currentTarget)} + aria-controls={anchorEl ? ariaControls : undefined} aria-haspopup="true" - aria-expanded={sortByEl ? "true" : undefined} + aria-expanded={anchorEl ? "true" : undefined} {...triggerButtonProps} > {triggerButtonIcon} setAnchorEl(undefined)} MenuListProps={{ disablePadding: true, "aria-labelledby": ariaControls, @@ -111,6 +112,7 @@ export const OverflowMenuOption: React.FC = ({ onClick(); menuContext.close(); }; + return (