// import { Component, PropsWithChildren } from 'react'

// class App extends Component<PropsWithChildren> {

//   componentDidMount () {}

//   componentDidShow () {}

//   componentDidHide () {}

//   render () {
//     // this.props.children 是将要会渲染的页面
//     return this.props.children
//   }
// }

// export default App

import { PropsWithChildren } from "react";
import { useRequest } from "ahooks";
import { Provider as ReduxProvider } from "react-redux";
import Taro, { useDidShow } from "@tarojs/taro";
import { WebView } from "@tarojs/components";
import AppContext from "./context/appContext";
import ReduxUtil from "./utils/reduxUtil";
import RouteUtil from "./utils/routeUtil";
import UserHelper from "./helper/userHelper";
import "./app.scss";

interface IAppProps {}

const App = (props: PropsWithChildren<IAppProps>) => {
  const result = useRequest(Taro.getSystemInfo);
  useRequest(() => {
    return UserHelper.cacheTabMenu();
  });
  useDidShow((options) => {
    if (options.query.source === "app") {
      RouteUtil.toWebViewPage({
        url: "https://mp.weixin.qq.com/s/X0OAslHaFjld6Zf2ifVC5A",
      });
    }
  });
  return (
    // (appContext.systemInfo?.screenHeight || 0) - (appContext.systemInfo?.safeArea?.bottom || 0);
    <AppContext.Provider
      value={{
        systemInfo: result.data,
        screenSize: {
          width: result.data?.screenWidth || 0,
          height: result.data?.screenHeight || 0,
        },
        padding: {
          // top: result.data?.safeArea?.top || 0,
          top: 0,
          bottom:
            (result.data?.screenHeight || 0) -
            (result.data?.safeArea?.bottom || 0),
        },
      }}
    >
      <WebView src='https://mp.weixin.qq.com/s/X0OAslHaFjld6Zf2ifVC5A'></WebView>
      <ReduxProvider store={ReduxUtil.store}>{props.children}</ReduxProvider>
    </AppContext.Provider>
  );
};

export default App;
