Web: Client: fixed double api requests
This commit is contained in:
parent
aa53acccd9
commit
d6ad1325f6
@ -1,4 +1,4 @@
|
|||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect } from "react";
|
||||||
import { Router, Switch, Route, Redirect } from "react-router-dom";
|
import { Router, Switch, Route, Redirect } from "react-router-dom";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import NavMenu from "./components/NavMenu";
|
import NavMenu from "./components/NavMenu";
|
||||||
@ -198,11 +198,8 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
|
|||||||
roomsMode,
|
roomsMode,
|
||||||
setSnackbarExist,
|
setSnackbarExist,
|
||||||
userTheme,
|
userTheme,
|
||||||
currentProductId,
|
|
||||||
} = rest;
|
} = rest;
|
||||||
|
|
||||||
const [isDocuments, setIsDocuments] = useState(false);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
try {
|
try {
|
||||||
if (!window.AppServer) {
|
if (!window.AppServer) {
|
||||||
@ -429,14 +426,6 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
|
|||||||
if (userTheme) setTheme(userTheme);
|
if (userTheme) setTheme(userTheme);
|
||||||
}, [userTheme]);
|
}, [userTheme]);
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (window.location.pathname.toLowerCase().includes("files")) {
|
|
||||||
setIsDocuments(true);
|
|
||||||
} else {
|
|
||||||
setIsDocuments(false);
|
|
||||||
}
|
|
||||||
}, [currentProductId]);
|
|
||||||
|
|
||||||
const pathname = window.location.pathname.toLowerCase();
|
const pathname = window.location.pathname.toLowerCase();
|
||||||
const isEditor = pathname.indexOf("doceditor") !== -1;
|
const isEditor = pathname.indexOf("doceditor") !== -1;
|
||||||
|
|
||||||
@ -522,7 +511,7 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
|
|||||||
<Layout>
|
<Layout>
|
||||||
<Router history={history}>
|
<Router history={history}>
|
||||||
<>
|
<>
|
||||||
{isDocuments ? <ReactSmartBanner t={t} ready={ready} /> : <></>}
|
<ReactSmartBanner t={t} ready={ready} />
|
||||||
{isEditor ? <></> : <NavMenu />}
|
{isEditor ? <></> : <NavMenu />}
|
||||||
<ScrollToTop />
|
<ScrollToTop />
|
||||||
<Main isDesktop={isDesktop}>
|
<Main isDesktop={isDesktop}>
|
||||||
@ -585,7 +574,6 @@ const ShellWrapper = inject(({ auth, backup }) => {
|
|||||||
setSnackbarExist,
|
setSnackbarExist,
|
||||||
socketHelper,
|
socketHelper,
|
||||||
setTheme,
|
setTheme,
|
||||||
currentProductId,
|
|
||||||
} = settingsStore;
|
} = settingsStore;
|
||||||
const { setPreparationPortalDialogVisible } = backup;
|
const { setPreparationPortalDialogVisible } = backup;
|
||||||
|
|
||||||
@ -614,7 +602,6 @@ const ShellWrapper = inject(({ auth, backup }) => {
|
|||||||
roomsMode,
|
roomsMode,
|
||||||
setSnackbarExist,
|
setSnackbarExist,
|
||||||
userTheme: auth?.userStore?.user?.theme,
|
userTheme: auth?.userStore?.user?.theme,
|
||||||
currentProductId,
|
|
||||||
};
|
};
|
||||||
})(observer(Shell));
|
})(observer(Shell));
|
||||||
|
|
||||||
|
@ -10,9 +10,17 @@ const Wrapper = styled.div`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
const ReactSmartBanner = (props) => {
|
const ReactSmartBanner = (props) => {
|
||||||
const { t, ready, isBannerVisible, setIsBannerVisible } = props;
|
const {
|
||||||
|
t,
|
||||||
|
ready,
|
||||||
|
isBannerVisible,
|
||||||
|
setIsBannerVisible,
|
||||||
|
currentProductId,
|
||||||
|
} = props;
|
||||||
const force = isIOS ? "ios" : "android";
|
const force = isIOS ? "ios" : "android";
|
||||||
|
|
||||||
|
const [isDocuments, setIsDocuments] = useState(false);
|
||||||
|
|
||||||
const getCookie = (name) => {
|
const getCookie = (name) => {
|
||||||
let matches = document.cookie.match(
|
let matches = document.cookie.match(
|
||||||
new RegExp(
|
new RegExp(
|
||||||
@ -34,6 +42,14 @@ const ReactSmartBanner = (props) => {
|
|||||||
if (cookieClosed || cookieInstalled) hideBanner();
|
if (cookieClosed || cookieInstalled) hideBanner();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (window.location.pathname.toLowerCase().includes("files")) {
|
||||||
|
setIsDocuments(true);
|
||||||
|
} else {
|
||||||
|
setIsDocuments(false);
|
||||||
|
}
|
||||||
|
}, [currentProductId]);
|
||||||
|
|
||||||
const storeText = {
|
const storeText = {
|
||||||
ios: t("SmartBanner:AppStore"),
|
ios: t("SmartBanner:AppStore"),
|
||||||
android: t("SmartBanner:GooglePlay"),
|
android: t("SmartBanner:GooglePlay"),
|
||||||
@ -60,7 +76,11 @@ const ReactSmartBanner = (props) => {
|
|||||||
navigator.maxTouchPoints > 0 ||
|
navigator.maxTouchPoints > 0 ||
|
||||||
navigator.msMaxTouchPoints > 0;
|
navigator.msMaxTouchPoints > 0;
|
||||||
|
|
||||||
return isMobile && isBannerVisible && ready && isTouchDevice ? (
|
return isMobile &&
|
||||||
|
isBannerVisible &&
|
||||||
|
ready &&
|
||||||
|
isTouchDevice &&
|
||||||
|
isDocuments ? (
|
||||||
<Wrapper>
|
<Wrapper>
|
||||||
<SmartBanner
|
<SmartBanner
|
||||||
title={t("SmartBanner:AppName")}
|
title={t("SmartBanner:AppName")}
|
||||||
@ -79,9 +99,10 @@ const ReactSmartBanner = (props) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default inject(({ bannerStore }) => {
|
export default inject(({ auth, bannerStore }) => {
|
||||||
return {
|
return {
|
||||||
isBannerVisible: bannerStore.isBannerVisible,
|
isBannerVisible: bannerStore.isBannerVisible,
|
||||||
setIsBannerVisible: bannerStore.setIsBannerVisible,
|
setIsBannerVisible: bannerStore.setIsBannerVisible,
|
||||||
|
currentProductId: auth.settingsStore.currentProductId,
|
||||||
};
|
};
|
||||||
})(observer(ReactSmartBanner));
|
})(observer(ReactSmartBanner));
|
||||||
|
Loading…
Reference in New Issue
Block a user