From 280386223942db3957b53bde10049e0b81e08f8e Mon Sep 17 00:00:00 2001 From: gopienkonikita Date: Wed, 15 Nov 2023 15:10:48 +0300 Subject: [PATCH 1/4] Web: Files: fixed drag styles --- packages/components/drag-and-drop/styled-drag-and-drop.js | 5 +---- .../components/table-container/StyledTableContainer.js | 8 ++++++++ packages/components/table-container/TableBody.js | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/components/drag-and-drop/styled-drag-and-drop.js b/packages/components/drag-and-drop/styled-drag-and-drop.js index 577998f4bb..856bb37c96 100644 --- a/packages/components/drag-and-drop/styled-drag-and-drop.js +++ b/packages/components/drag-and-drop/styled-drag-and-drop.js @@ -10,10 +10,7 @@ const StyledDragAndDrop = styled.div` -ms-user-select: none; user-select: none;*/ height: ${(props) => props.theme.dragAndDrop.height}; - border: ${(props) => - props.drag - ? props.theme.dragAndDrop.border - : props.theme.dragAndDrop.transparentBorder}; + border: ${(props) => props.theme.dragAndDrop.transparentBorder}; ${({ theme }) => theme.interfaceDirection === "rtl" diff --git a/packages/components/table-container/StyledTableContainer.js b/packages/components/table-container/StyledTableContainer.js index 0e2c533e5f..f659ecbe90 100644 --- a/packages/components/table-container/StyledTableContainer.js +++ b/packages/components/table-container/StyledTableContainer.js @@ -385,6 +385,14 @@ const StyledTableBody = styled.div` display: contents; ${({ useReactWindow }) => useReactWindow && reactWindowBodyStyles} + + .table-container_cell { + ${({ infoPanelVisible }) => + infoPanelVisible && + css` + padding: 0; + `} + } `; const StyledTableRow = styled.div` diff --git a/packages/components/table-container/TableBody.js b/packages/components/table-container/TableBody.js index 630a4d3eab..5e19b35be2 100644 --- a/packages/components/table-container/TableBody.js +++ b/packages/components/table-container/TableBody.js @@ -21,6 +21,7 @@ const TableBody = (props) => { Date: Wed, 15 Nov 2023 15:34:02 +0300 Subject: [PATCH 2/4] Web: Files: fixed drag --- packages/client/src/pages/Home/Section/Body/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/client/src/pages/Home/Section/Body/index.js b/packages/client/src/pages/Home/Section/Body/index.js index 386b5c94dd..f07a9d28f8 100644 --- a/packages/client/src/pages/Home/Section/Body/index.js +++ b/packages/client/src/pages/Home/Section/Body/index.js @@ -217,8 +217,8 @@ const SectionBodyContent = (props) => { const title = elem && elem.dataset.title; const value = elem && elem.getAttribute("value"); if ((!value && !treeValue) || isRecycleBinFolder || !isDragActive) { - setDragging(false); setStartDrag(false); + setTimeout(() => setDragging(false), 0); isDragActive = false; return; } @@ -226,7 +226,7 @@ const SectionBodyContent = (props) => { const folderId = value ? value.split("_")[1] : treeValue; setStartDrag(false); - setDragging(false); + setTimeout(() => setDragging(false), 0); onMoveTo(folderId, title); isDragActive = false; return; From e007d3d429be0ce47dd0bbaf8e27a3542209ac5f Mon Sep 17 00:00:00 2001 From: Timofey Boyko Date: Wed, 15 Nov 2023 15:48:31 +0300 Subject: [PATCH 3/4] Client: fix modal and aside height for ipad --- packages/client/src/components/Layout/index.js | 12 +++++++++--- .../components/Section/sub-components/info-panel.js | 4 ++-- packages/components/aside/aside.js | 4 ++-- packages/components/drop-down/index.js | 4 ++-- .../components/modal-dialog/views/modal-aside.js | 4 ++-- .../selector/sub-components/Body/index.tsx | 6 +++--- 6 files changed, 20 insertions(+), 14 deletions(-) diff --git a/packages/client/src/components/Layout/index.js b/packages/client/src/components/Layout/index.js index 459bc45d74..6b9059afb4 100644 --- a/packages/client/src/components/Layout/index.js +++ b/packages/client/src/components/Layout/index.js @@ -8,7 +8,13 @@ import { isMobile as isMobileUtils, tablet, } from "@docspace/components/utils/device"; -import { isIOS, isMobile, isChrome, isAndroid } from "react-device-detect"; +import { + isIOS, + isMobile, + isChrome, + isMobileOnly, + isAndroid, +} from "react-device-detect"; import { inject, observer } from "mobx-react"; const StyledContainer = styled.div` @@ -146,7 +152,7 @@ const Layout = (props) => { height = `100%`; } - if (isIOS && isMobile && e?.type === "resize" && e?.target?.height) { + if (isIOS && isMobileOnly && e?.type === "resize" && e?.target?.height) { const diff = window.innerHeight - e.target.height; windowHeight -= diff; @@ -163,7 +169,7 @@ const Layout = (props) => { document.body.style.position = `fixed`; document.body.style.overflow = `hidden`; document.body.style.scroll = `hidden`; - } else if (isMobile && isIOS) { + } else if (isMobileOnly && isIOS) { document.body.style.height = `100%`; document.body.style.maxHeight = `100%`; document.body.style.minHeight = `100%`; diff --git a/packages/common/components/Section/sub-components/info-panel.js b/packages/common/components/Section/sub-components/info-panel.js index 157d594e70..318b0b0f80 100644 --- a/packages/common/components/Section/sub-components/info-panel.js +++ b/packages/common/components/Section/sub-components/info-panel.js @@ -4,7 +4,7 @@ import { mobile, infoPanelWidth, } from "@docspace/components/utils/device"; -import { isMobile, isIOS } from "react-device-detect"; +import { isMobileOnly, isIOS } from "react-device-detect"; import { inject } from "mobx-react"; import PropTypes from "prop-types"; import React, { useEffect, useState, useRef, useCallback } from "react"; @@ -164,7 +164,7 @@ const InfoPanel = ({ }, []); useEffect(() => { - if (isMobile && isIOS) { + if (isMobileOnly && isIOS) { window.visualViewport.addEventListener("resize", onResize); } diff --git a/packages/components/aside/aside.js b/packages/components/aside/aside.js index fbe074eded..90e6906cc4 100644 --- a/packages/components/aside/aside.js +++ b/packages/components/aside/aside.js @@ -1,5 +1,5 @@ import React from "react"; -import { isMobile, isIOS } from "react-device-detect"; +import { isMobileOnly, isIOS } from "react-device-detect"; import PropTypes from "prop-types"; import Scrollbar from "../scrollbar"; import { @@ -25,7 +25,7 @@ const Aside = React.memo((props) => { const visualPageTop = React.useRef(0); React.useEffect(() => { - if (isMobile && isIOS) { + if (isMobileOnly && isIOS) { window.visualViewport.addEventListener("resize", onResize); window.visualViewport.addEventListener("scroll", onResize); } diff --git a/packages/components/drop-down/index.js b/packages/components/drop-down/index.js index 20287676c8..680186f61f 100644 --- a/packages/components/drop-down/index.js +++ b/packages/components/drop-down/index.js @@ -2,7 +2,7 @@ import React, { memo } from "react"; import PropTypes from "prop-types"; import onClickOutside from "react-onclickoutside"; -import { isIOS, isMobile } from "react-device-detect"; +import { isIOS, isMobileOnly, isMobile } from "react-device-detect"; import Portal from "../portal"; import DomHelpers from "../utils/domHelpers"; @@ -344,7 +344,7 @@ class DropDown extends React.PureComponent { if ( isIOS && - isMobile && + isMobileOnly && container?.height !== window.visualViewport.height ) { const rects = this.dropDownRef?.current?.getBoundingClientRect(); diff --git a/packages/components/modal-dialog/views/modal-aside.js b/packages/components/modal-dialog/views/modal-aside.js index 6d8a9781d8..a9048c6ecd 100644 --- a/packages/components/modal-dialog/views/modal-aside.js +++ b/packages/components/modal-dialog/views/modal-aside.js @@ -18,7 +18,7 @@ import ModalBackdrop from "../components/ModalBackdrop"; import Scrollbar from "../../scrollbar"; import { classNames } from "../../utils/classNames"; import FormWrapper from "../components/FormWrapper"; -import { isIOS, isMobile } from "react-device-detect"; +import { isIOS, isMobileOnly } from "react-device-detect"; const Modal = ({ id, @@ -53,7 +53,7 @@ const Modal = ({ const contentRef = React.useRef(0); React.useEffect(() => { - if (isMobile && isIOS) { + if (isMobileOnly && isIOS) { window.visualViewport.addEventListener("resize", onResize); window.visualViewport.addEventListener("scroll", onResize); } diff --git a/packages/components/selector/sub-components/Body/index.tsx b/packages/components/selector/sub-components/Body/index.tsx index d9a035c456..721fcf04a2 100644 --- a/packages/components/selector/sub-components/Body/index.tsx +++ b/packages/components/selector/sub-components/Body/index.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { isMobile, isIOS } from "react-device-detect"; +import { isMobileOnly, isIOS } from "react-device-detect"; import InfiniteLoader from "react-window-infinite-loader"; import { FixedSizeList as List } from "react-window"; @@ -82,7 +82,7 @@ const Body = ({ const onBodyResize = React.useCallback( (e) => { - if (e?.target?.height && isMobile && isIOS) { + if (e?.target?.height && isMobileOnly && isIOS) { let height = e?.target?.height - 64 - HEADER_HEIGHT; if (footerVisible) { @@ -111,7 +111,7 @@ const Body = ({ React.useEffect(() => { window.addEventListener("resize", onBodyResize); - if (isMobile && isIOS) + if (isMobileOnly && isIOS) window.visualViewport?.addEventListener("resize", onBodyResize); return () => { window.removeEventListener("resize", onBodyResize); From 0acb7338628c03b0839f2e795da9d09409b8820b Mon Sep 17 00:00:00 2001 From: Ilya Oleshko Date: Wed, 15 Nov 2023 15:50:55 +0300 Subject: [PATCH 4/4] Fixed bug 65114: "Connect your social networks" not displayed for User, Power User and Room admin --- .../Section/Body/sub-components/social-networks/index.js | 8 ++++---- packages/common/store/CurrentQuotaStore.js | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/client/src/pages/Profile/Section/Body/sub-components/social-networks/index.js b/packages/client/src/pages/Profile/Section/Body/sub-components/social-networks/index.js index 5f7462c1cd..c368e91c2f 100644 --- a/packages/client/src/pages/Profile/Section/Body/sub-components/social-networks/index.js +++ b/packages/client/src/pages/Profile/Section/Body/sub-components/social-networks/index.js @@ -19,11 +19,12 @@ import { StyledWrapper } from "./styled-social-networks"; const SocialNetworks = (props) => { const { t } = useTranslation(["Profile", "Common"]); - const { providers, setProviders, isOAuthAvailable } = props; + const { providers, setProviders, isOAuthAvailable, setPortalQuota } = props; const fetchData = async () => { try { const data = await getAuthProviders(); + if (typeof isOAuthAvailable === "undefined") await setPortalQuota(); setProviders(data); } catch (e) { console.error(e); @@ -99,8 +100,6 @@ const SocialNetworks = (props) => { const { icon, label, iconOptions } = providersData[item.provider]; if (!icon || !label) return <>; - console.log(item); - const onClick = (e) => { if (item.linked) { unlinkAccount(item.provider); @@ -140,11 +139,12 @@ export default inject(({ auth, peopleStore }) => { const { usersStore } = peopleStore; const { providers, setProviders } = usersStore; const { currentQuotaStore } = auth; - const { isOAuthAvailable } = currentQuotaStore; + const { isOAuthAvailable, setPortalQuota } = currentQuotaStore; return { providers, setProviders, isOAuthAvailable, + setPortalQuota, }; })(observer(SocialNetworks)); diff --git a/packages/common/store/CurrentQuotaStore.js b/packages/common/store/CurrentQuotaStore.js index 5fab0a4740..1ac891f4bf 100644 --- a/packages/common/store/CurrentQuotaStore.js +++ b/packages/common/store/CurrentQuotaStore.js @@ -222,11 +222,13 @@ class QuotasStore { if (elem.id === featureId && elem.used) elem.used.value = value; }); }; + updateQuotaFeatureValue = (featureId, value) => { this.currentPortalQuotaFeatures.forEach((elem) => { if (elem.id === featureId) elem.value = value; }); }; + setPortalQuota = async () => { try { const res = await api.portal.getPortalQuota();