import React from 'react';

import { Helmet } from 'react-helmet';
import { connect } from 'react-redux';
import { renderRoutes } from 'react-router-config';

import {
  Router,
  Switch,
} from '@wisdom-utils/runtime';

import { dyRoutes } from '../../routes/config';

const pkg = require('../../../package.json');
const config = require('../../../config/config');
const defaultSetting = config.layout;
function App(props) {
  console.log(dyRoutes(props.menu || []).routes)
  return (
    <>
      <Helmet
        title={`${(props.global && props.global.title) ||
          defaultSetting.title}`}
      >
        <title>{`${(props.global && props.global.title) ||
          defaultSetting.title}`}</title>
        <link
          rel="shortcut icon"
          href={`https://panda-water.cn/web4/${props.global &&
            props.global.shortcutIcon}`}
        />
        <meta
          name="description"
          content={`${props.global && props.global.title}`}
        />
      </Helmet>
      <Router basename={config.base || pkg.name.toLocaleLowerCase() || ''}>
        <Switch>
          {renderRoutes(dyRoutes(props.menu || []).routes)}
          {/* <Redirect to="/notFound" />  */}
        </Switch>
      </Router>
    </>
  );
}

const mapStateToProps = state => ({
  global: state.getIn(['global', 'globalConfig']),
  menu: state.getIn(['global', 'menu']),
});
export default connect(
  mapStateToProps,
  null,
)(App);
