mirror of
https://github.com/ente-io/ente.git
synced 2025-08-08 07:28:26 +00:00
Consolidate
This commit is contained in:
parent
ecd4201304
commit
2510226a57
@ -1,5 +1,4 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuItemDivider, MenuItemGroup } from "@/new/common/components/Menu";
|
||||
import log from "@/next/log";
|
||||
import { ensure } from "@/utils/ensure";
|
||||
import { CenteredFlex } from "@ente/shared/components/Container";
|
||||
|
@ -1,6 +1,8 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import {
|
||||
MenuItemDivider,
|
||||
MenuItemGroup,
|
||||
MenuSectionTitle,
|
||||
} from "@/new/common/components/Menu";
|
||||
import { FlexWrapper } from "@ente/shared/components/Container";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import SubmitButton from "@ente/shared/components/SubmitButton";
|
||||
|
@ -1,6 +1,8 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import {
|
||||
MenuItemDivider,
|
||||
MenuItemGroup,
|
||||
MenuSectionTitle,
|
||||
} from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import Add from "@mui/icons-material/Add";
|
||||
import AdminPanelSettingsIcon from "@mui/icons-material/AdminPanelSettings";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuItemDivider, MenuItemGroup } from "@/new/common/components/Menu";
|
||||
import log from "@/next/log";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import BlockIcon from "@mui/icons-material/Block";
|
||||
|
@ -1,9 +1,11 @@
|
||||
import { useRef, useState } from "react";
|
||||
import { COLLECTION_ROLE, Collection } from "types/collection";
|
||||
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import {
|
||||
MenuItemDivider,
|
||||
MenuItemGroup,
|
||||
MenuSectionTitle,
|
||||
} from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import AddIcon from "@mui/icons-material/Add";
|
||||
import ChevronRight from "@mui/icons-material/ChevronRight";
|
||||
|
@ -1,6 +1,8 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import {
|
||||
MenuItemDivider,
|
||||
MenuItemGroup,
|
||||
MenuSectionTitle,
|
||||
} from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import DownloadSharp from "@mui/icons-material/DownloadSharp";
|
||||
import LinkIcon from "@mui/icons-material/Link";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuItemDivider, MenuItemGroup } from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import ChevronRight from "@mui/icons-material/ChevronRight";
|
||||
import { DialogProps, Stack } from "@mui/material";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuItemDivider, MenuItemGroup } from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import ContentCopyIcon from "@mui/icons-material/ContentCopy";
|
||||
import RemoveCircleOutline from "@mui/icons-material/RemoveCircleOutline";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuItemDivider, MenuItemGroup } from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import { formatDateTime } from "@ente/shared/time/format";
|
||||
import ChevronRight from "@mui/icons-material/ChevronRight";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import { MenuItemGroup, MenuSectionTitle } from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import { Stack } from "@mui/material";
|
||||
import { t } from "i18next";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuItemDivider, MenuItemGroup } from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import ChevronRightIcon from "@mui/icons-material/ChevronRight";
|
||||
import ContentCopyIcon from "@mui/icons-material/ContentCopyOutlined";
|
||||
|
@ -1,6 +1,8 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import {
|
||||
MenuItemDivider,
|
||||
MenuItemGroup,
|
||||
MenuSectionTitle,
|
||||
} from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import AdminPanelSettingsIcon from "@mui/icons-material/AdminPanelSettings";
|
||||
import ModeEditIcon from "@mui/icons-material/ModeEdit";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import { MenuItemGroup, MenuSectionTitle } from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import { Box, Slider } from "@mui/material";
|
||||
import { t } from "i18next";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import { MenuItemGroup, MenuSectionTitle } from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import CropIcon from "@mui/icons-material/Crop";
|
||||
import { t } from "i18next";
|
||||
|
@ -1,6 +1,8 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import {
|
||||
MenuItemDivider,
|
||||
MenuItemGroup,
|
||||
MenuSectionTitle,
|
||||
} from "@/new/common/components/Menu";
|
||||
import log from "@/next/log";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import Crop169Icon from "@mui/icons-material/Crop169";
|
||||
|
@ -1,6 +1,8 @@
|
||||
import { MenuItemDivider } from "@/new/common/components/menu/MenuItemDivider";
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import {
|
||||
MenuItemDivider,
|
||||
MenuItemGroup,
|
||||
MenuSectionTitle,
|
||||
} from "@/new/common/components/Menu";
|
||||
import downloadManager from "@/new/photos/services/download";
|
||||
import { EnteFile } from "@/new/photos/types/file";
|
||||
import { nameAndExtension } from "@/next/file";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuSectionTitle } from "@/new/common/components/menu/MenuSectionTitle";
|
||||
import { MenuItemGroup, MenuSectionTitle } from "@/new/common/components/Menu";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import ChevronRight from "@mui/icons-material/ChevronRight";
|
||||
import ScienceIcon from "@mui/icons-material/Science";
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuItemGroup } from "@/new/common/components/Menu";
|
||||
import log from "@/next/log";
|
||||
import { EnteMenuItem } from "@ente/shared/components/Menu/EnteMenuItem";
|
||||
import {
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { MenuItemGroup } from "@/new/common/components/menu/MenuItemGroup";
|
||||
import { MenuItemGroup } from "@/new/common/components/Menu";
|
||||
import {
|
||||
canEnableFaceIndexing,
|
||||
disableML,
|
||||
|
70
web/packages/new/common/components/Menu.tsx
Normal file
70
web/packages/new/common/components/Menu.tsx
Normal file
@ -0,0 +1,70 @@
|
||||
import { VerticallyCenteredFlex } from "@ente/shared/components/Container";
|
||||
import { Divider, styled, Typography } from "@mui/material";
|
||||
import React from "react";
|
||||
|
||||
interface MenuSectionTitleProps {
|
||||
title: string;
|
||||
icon?: JSX.Element;
|
||||
}
|
||||
|
||||
export const MenuSectionTitle: React.FC<MenuSectionTitleProps> = ({
|
||||
title,
|
||||
icon,
|
||||
}) => {
|
||||
return (
|
||||
<VerticallyCenteredFlex
|
||||
px="8px"
|
||||
py={"6px"}
|
||||
gap={"8px"}
|
||||
sx={{
|
||||
"& > svg": {
|
||||
fontSize: "17px",
|
||||
color: (theme) => theme.colors.stroke.muted,
|
||||
},
|
||||
}}
|
||||
>
|
||||
{icon && icon}
|
||||
<Typography variant="small" color="text.muted">
|
||||
{title}
|
||||
</Typography>
|
||||
</VerticallyCenteredFlex>
|
||||
);
|
||||
};
|
||||
|
||||
interface MenuItemDividerProps {
|
||||
hasIcon?: boolean;
|
||||
}
|
||||
|
||||
export const MenuItemDivider: React.FC<MenuItemDividerProps> = ({
|
||||
hasIcon,
|
||||
}) => {
|
||||
return (
|
||||
<Divider
|
||||
sx={{
|
||||
"&&&": {
|
||||
my: 0,
|
||||
ml: hasIcon ? "48px" : "16px",
|
||||
},
|
||||
}}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export const MenuItemGroup = styled("div")(
|
||||
({ theme }) => `
|
||||
& > .MuiMenuItem-root{
|
||||
border-radius: 8px;
|
||||
background-color: transparent;
|
||||
}
|
||||
& > .MuiMenuItem-root:not(:last-of-type) {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
& > .MuiMenuItem-root:not(:first-of-type) {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
background-color: ${theme.colors.fill.faint};
|
||||
border-radius: 8px;
|
||||
`,
|
||||
);
|
@ -1,21 +0,0 @@
|
||||
import { Divider } from "@mui/material";
|
||||
import React from "react";
|
||||
|
||||
interface MenuItemDividerProps {
|
||||
hasIcon?: boolean;
|
||||
}
|
||||
|
||||
export const MenuItemDivider: React.FC<MenuItemDividerProps> = ({
|
||||
hasIcon,
|
||||
}) => {
|
||||
return (
|
||||
<Divider
|
||||
sx={{
|
||||
"&&&": {
|
||||
my: 0,
|
||||
ml: hasIcon ? "48px" : "16px",
|
||||
},
|
||||
}}
|
||||
/>
|
||||
);
|
||||
};
|
@ -1,20 +0,0 @@
|
||||
import { styled } from "@mui/material";
|
||||
|
||||
export const MenuItemGroup = styled("div")(
|
||||
({ theme }) => `
|
||||
& > .MuiMenuItem-root{
|
||||
border-radius: 8px;
|
||||
background-color: transparent;
|
||||
}
|
||||
& > .MuiMenuItem-root:not(:last-of-type) {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
& > .MuiMenuItem-root:not(:first-of-type) {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
background-color: ${theme.colors.fill.faint};
|
||||
border-radius: 8px;
|
||||
`,
|
||||
);
|
@ -1,32 +0,0 @@
|
||||
import { VerticallyCenteredFlex } from "@ente/shared/components/Container";
|
||||
import { Typography } from "@mui/material";
|
||||
import React from "react";
|
||||
|
||||
interface MenuSectionTitleProps {
|
||||
title: string;
|
||||
icon?: JSX.Element;
|
||||
}
|
||||
|
||||
export const MenuSectionTitle: React.FC<MenuSectionTitleProps> = ({
|
||||
title,
|
||||
icon,
|
||||
}) => {
|
||||
return (
|
||||
<VerticallyCenteredFlex
|
||||
px="8px"
|
||||
py={"6px"}
|
||||
gap={"8px"}
|
||||
sx={{
|
||||
"& > svg": {
|
||||
fontSize: "17px",
|
||||
color: (theme) => theme.colors.stroke.muted,
|
||||
},
|
||||
}}
|
||||
>
|
||||
{icon && icon}
|
||||
<Typography variant="small" color="text.muted">
|
||||
{title}
|
||||
</Typography>
|
||||
</VerticallyCenteredFlex>
|
||||
);
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user