Web:Client:Article: fix disable state for main button and fix for new user type

This commit is contained in:
Timofey Boyko 2023-02-22 12:27:16 +03:00
parent 97dead7a73
commit 396cb474b1

View File

@ -29,7 +29,7 @@ import { Events, EmployeeType } from "@docspace/common/constants";
import { getMainButtonItems } from "SRC_DIR/helpers/plugins";
import toastr from "@docspace/components/toast/toastr";
import styled from "styled-components";
import styled, { css } from "styled-components";
import Button from "@docspace/components/button";
import { resendInvitesAgain } from "@docspace/common/api/people";
@ -38,30 +38,36 @@ const StyledButton = styled(Button)`
font-weight: 700;
font-size: 16px;
padding: 0;
opacity: 1;
opacity: ${(props) => (props.isDisabled ? 0.6 : 1)};
background-color: ${({ currentColorScheme }) =>
currentColorScheme.main.accent} !important;
background: ${({ currentColorScheme }) => currentColorScheme.main.accent};
border: ${({ currentColorScheme }) => currentColorScheme.main.accent};
:hover {
background-color: ${({ currentColorScheme }) =>
currentColorScheme.main.accent};
opacity: 0.85;
background: ${({ currentColorScheme }) => currentColorScheme.main.accent};
border: ${({ currentColorScheme }) => currentColorScheme.main.accent};
}
${(props) =>
!props.isDisabled &&
css`
:hover {
background-color: ${({ currentColorScheme }) =>
currentColorScheme.main.accent};
opacity: 0.85;
background: ${({ currentColorScheme }) =>
currentColorScheme.main.accent};
border: ${({ currentColorScheme }) => currentColorScheme.main.accent};
}
:active {
background-color: ${({ currentColorScheme }) =>
currentColorScheme.main.accent};
background: ${({ currentColorScheme }) => currentColorScheme.main.accent};
border: ${({ currentColorScheme }) => currentColorScheme.main.accent};
opacity: 1;
filter: brightness(90%);
cursor: pointer;
}
:active {
background-color: ${({ currentColorScheme }) =>
currentColorScheme.main.accent};
background: ${({ currentColorScheme }) =>
currentColorScheme.main.accent};
border: ${({ currentColorScheme }) => currentColorScheme.main.accent};
opacity: 1;
filter: brightness(90%);
cursor: pointer;
}
`}
.button-content {
color: ${({ currentColorScheme }) => currentColorScheme.text.accent};
@ -113,6 +119,8 @@ const ArticleMainButtonContent = (props) => {
setInvitePanelOptions,
mainButtonMobileVisible,
isCollaborator,
} = props;
const isAccountsPage = selectedTreeNode[0] === "accounts";
@ -297,6 +305,15 @@ const ArticleMainButtonContent = (props) => {
action: EmployeeType.User,
key: "manager",
},
{
id: "invite_room-collaborator",
className: "main-button_drop-down",
icon: PersonManagerReactSvgUrl,
label: t("Common:Collaborator"),
onClick: onInvite,
action: EmployeeType.Collaborator,
key: "collaborator",
},
{
id: "invite_user",
className: "main-button_drop-down",
@ -431,7 +448,9 @@ const ArticleMainButtonContent = (props) => {
const isDisabled =
((!canCreate || (!canCreateFiles && !isRoomsFolder)) && !canInvite) ||
isArchiveFolder;
isArchiveFolder ||
(isCollaborator && isRoomsFolder);
const isProfile = history.location.pathname === "/accounts/view/@self";
return (
@ -536,7 +555,7 @@ export default inject(
const currentFolderId = selectedFolderStore.id;
const { isAdmin, isOwner, isVisitor } = auth.userStore.user;
const { isAdmin, isOwner, isVisitor, isCollaborator } = auth.userStore.user;
const { canCreateFiles } = accessRightsStore;
@ -573,6 +592,7 @@ export default inject(
isAdmin,
isOwner,
isVisitor,
isCollaborator,
mainButtonMobileVisible,
};