diff --git a/web/packages/shared/components/Menu/EnteMenuItem.tsx b/web/packages/shared/components/Menu/EnteMenuItem.tsx index ba5d63babd..5906b004a3 100644 --- a/web/packages/shared/components/Menu/EnteMenuItem.tsx +++ b/web/packages/shared/components/Menu/EnteMenuItem.tsx @@ -44,6 +44,9 @@ interface EnteMenuItemProps { disabled?: boolean; } +/** + * A MUI {@link MenuItem} customized as per our designs and use cases. + */ export const EnteMenuItem: React.FC = ({ onClick, color = "primary", @@ -58,14 +61,14 @@ export const EnteMenuItem: React.FC = ({ disabled = false, }) => { const handleButtonClick = () => { - if (variant === "toggle") { + if (variant == "toggle") { return; } onClick(); }; const handleIconClick = () => { - if (variant !== "toggle") { + if (variant != "toggle") { return; } onClick(); @@ -90,12 +93,12 @@ export const EnteMenuItem: React.FC = ({ p: 0, borderRadius: "4px", }), - variant !== "captioned" && + variant != "captioned" && ((theme) => ({ color: theme.palette[color].main, })), - variant !== "secondary" && - variant !== "mini" && + variant != "secondary" && + variant != "mini" && ((theme) => ({ backgroundColor: theme.colors.fill.faint, })), @@ -107,13 +110,20 @@ export const EnteMenuItem: React.FC = ({ {labelComponent ? ( labelComponent - ) : variant === "captioned" ? ( - - ) : variant === "mini" ? ( + ) : variant == "captioned" ? ( + + {labelOrDefault} + + {"•"} + + + {caption} + + + ) : variant == "mini" ? ( {labelOrDefault} @@ -126,7 +136,7 @@ export const EnteMenuItem: React.FC = ({ {endIcon && endIcon} - {variant === "toggle" && ( + {variant == "toggle" && ( = ({ ); }; -interface CaptionedTextProps { - mainText: string; - caption?: React.ReactNode; - color?: ButtonProps["color"]; -} - -const CaptionedText: React.FC = ({ - mainText, - caption, - color, -}) => ( - - {mainText} - {"•"} - {caption} - -); - const CaptionTypography: React.FC< React.PropsWithChildren<{ color: EnteMenuItemProps["color"] }> > = ({ color, children }) => (