From a227e3e75b48d164e9ac0d03c7217b290294b32f Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 13:44:09 +0500 Subject: [PATCH 01/16] Web:Common:Components:MediaViewer:Sub-Components Added Viewer --- .../sub-components/Viewer/Viewer.props.ts | 31 +++++++++++++++++++ .../sub-components/Viewer/index.tsx | 7 +++++ 2 files changed, 38 insertions(+) create mode 100644 packages/common/components/MediaViewer/sub-components/Viewer/Viewer.props.ts create mode 100644 packages/common/components/MediaViewer/sub-components/Viewer/index.tsx diff --git a/packages/common/components/MediaViewer/sub-components/Viewer/Viewer.props.ts b/packages/common/components/MediaViewer/sub-components/Viewer/Viewer.props.ts new file mode 100644 index 0000000000..9f4b619a93 --- /dev/null +++ b/packages/common/components/MediaViewer/sub-components/Viewer/Viewer.props.ts @@ -0,0 +1,31 @@ +import { ContextMenuModel } from "../../types"; + +interface ViewerProps { + userAccess: boolean; + visible: boolean; + title: string; + images: [{ src: string; alt: string }]; + inactive: boolean; + playlist: number; + playlistPos: number; + isFavorite: boolean; + isImage: boolean; + isAudio: boolean; + isVideo: boolean; + isPreviewFile: boolean; + archiveRoom: boolean; + + errorTitle: string; + headerIcon: string; + audioIcon: string; + + onClose: VoidFunction; + onPrevClick: VoidFunction; + onNextClick: VoidFunction; + onDeleteClick: VoidFunction; + onDownloadClick: VoidFunction; + onSetSelectionFile: VoidFunction; + contextModel: () => ContextMenuModel[]; +} + +export default ViewerProps; diff --git a/packages/common/components/MediaViewer/sub-components/Viewer/index.tsx b/packages/common/components/MediaViewer/sub-components/Viewer/index.tsx new file mode 100644 index 0000000000..b77809cd01 --- /dev/null +++ b/packages/common/components/MediaViewer/sub-components/Viewer/index.tsx @@ -0,0 +1,7 @@ +import React from "react"; + +function Viewer() { + return
index
; +} + +export default Viewer; From 7be6542a3222d73b73e87643e61f6d668e5b9e0d Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 13:45:42 +0500 Subject: [PATCH 02/16] Web:Common:Common:Components:MediaViewer:Types Added type ContextMenuModel --- .../components/MediaViewer/types/index.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/common/components/MediaViewer/types/index.ts b/packages/common/components/MediaViewer/types/index.ts index 7b152d2249..c4f4ba9e8a 100644 --- a/packages/common/components/MediaViewer/types/index.ts +++ b/packages/common/components/MediaViewer/types/index.ts @@ -87,3 +87,20 @@ export interface IFile { viewUrl: string; webUrl: string; } + +export type ContextMenuType = { + id?: string; + key: string; + label: string; + icon: string; + disabled: boolean; + onClick: VoidFunction; +}; + +export type SeparatorType = { + key: string; + isSeparator: boolean; + disabled: boolean; +}; + +export type ContextMenuModel = ContextMenuType | SeparatorType; From 30649b27d46c96bb57ea8f16ef185fc14c01adac Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 13:46:50 +0500 Subject: [PATCH 03/16] Web:Common:Components:MediaViewer Updated type getIcon --- packages/common/components/MediaViewer/MediaViewer.props.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/common/components/MediaViewer/MediaViewer.props.ts b/packages/common/components/MediaViewer/MediaViewer.props.ts index f1a83794f8..49ccc65444 100644 --- a/packages/common/components/MediaViewer/MediaViewer.props.ts +++ b/packages/common/components/MediaViewer/MediaViewer.props.ts @@ -23,7 +23,7 @@ export interface MediaViewerProps { playlistPos: number; - getIcon: (size: number, ext: string, ...arg: any) => any; + getIcon: (size: number, ext: string, ...arg: any) => string; onClose: VoidFunction; onError?: VoidFunction; From 244612da1ad0aa4edb25a36139cf62c622f03071 Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Mon, 13 Feb 2023 13:32:49 +0300 Subject: [PATCH 04/16] Web: PortalSettings: Payments: Added back url after payment. --- .../categories/payments/PriceCalculation.js | 18 ++++++++++++------ packages/common/api/portal/index.js | 3 ++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/client/src/pages/PortalSettings/categories/payments/PriceCalculation.js b/packages/client/src/pages/PortalSettings/categories/payments/PriceCalculation.js index 2140c5440e..cbe8542fa6 100644 --- a/packages/client/src/pages/PortalSettings/categories/payments/PriceCalculation.js +++ b/packages/client/src/pages/PortalSettings/categories/payments/PriceCalculation.js @@ -55,6 +55,7 @@ let timeout = null, CancelToken, source; +const backUrl = window.location.origin; const PriceCalculation = ({ t, user, @@ -71,13 +72,19 @@ const PriceCalculation = ({ currencySymbol, isAlreadyPaid, isFreeAfterPaidPeriod, - setStartPaymentLink, managersCount, }) => { - useEffect(() => { + useEffect(async () => { initializeInfo(); - !isAlreadyPaid && setStartPaymentLink(t); + if (isAlreadyPaid) return; + + try { + const link = await getPaymentLink(managersCount, source?.token, backUrl); + setPaymentLink(link); + } catch (e) { + toastr.error(t("ErrorNotification")); + } return () => { timeout && clearTimeout(timeout); @@ -103,7 +110,7 @@ const PriceCalculation = ({ CancelToken = axios.CancelToken; source = CancelToken.source(); - await getPaymentLink(value, source.token) + await getPaymentLink(value, source.token, backUrl) .then((link) => { setPaymentLink(link); setIsLoading(false); @@ -207,7 +214,6 @@ export default inject(({ auth, payments }) => { setManagersCount, maxAvailableManagersCount, initializeInfo, - setStartPaymentLink, managersCount, } = payments; const { theme } = auth.settingsStore; @@ -224,7 +230,7 @@ export default inject(({ auth, payments }) => { return { managersCount, - setStartPaymentLink, + isFreeTariff, setManagersCount, tariffsInfo, diff --git a/packages/common/api/portal/index.js b/packages/common/api/portal/index.js index 225efe331e..93cdb58b2f 100644 --- a/packages/common/api/portal/index.js +++ b/packages/common/api/portal/index.js @@ -239,12 +239,13 @@ export function getPaymentAccount() { return request({ method: "get", url: "/portal/payment/account" }); } -export function getPaymentLink(adminCount, cancelToken) { +export function getPaymentLink(adminCount, cancelToken, backUrl) { return request({ method: "put", url: `/portal/payment/url`, data: { quantity: { admin: adminCount }, + backUrl, }, cancelToken, }); From 4354bccef30ce39a6793a4eaefa0e25f0884ffdc Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Mon, 13 Feb 2023 13:34:40 +0300 Subject: [PATCH 05/16] Web: PortalSettings: Deleted useless code. --- packages/client/src/store/PaymentStore.js | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/client/src/store/PaymentStore.js b/packages/client/src/store/PaymentStore.js index 66dc5a6754..bac58f8a94 100644 --- a/packages/client/src/store/PaymentStore.js +++ b/packages/client/src/store/PaymentStore.js @@ -140,15 +140,6 @@ class PaymentStore { } }; - setStartPaymentLink = async (t) => { - try { - const link = await api.portal.getPaymentLink(this.managersCount); - this.setPaymentLink(link); - } catch (e) { - toastr.error(t("ErrorNotification")); - } - }; - setTotalPrice = (value) => { const price = this.getTotalCostByFormula(value); if (price !== this.totalPrice) this.totalPrice = price; From ecc9fcfd9e441d565446f2f1dbc410a4c61afe95 Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 18:13:16 +0500 Subject: [PATCH 06/16] Web:Common:Components:MediaViewer:Helpers: Added getCustomToolbar method --- .../MediaViewer/helpers/getCustomToolbar.tsx | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 packages/common/components/MediaViewer/helpers/getCustomToolbar.tsx diff --git a/packages/common/components/MediaViewer/helpers/getCustomToolbar.tsx b/packages/common/components/MediaViewer/helpers/getCustomToolbar.tsx new file mode 100644 index 0000000000..035d9b8a7c --- /dev/null +++ b/packages/common/components/MediaViewer/helpers/getCustomToolbar.tsx @@ -0,0 +1,112 @@ +import React from "react"; + +import MediaZoomInIcon from "PUBLIC_DIR/images/media.zoomin.react.svg"; +import MediaZoomOutIcon from "PUBLIC_DIR/images/media.zoomout.react.svg"; +import MediaRotateLeftIcon from "PUBLIC_DIR/images/media.rotateleft.react.svg"; +import MediaRotateRightIcon from "PUBLIC_DIR/images/media.rotateright.react.svg"; +import MediaDeleteIcon from "PUBLIC_DIR/images/media.delete.react.svg"; +import MediaDownloadIcon from "PUBLIC_DIR/images/download.react.svg"; +import MediaFavoriteIcon from "PUBLIC_DIR/images/favorite.react.svg"; +import ViewerSeparator from "PUBLIC_DIR/images/viewer.separator.react.svg"; + +export const getCustomToolbar = ( + onDeleteClick: VoidFunction, + onDownloadClick: VoidFunction +) => { + return [ + { + key: "zoomOut", + percent: true, + actionType: 2, + render: ( +
+ +
+ ), + }, + { + key: "percent", + actionType: 999, + }, + { + key: "zoomIn", + actionType: 1, + render: ( +
+ +
+ ), + }, + { + key: "rotateLeft", + actionType: 5, + render: ( +
+ +
+ ), + }, + { + key: "rotateRight", + actionType: 6, + render: ( +
+ +
+ ), + }, + { + key: "separator download-separator", + actionType: -1, + noHover: true, + render: ( +
+ +
+ ), + }, + { + key: "download", + actionType: 102, + render: ( +
+ +
+ ), + onClick: onDownloadClick, + }, + { + key: "context-separator", + actionType: -1, + noHover: true, + render: ( +
+ +
+ ), + }, + { + key: "context-menu", + actionType: -1, + }, + { + key: "delete", + actionType: 103, + render: ( +
+ +
+ ), + onClick: onDeleteClick, + }, + { + key: "favorite", + actionType: 104, + render: ( +
+ +
+ ), + }, + ]; +}; From da1cf65dd6360d4d4e852967a375943cc61bbfb8 Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 18:14:43 +0500 Subject: [PATCH 07/16] Web:Common:Components:MediaViewer:Sub-Components: Added StyledDropDown --- .../MediaViewer/sub-components/StyledDropDown/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 packages/common/components/MediaViewer/sub-components/StyledDropDown/index.ts diff --git a/packages/common/components/MediaViewer/sub-components/StyledDropDown/index.ts b/packages/common/components/MediaViewer/sub-components/StyledDropDown/index.ts new file mode 100644 index 0000000000..9beb57841c --- /dev/null +++ b/packages/common/components/MediaViewer/sub-components/StyledDropDown/index.ts @@ -0,0 +1,6 @@ +import styled from "styled-components"; +import DropDown from "@docspace/components/drop-down"; + +export const StyledDropDown = styled(DropDown)` + background: #333; +`; From 581f08a226436b295c8ab0b029b8ef4cafea9465 Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 18:15:36 +0500 Subject: [PATCH 08/16] Web:Common:Components:MediaViewer:Sub-Components:Added StyledDropDownItem --- .../sub-components/StyledDropDownItem/index.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 packages/common/components/MediaViewer/sub-components/StyledDropDownItem/index.ts diff --git a/packages/common/components/MediaViewer/sub-components/StyledDropDownItem/index.ts b/packages/common/components/MediaViewer/sub-components/StyledDropDownItem/index.ts new file mode 100644 index 0000000000..4608749c6a --- /dev/null +++ b/packages/common/components/MediaViewer/sub-components/StyledDropDownItem/index.ts @@ -0,0 +1,16 @@ +import styled from "styled-components"; +import DropDownItem from "@docspace/components/drop-down-item"; + +export const StyledDropDownItem = styled(DropDownItem)` + color: #fff; + + .drop-down-item_icon svg { + path { + fill: #fff !important; + } + } + + &:hover { + background: #444; + } +`; From 8dff763e28977cdbcc74bfdc65e6e929120f8ac4 Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 18:17:12 +0500 Subject: [PATCH 09/16] Web:Common:Components:MediaViewer:Types Updated type ContextMenuType --- packages/common/components/MediaViewer/types/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/common/components/MediaViewer/types/index.ts b/packages/common/components/MediaViewer/types/index.ts index c4f4ba9e8a..afcfd57c3f 100644 --- a/packages/common/components/MediaViewer/types/index.ts +++ b/packages/common/components/MediaViewer/types/index.ts @@ -95,6 +95,7 @@ export type ContextMenuType = { icon: string; disabled: boolean; onClick: VoidFunction; + isSeparator?: undefined; }; export type SeparatorType = { From 0885f82a8e8a2bcc07bc431a6f25ecda68a847ff Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 18:20:11 +0500 Subject: [PATCH 10/16] Web:Common:Components:MediaViewer:Helpers Added type guard isSeparator --- .../common/components/MediaViewer/helpers/index.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/common/components/MediaViewer/helpers/index.ts b/packages/common/components/MediaViewer/helpers/index.ts index 79daa46e26..8b3d6286e9 100644 --- a/packages/common/components/MediaViewer/helpers/index.ts +++ b/packages/common/components/MediaViewer/helpers/index.ts @@ -1,4 +1,9 @@ -import { NullOrUndefined, PlaylistType } from "../types"; +import { + ContextMenuModel, + NullOrUndefined, + PlaylistType, + SeparatorType, +} from "../types"; export const mediaTypes = Object.freeze({ audio: 1, @@ -57,3 +62,7 @@ export const findNearestIndex = ( } return found; }; + +export const isSeparator = (arg: ContextMenuModel): arg is SeparatorType => { + return arg?.isSeparator; +}; From dfd62a046efa20ee312567c6fc1a2225f2dba9b6 Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 18:26:24 +0500 Subject: [PATCH 11/16] Web:Common:Components:MediaViewer:Sub-Components:Viewer Refactoring and rename the Viewer components to ViewerWrapper --- .../sub-components/Viewer/index.tsx | 7 - .../ViewerWrapper.props.ts} | 12 +- .../sub-components/ViewerWrapper/index.tsx | 120 ++++++++++++++++++ 3 files changed, 127 insertions(+), 12 deletions(-) delete mode 100644 packages/common/components/MediaViewer/sub-components/Viewer/index.tsx rename packages/common/components/MediaViewer/sub-components/{Viewer/Viewer.props.ts => ViewerWrapper/ViewerWrapper.props.ts} (72%) create mode 100644 packages/common/components/MediaViewer/sub-components/ViewerWrapper/index.tsx diff --git a/packages/common/components/MediaViewer/sub-components/Viewer/index.tsx b/packages/common/components/MediaViewer/sub-components/Viewer/index.tsx deleted file mode 100644 index b77809cd01..0000000000 --- a/packages/common/components/MediaViewer/sub-components/Viewer/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from "react"; - -function Viewer() { - return
index
; -} - -export default Viewer; diff --git a/packages/common/components/MediaViewer/sub-components/Viewer/Viewer.props.ts b/packages/common/components/MediaViewer/sub-components/ViewerWrapper/ViewerWrapper.props.ts similarity index 72% rename from packages/common/components/MediaViewer/sub-components/Viewer/Viewer.props.ts rename to packages/common/components/MediaViewer/sub-components/ViewerWrapper/ViewerWrapper.props.ts index 9f4b619a93..8d4dd18a0c 100644 --- a/packages/common/components/MediaViewer/sub-components/Viewer/Viewer.props.ts +++ b/packages/common/components/MediaViewer/sub-components/ViewerWrapper/ViewerWrapper.props.ts @@ -1,18 +1,20 @@ -import { ContextMenuModel } from "../../types"; +import { ContextMenuModel, PlaylistType } from "../../types"; -interface ViewerProps { +interface ViewerWrapperProps { userAccess: boolean; visible: boolean; title: string; - images: [{ src: string; alt: string }]; + images: { src: string; alt: string }[]; inactive: boolean; - playlist: number; + playlist: PlaylistType[]; playlistPos: number; + isFavorite: boolean; isImage: boolean; isAudio: boolean; isVideo: boolean; isPreviewFile: boolean; + archiveRoom: boolean; errorTitle: string; @@ -28,4 +30,4 @@ interface ViewerProps { contextModel: () => ContextMenuModel[]; } -export default ViewerProps; +export default ViewerWrapperProps; diff --git a/packages/common/components/MediaViewer/sub-components/ViewerWrapper/index.tsx b/packages/common/components/MediaViewer/sub-components/ViewerWrapper/index.tsx new file mode 100644 index 0000000000..5cc1914baa --- /dev/null +++ b/packages/common/components/MediaViewer/sub-components/ViewerWrapper/index.tsx @@ -0,0 +1,120 @@ +import React, { useMemo, memo, useCallback } from "react"; +import equal from "fast-deep-equal/react"; + +import { Viewer } from "@docspace/components/viewer"; +import { isSeparator } from "../../helpers"; +import { getCustomToolbar } from "../../helpers/getCustomToolbar"; +import { ContextMenuModel } from "../../types"; + +import { StyledDropDown } from "../StyledDropDown"; +import { StyledDropDownItem } from "../StyledDropDownItem"; +import ViewerWrapperProps from "./ViewerWrapper.props"; + +const DefaultSpeedZoom = 0.25; + +function ViewerWrapper(props: ViewerWrapperProps) { + const onClickContextItem = useCallback( + (item: ContextMenuModel) => { + if (isSeparator(item)) return; + item.onClick(); + props.onClose(); + }, + [props.onClose] + ); + + const generateContextMenu = ( + isOpen: boolean, + right: string, + bottom: string + ) => { + const model = props.contextModel(); + + return ( + + {model.map((item) => { + if (item.disabled) return; + const isItemSeparator = isSeparator(item); + + return ( + onClickContextItem(item)} + /> + ); + })} + + ); + }; + + const toolbars = useMemo(() => { + const { + onDeleteClick, + onDownloadClick, + playlist, + playlistPos, + userAccess, + } = props; + + const customToolbar = getCustomToolbar(onDeleteClick, onDownloadClick); + + const canShare = playlist[playlistPos].canShare; + const toolbars = + !canShare && userAccess + ? customToolbar.filter( + (x) => x.key !== "share" && x.key !== "share-separator" + ) + : customToolbar.filter((x) => x.key !== "delete"); + + return toolbars; + }, [ + props.onDeleteClick, + props.onDownloadClick, + props.playlist, + props.playlistPos, + props.userAccess, + ]); + + return ( + toolbars} + playlistPos={props.playlistPos} + archiveRoom={props.archiveRoom} + isPreviewFile={props.isPreviewFile} + onMaskClick={props.onClose} + onNextClick={props.onNextClick} + onPrevClick={props.onPrevClick} + contextModel={props.contextModel} + onDownloadClick={props.onDownloadClick} + generateContextMenu={generateContextMenu} + onSetSelectionFile={props.onSetSelectionFile} + /> + ); +} + +export default memo(ViewerWrapper, (prevProps, nextProps) => + equal(prevProps, nextProps) +); From 0dfb8394fc3ecd0042900b57d40040e1ec961a4b Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Mon, 13 Feb 2023 18:28:33 +0500 Subject: [PATCH 12/16] Web:Common:components:MediaViewer Added ViewerWrapper --- packages/common/components/MediaViewer/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/common/components/MediaViewer/index.tsx b/packages/common/components/MediaViewer/index.tsx index 782e3e4f20..60ca5ca57b 100644 --- a/packages/common/components/MediaViewer/index.tsx +++ b/packages/common/components/MediaViewer/index.tsx @@ -1,7 +1,7 @@ import { isMobileOnly } from "react-device-detect"; import React, { useState, useCallback, useMemo, useEffect } from "react"; -import ImageViewer from "./sub-components/image-viewer"; +import ViewerWrapper from "./sub-components/ViewerWrapper"; import { MediaViewerProps } from "./MediaViewer.props"; import { FileStatus } from "@docspace/common/constants"; @@ -415,7 +415,7 @@ function MediaViewer({ return ( <> {canOpen && ( - Date: Mon, 13 Feb 2023 18:33:22 +0500 Subject: [PATCH 13/16] Web:Client:Pages:Home:MediaViewer Added setAlreadyFetchingRooms --- packages/client/src/pages/Home/MediaViewer/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/client/src/pages/Home/MediaViewer/index.js b/packages/client/src/pages/Home/MediaViewer/index.js index 3a0da85f61..e03680764f 100644 --- a/packages/client/src/pages/Home/MediaViewer/index.js +++ b/packages/client/src/pages/Home/MediaViewer/index.js @@ -27,6 +27,7 @@ const FilesMediaViewer = (props) => { setToPreviewFile, setScrollToItem, setCurrentId, + setAlreadyFetchingRooms, setBufferSelection, isFavoritesFolder, archiveRoomsId, @@ -72,6 +73,7 @@ const FilesMediaViewer = (props) => { fetchFiles(previewFile.folderId).finally(() => { setIsLoading(false); setFirstLoad(false); + setAlreadyFetchingRooms(false); }); } }, [previewFile]); @@ -230,6 +232,7 @@ export default inject( isPreview, resetUrl, setSelection, + setAlreadyFetchingRooms, } = filesStore; const { visible, @@ -286,6 +289,7 @@ export default inject( setScrollToItem, setCurrentId, setBufferSelection, + setAlreadyFetchingRooms, isFavoritesFolder, onClickFavorite, onClickDownloadAs, From 0354fbb9c5e2de91970fc515601f431366282d08 Mon Sep 17 00:00:00 2001 From: DmitrySychugov Date: Mon, 13 Feb 2023 19:07:42 +0500 Subject: [PATCH 14/16] Web: Components: timeout has been shortened for viewer --- packages/components/viewer/index.js | 4 ++-- packages/components/viewer/sub-components/viewer-player.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/components/viewer/index.js b/packages/components/viewer/index.js index 415cf0b8e7..691e3bedfa 100644 --- a/packages/components/viewer/index.js +++ b/packages/components/viewer/index.js @@ -80,12 +80,12 @@ export const Viewer = (props) => { }; } return () => document.removeEventListener("touchstart", onTouch); - }, [isPlay, isOpenContextMenu]); + }, [isPlay, isOpenContextMenu, isImage]); function resetTimer() { setPanelVisible(true); clearTimeout(timer); - timer = setTimeout(() => setPanelVisible(false), 5000); + timer = setTimeout(() => setPanelVisible(false), 2500); setImageTimer(timer); } diff --git a/packages/components/viewer/sub-components/viewer-player.js b/packages/components/viewer/sub-components/viewer-player.js index df94389d20..dc6c07cb19 100644 --- a/packages/components/viewer/sub-components/viewer-player.js +++ b/packages/components/viewer/sub-components/viewer-player.js @@ -907,7 +907,7 @@ export default function ViewerPlayer(props) { } if (isMobileOnly && videoRef.current && displayUI) { clearTimeout(globalTimer); - setGlobalTimer(setTimeout(() => setPanelVisible(false), 5000)); + setGlobalTimer(setTimeout(() => setPanelVisible(false), 2500)); } }, [displayUI, isOpenContextMenu, state.isControlTouch, props.isPlay]); From b50cb78bf637c2f7f1ae172760ee832534cf61aa Mon Sep 17 00:00:00 2001 From: SuhorukovAnton Date: Tue, 14 Feb 2023 15:08:31 +0300 Subject: [PATCH 15/16] fix Bug 61155 --- products/ASC.Files/Core/Utils/FilesChunkedUploadSessionHolder.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/products/ASC.Files/Core/Utils/FilesChunkedUploadSessionHolder.cs b/products/ASC.Files/Core/Utils/FilesChunkedUploadSessionHolder.cs index 0629efe4e3..63f096dba6 100644 --- a/products/ASC.Files/Core/Utils/FilesChunkedUploadSessionHolder.cs +++ b/products/ASC.Files/Core/Utils/FilesChunkedUploadSessionHolder.cs @@ -44,6 +44,7 @@ public class FilesChunkedUploadSessionHolder : CommonChunkedUploadSessionHolder private async Task InternalFinalizeAsync(CommonChunkedUploadSession commonChunkedUploadSession) { var chunkedUploadSession = commonChunkedUploadSession as ChunkedUploadSession; + chunkedUploadSession.BytesTotal = chunkedUploadSession.BytesUploaded; var fileDao = GetFileDao(); var file = await fileDao.FinalizeUploadSessionAsync(chunkedUploadSession); return file.Id; From 753be7eb9e75e5f529d9eceedb91c11e08dad0b3 Mon Sep 17 00:00:00 2001 From: Akmal Isomadinov Date: Tue, 14 Feb 2023 18:55:31 +0500 Subject: [PATCH 16/16] Web:Components:Viewer:Styled-Viewer Fixed title overflow in mobile viewer --- packages/components/viewer/styled-viewer.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/components/viewer/styled-viewer.js b/packages/components/viewer/styled-viewer.js index d52034e655..dde22112d0 100644 --- a/packages/components/viewer/styled-viewer.js +++ b/packages/components/viewer/styled-viewer.js @@ -240,6 +240,10 @@ const StyledMobileDetails = styled.div` .title { font-weight: 600; margin-top: 6px; + width: calc(100% - 100px); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } `;