diff --git a/packages/common/components/MediaViewer/index.tsx b/packages/common/components/MediaViewer/index.tsx index 5c40a4899b..86ff631392 100644 --- a/packages/common/components/MediaViewer/index.tsx +++ b/packages/common/components/MediaViewer/index.tsx @@ -1,4 +1,4 @@ -import { isMobileOnly } from "react-device-detect"; +import { isMobile } from "react-device-detect"; import React, { useState, useCallback, useMemo, useEffect } from "react"; import ViewerWrapper from "./sub-components/ViewerWrapper"; @@ -229,9 +229,9 @@ function MediaViewer({ }, ]; - return isMobileOnly + return isMobile ? model - : isImage && !isMobileOnly + : isImage && !isMobile ? desktopModel.filter((el) => el.key !== "download") : desktopModel; }; diff --git a/packages/components/viewer/index.js b/packages/components/viewer/index.js index 691e3bedfa..e771a0a961 100644 --- a/packages/components/viewer/index.js +++ b/packages/components/viewer/index.js @@ -11,7 +11,7 @@ import ControlBtn from "./sub-components/control-btn"; import Text from "@docspace/components/text"; import IconButton from "@docspace/components/icon-button"; -import { isMobileOnly } from "react-device-detect"; +import { isMobile } from "react-device-detect"; import ViewerMediaCloseSvgUrl from "PUBLIC_DIR/images/viewer.media.close.svg?url"; import MediaNextIcon from "PUBLIC_DIR/images/viewer.next.react.svg"; @@ -70,7 +70,7 @@ export const Viewer = (props) => { if ((!isPlay || isOpenContextMenu) && (!isImage || isOpenContextMenu)) return clearTimeout(timer); document.addEventListener("touchstart", onTouch); - if (!isMobileOnly) { + if (!isMobile) { document.addEventListener("mousemove", resetTimer); return () => { @@ -157,7 +157,7 @@ export const Viewer = (props) => { ); - const displayUI = (isMobileOnly && isAudio) || panelVisible; + const displayUI = (isMobile && isAudio) || panelVisible; const viewerPortal = ReactDOM.createPortal( { return ( - {!isFullscreen && !isMobileOnly && displayUI && ( + {!isFullscreen && !isMobile && displayUI && (
@@ -228,7 +228,7 @@ export const Viewer = (props) => {
)} - {playlist.length > 1 && !isFullscreen && displayUI && ( + {playlist.length > 1 && !isFullscreen && displayUI && !isMobile && ( <> {playlistPos !== 0 && ( diff --git a/packages/components/viewer/sub-components/media-error.js b/packages/components/viewer/sub-components/media-error.js index f9bb07fcdc..181095907b 100644 --- a/packages/components/viewer/sub-components/media-error.js +++ b/packages/components/viewer/sub-components/media-error.js @@ -1,7 +1,7 @@ import * as React from "react"; import styled from "styled-components"; import Text from "@docspace/components/text"; -import { isMobileOnly } from "react-device-detect"; +import { isMobile } from "react-device-detect"; import { ReactSVG } from "react-svg"; const StyledMediaError = styled.div` @@ -54,7 +54,7 @@ export const MediaError = ({ let errorLeft = (window.innerWidth - width) / 2 + "px"; let errorTop = (window.innerHeight - height) / 2 + "px"; - const items = !isMobileOnly + const items = !isMobile ? model.filter((el) => el.key !== "rename") : model.filter((el) => el.key === "delete" || el.key === "download"); diff --git a/packages/components/viewer/sub-components/mobile-viewer.js b/packages/components/viewer/sub-components/mobile-viewer.js index 35048b5d48..3a551d0066 100644 --- a/packages/components/viewer/sub-components/mobile-viewer.js +++ b/packages/components/viewer/sub-components/mobile-viewer.js @@ -56,14 +56,14 @@ function MobileViewer({ api.start({ ...point }); }, [left, top]); - React.useEffect(()=>{ + React.useEffect(() => { api.set({ width, height, - x:left, - y:top, - }) - },[height, width]) + x: left, + y: top, + }); + }, [height, width]); React.useEffect(() => { unmountRef.current = false; @@ -321,6 +321,7 @@ function MobileViewer({ } }, }, + { drag: { from: () => [style.x.get(), style.y.get()], diff --git a/packages/components/viewer/sub-components/viewer-base.js b/packages/components/viewer/sub-components/viewer-base.js index 2e16c09dac..3d7159904f 100644 --- a/packages/components/viewer/sub-components/viewer-base.js +++ b/packages/components/viewer/sub-components/viewer-base.js @@ -2,7 +2,7 @@ import * as React from "react"; import ViewerImage from "./viewer-image"; import classnames from "classnames"; import ViewerToolbar, { defaultToolbars } from "./viewer-toolbar"; -import { isMobileOnly } from "react-device-detect"; +import { isMobile } from "react-device-detect"; import Icon, { ActionType } from "./icon"; const ACTION_TYPES = { @@ -219,13 +219,12 @@ const ViewerBase = (props) => { if (imageRef.current) { //abort previous image request - imageRef.current.src = "" + imageRef.current.src = ""; } - let loadComplete = false; let img = new Image(); - imageRef.current = img + imageRef.current = img; img.src = activeImage.src; img.onload = () => { @@ -455,7 +454,9 @@ const ViewerBase = (props) => { document[funcName]("keydown", handleKeydown, true); } if (viewerCore.current) { - viewerCore.current[funcName]("wheel", handleMouseScroll, {passive: true}); + viewerCore.current[funcName]("wheel", handleMouseScroll, { + passive: true, + }); } } @@ -654,17 +655,18 @@ const ViewerBase = (props) => { }} ref={viewerCore} > - {isMobileOnly && !displayVisible && mobileDetails} + {isMobile && !displayVisible && mobileDetails}
{ container={props.container} /> {props.noFooter || - (!isMobileOnly && props.displayUI && ( + (!isMobile && props.displayUI && (
{ > {noToolbar || ( {imgNode}