import React, {Component} from 'react';
import {Layout, Menu, Input, Button, Spin, Breadcrumb, Icon, Radio, LocaleProvider} from 'antd';
import {BrowserRouter as Router, Route, Link, Switch, Redirect} from "react-router-dom";
import gql from "graphql-tag";
import {Query} from "react-apollo";
import moment from 'moment';
import 'moment/locale/zh-cn';
import { FormattedMessage } from 'react-intl';
import CloudFunction from '../cloudFunction/CloudFunction';
import MonitorNotify from '../monitorNotify/MonitorNotify';
import DataAnalysis from '../dataAnalysis/DataAnalysis';
import DataStorage from '../dataStorage/DataStorage';
import zhCN from 'antd/lib/locale-provider/zh_CN';
import '../common/graphql/index.css';
import './index.css'
import TrialCase from "../trialCase/TrialCase";
const {SubMenu} = Menu;
const {Header, Sider} = Layout;
moment.locale('en');
class App extends Component {
constructor(props) {
super(props);
sessionStorage.setItem("language","English");
this.state = {
menuLevel1: "trail",
sideBar: "e-commerce",
userID: '',
hasLogin: false,
user: {
nickname: '',
avatar: ''
},
collapsed: false,
inlineCollapsed: false,
locale: undefined,
language: sessionStorage.getItem("language")
};
}
onCollapse = (collapsed) => {
console.log(collapsed);
this.setState({collapsed});
};
switchMenu = (menuName, e) => {
console.log('menuName', menuName, 'e', e);
this.setState({
[menuName]: e.key,
});
};
changeLocale = (e) => {
e.stopPropagation();
let language = sessionStorage.getItem("language");
console.log('now language',language);
let local = language === "中文" ? zhCN : undefined;
console.log('local',local);
let changeLanguage = language === "中文" ? "English" : "中文";
console.log('changeLanguage',changeLanguage);
sessionStorage.setItem("language",changeLanguage);
this.props.changeLanguage(changeLanguage);
this.setState({
language:changeLanguage,
locale:local
});
if (!local) {
moment.locale('en');
} else {
moment.locale('zh-cn');
}
};
login = (id) => {
const GET_USER = gql`
query USER($id: ID!) {
user_by_id(id: $id) {
avatar,
nickname
}
}
`;
return (
{
({loading, error, data}) => {
if (loading) {
return
}
if (error) {
return 'error!';
}
if (data.user_by_id === null)
return (
no such person
);
else {
// 不可使用 this.setState, 会报错。
// Warning: Cannot update during an existing state transition (such as within `render`).
// Render methods should be a pure function of props and state.
this.state.user = {
avatar: data.user_by_id.avatar,
nickname: data.user_by_id.nickname
};
console.log(data);
return (