Shared/Client: Fixed styles for invite panel.

This commit is contained in:
Tatiana Lopaeva 2024-08-21 11:04:25 +03:00
parent 925cbc7be7
commit 5c462bb588
4 changed files with 52 additions and 75 deletions

View File

@ -38,7 +38,6 @@ import { ToggleButton } from "@docspace/shared/components/toggle-button";
import { mobile, commonIconsStyles } from "@docspace/shared/utils"; import { mobile, commonIconsStyles } from "@docspace/shared/utils";
import CheckIcon from "PUBLIC_DIR/images/check.edit.react.svg"; import CheckIcon from "PUBLIC_DIR/images/check.edit.react.svg";
import CrossIcon from "PUBLIC_DIR/images/cross.edit.react.svg"; import CrossIcon from "PUBLIC_DIR/images/cross.edit.react.svg";
import CrossIconMobile from "PUBLIC_DIR/images/cross.react.svg";
import DeleteIcon from "PUBLIC_DIR/images/mobile.actions.remove.react.svg"; import DeleteIcon from "PUBLIC_DIR/images/mobile.actions.remove.react.svg";
import { isMobile, desktop, commonInputStyles } from "@docspace/shared/utils"; import { isMobile, desktop, commonInputStyles } from "@docspace/shared/utils";
import Base from "@docspace/shared/themes/base"; import Base from "@docspace/shared/themes/base";
@ -125,8 +124,18 @@ const ScrollList = styled.div`
`; `;
const StyledBlock = styled.div` const StyledBlock = styled.div`
padding: ${(props) => (props.noPadding ? "0px" : "0 16px")};
border-bottom: ${(props) => props.theme.filesPanels.sharing.borderBottom}; border-bottom: ${(props) => props.theme.filesPanels.sharing.borderBottom};
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-right: 16px;
padding-left: 37px;
`
: css`
padding-left: 16px;
padding-right: 37px;
`}
`; `;
StyledBlock.defaultProps = { theme: Base }; StyledBlock.defaultProps = { theme: Base };
@ -513,11 +522,16 @@ const StyledControlContainer = styled.div`
z-index: 450; z-index: 450;
@media ${mobile} { @media ${mobile} {
display: flex; ${(props) =>
props.theme.interfaceDirection === "rtl"
top: -27px; ? css`
right: 10px; left: 13px;
left: unset; top: 17px;
`
: css`
right: 13px;
top: 17px;
`}
} }
`; `;
const StyledInviteLanguage = styled.div` const StyledInviteLanguage = styled.div`
@ -574,14 +588,6 @@ const StyledInviteLanguage = styled.div`
gap: 2px; gap: 2px;
} }
`; `;
const StyledCrossIconMobile = styled(CrossIconMobile)`
width: 17px;
height: 17px;
z-index: 455;
path {
fill: ${(props) => props.theme.catalog.control.fill};
}
`;
StyledCrossIcon.defaultProps = { theme: Base }; StyledCrossIcon.defaultProps = { theme: Base };
export { export {
@ -609,6 +615,5 @@ export {
StyledDescription, StyledDescription,
StyledInviteLanguage, StyledInviteLanguage,
StyledControlContainer, StyledControlContainer,
StyledCrossIconMobile,
StyledInviteUserBody, StyledInviteUserBody,
}; };

View File

@ -64,6 +64,8 @@ import { Link } from "@docspace/shared/components/link";
import { Text } from "@docspace/shared/components/text"; import { Text } from "@docspace/shared/components/text";
import { combineUrl } from "@docspace/shared/utils/combineUrl"; import { combineUrl } from "@docspace/shared/utils/combineUrl";
import { ColorTheme, ThemeId } from "@docspace/shared/components/color-theme"; import { ColorTheme, ThemeId } from "@docspace/shared/components/color-theme";
import { IconButton } from "@docspace/shared/components/icon-button";
import CrossIconMobile from "PUBLIC_DIR/images/cross.react.svg?url";
const InvitePanel = ({ const InvitePanel = ({
folders, folders,
@ -430,7 +432,7 @@ const InvitePanel = ({
const invitePanelNode = ( const invitePanelNode = (
<> <>
<StyledBlock> <StyledBlock>
<StyledHeading>{t("Common:InviteUsers")}</StyledHeading> <StyledHeading truncate>{t("Common:InviteUsers")}</StyledHeading>
</StyledBlock> </StyledBlock>
{invitePanelIsLoding ? ( {invitePanelIsLoding ? (
<InvitePanelLoader /> <InvitePanelLoader />
@ -480,7 +482,12 @@ const InvitePanel = ({
{isMobileView ? ( {isMobileView ? (
<div className="invite_panel" ref={invitePanelRef}> <div className="invite_panel" ref={invitePanelRef}>
<StyledControlContainer onClick={onClose}> <StyledControlContainer onClick={onClose}>
<StyledCrossIconMobile /> <IconButton
size={17}
className="close-button"
iconName={CrossIconMobile}
isClickable
/>
</StyledControlContainer> </StyledControlContainer>
{invitePanelNode} {invitePanelNode}
</div> </div>

View File

@ -27,8 +27,6 @@
import React from "react"; import React from "react";
import styled, { css } from "styled-components"; import styled, { css } from "styled-components";
import CrossReactSvg from "PUBLIC_DIR/images/cross.react.svg";
import { Base } from "../../themes"; import { Base } from "../../themes";
import { MOBILE_FOOTER_HEIGHT } from "../../constants"; import { MOBILE_FOOTER_HEIGHT } from "../../constants";
import { tablet, mobile } from "../../utils"; import { tablet, mobile } from "../../utils";
@ -127,53 +125,18 @@ const StyledControlContainer = styled.div`
justify-content: center; justify-content: center;
z-index: 450; z-index: 450;
top: 18px;
${(props) =>
props.theme.interfaceDirection === "rtl" ? `right: -27px;` : `left: -27px;`}
@media ${tablet} {
display: flex;
top: 18px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? `right: -27px;`
: `left: -27px;`}
}
@media ${mobile} {
display: flex;
top: -27px;
right: 10px;
left: unset;
${(props) => ${(props) =>
props.theme.interfaceDirection === "rtl" props.theme.interfaceDirection === "rtl"
? css` ? css`
right: unset; left: 13px;
left: 10px; top: 17px;
` `
: css` : css`
right: 10px; right: 13px;
left: unset; top: 17px;
`} `}
}
`; `;
StyledControlContainer.defaultProps = { theme: Base }; StyledControlContainer.defaultProps = { theme: Base };
const StyledCrossIcon = styled(CrossReactSvg)` export { StyledAside, StyledControlContainer };
width: 17px;
height: 17px;
z-index: 455;
path {
fill: ${(props) => props.theme.catalog.control.fill};
}
`;
StyledCrossIcon.defaultProps = { theme: Base };
export { StyledAside, StyledControlContainer, StyledCrossIcon };

View File

@ -27,14 +27,13 @@
import React from "react"; import React from "react";
import { Scrollbar } from "../scrollbar"; import { Scrollbar } from "../scrollbar";
import { IconButton } from "../icon-button";
import { import { StyledAside, StyledControlContainer } from "./Aside.styled";
StyledAside,
StyledControlContainer,
StyledCrossIcon,
} from "./Aside.styled";
import { AsideProps } from "./Aside.types"; import { AsideProps } from "./Aside.types";
import CrossReactSvg from "PUBLIC_DIR/images/cross.react.svg?url";
const AsidePure = (props: AsideProps) => { const AsidePure = (props: AsideProps) => {
const { const {
visible, visible,
@ -47,7 +46,7 @@ const AsidePure = (props: AsideProps) => {
onClose, onClose,
} = props; } = props;
const contentRef = React.useRef<HTMLElement | null>(null); const contentRef = React.useRef<HTMLElement | null>(null);
console.log("AsidePure");
return ( return (
<StyledAside <StyledAside
visible={visible} visible={visible}
@ -58,14 +57,17 @@ const AsidePure = (props: AsideProps) => {
forwardRef={contentRef} forwardRef={contentRef}
data-testid="aside" data-testid="aside"
> >
{/* <CloseButton displayType="aside" zIndex={zIndex}/> */}
{withoutBodyScroll ? children : <Scrollbar>{children}</Scrollbar>}
{visible && ( {visible && (
<StyledControlContainer className="close-button" onClick={onClose}> <StyledControlContainer className="close-button" onClick={onClose}>
<StyledCrossIcon /> <IconButton
size={17}
className="close-button"
iconName={CrossReactSvg}
isClickable
/>
</StyledControlContainer> </StyledControlContainer>
)} )}
{withoutBodyScroll ? children : <Scrollbar>{children}</Scrollbar>}
</StyledAside> </StyledAside>
); );
}; };