import React, {useMemo, useState, useEffect, useRef} from 'react';
import Popup from "@components/Popup";
import { useNavigate } from 'react-router-dom';
import {ROUTE_TYPE_FULL, ROUTE_TYPE_IN, ROUTE_TYPE_POP, ROUTE_TYPE_POP_OR_FULL} from "@constants/routes";
import {useThemeProvider} from "@contexts/themeContext";
import SubScreen from "@components/SubScreen";
import useScrollLock from "@hooks/useScrollLock";
import {useLocation} from "react-router";
const i18n=global.i18n;
const RouteWrapper = (props) => {
const {isMobile} = useThemeProvider();
const { Comp, route} = props;
const navigate = useNavigate()
const {pathname,hash} = useLocation();
const setLock=(isLocked)=>{
if (isLocked) {
document.documentElement.classList.add('no-scroll');
} else {
document.documentElement.classList.remove('no-scroll');
}
}
useEffect(() => {
if (route){
if (route.type===ROUTE_TYPE_IN||route.type===ROUTE_TYPE_FULL)setLock(false);
else setLock(true);
}
}, [pathname,hash]);
/** useMemo 缓存query,避免每次生成生的query */
const renderIn=()=>{
let isexit=false;
if (Comp!=null)isexit=true;
return (
<>
{
isexit?