This commit is contained in:
Manav Rathi
2024-09-09 18:45:28 +05:30
parent ba1ef42355
commit e9d55adfff
4 changed files with 29 additions and 31 deletions

View File

@@ -4,45 +4,24 @@ import { type UploadTypeSelectorIntent } from "components/Upload/UploadTypeSelec
import { t } from "i18next";
import uploadManager from "services/upload/uploadManager";
const Wrapper = styled("div")<{ $disableShrink: boolean }>`
display: flex;
align-items: center;
justify-content: center;
transition: opacity 1s ease;
cursor: pointer;
& .mobile-button {
display: none;
}
${({ $disableShrink }) =>
!$disableShrink &&
`@media (max-width: 624px) {
& .mobile-button {
display: inline-flex;
}
& .desktop-button {
display: none;
}
}`}
`;
interface Iprops {
interface UploadButtonProps {
openUploader: (intent?: UploadTypeSelectorIntent) => void;
text?: string;
color?: ButtonProps["color"];
disableShrink?: boolean;
icon?: JSX.Element;
}
function UploadButton({
export const UploadButton: React.FC<UploadButtonProps> = ({
openUploader,
text,
color,
disableShrink,
icon,
}: Iprops) {
}) => {
const onClickHandler = () => openUploader();
return (
<Wrapper
<UploadButton_
$disableShrink={disableShrink}
style={{
cursor: !uploadManager.shouldAllowNewUpload() && "not-allowed",
@@ -66,8 +45,27 @@ function UploadButton({
>
{icon ?? <FileUploadOutlinedIcon />}
</IconButton>
</Wrapper>
</UploadButton_>
);
}
};
export default UploadButton;
const UploadButton_ = styled("div")<{ $disableShrink: boolean }>`
display: flex;
align-items: center;
justify-content: center;
transition: opacity 1s ease;
cursor: pointer;
& .mobile-button {
display: none;
}
${({ $disableShrink }) =>
!$disableShrink &&
`@media (max-width: 624px) {
& .mobile-button {
display: inline-flex;
}
& .desktop-button {
display: none;
}
}`}
`;

View File

@@ -3,7 +3,7 @@ import { useIsTouchscreen } from "@/base/hooks";
import { FluidContainer } from "@ente/shared/components/Container";
import AddPhotoAlternateOutlined from "@mui/icons-material/AddPhotoAlternateOutlined";
import { Box, Button } from "@mui/material";
import UploadButton from "components/Upload/UploadButton";
import { UploadButton } from "components/Upload/UploadButton";
import { t } from "i18next";
export default function SharedAlbumNavbar({ showUploadButton, openUploader }) {

View File

@@ -69,7 +69,7 @@ import PhotoFrame from "components/PhotoFrame";
import { ITEM_TYPE, TimeStampListItem } from "components/PhotoList";
import { SearchBar, type UpdateSearch } from "components/SearchBar";
import Sidebar from "components/Sidebar";
import UploadButton from "components/Upload/UploadButton";
import { UploadButton } from "components/Upload/UploadButton";
import type { UploadTypeSelectorIntent } from "components/Upload/UploadTypeSelector";
import Uploader from "components/Upload/Uploader";
import { UploadSelectorInputs } from "components/UploadSelectorInputs";

View File

@@ -34,7 +34,7 @@ import FullScreenDropZone from "components/FullScreenDropZone";
import { LoadingOverlay } from "components/LoadingOverlay";
import PhotoFrame from "components/PhotoFrame";
import { ITEM_TYPE, TimeStampListItem } from "components/PhotoList";
import UploadButton from "components/Upload/UploadButton";
import { UploadButton } from "components/Upload/UploadButton";
import Uploader from "components/Upload/Uploader";
import { UploadSelectorInputs } from "components/UploadSelectorInputs";
import SharedAlbumNavbar from "components/pages/sharedAlbum/Navbar";