import React, {useEffect} from 'react'; import {inject, observer} from "mobx-react"; import {Web3State, AppStore} from "./store/AppStore"; import { Typography } from "@material-ui/core"; import {Router, Switch, Route} from "react-router-dom"; import {Main} from "./components/Main"; type Props = { appStore?: AppStore } const App: React.FC = (props) => { const appStore = props.appStore!; const {web3State, prepareMetamask, history} = appStore; useEffect(() => { prepareMetamask() }, [prepareMetamask]); // This state will show that metamask is not ready/activated yet if (web3State === Web3State.UNKNOWN) return null; // If there is no metamask at all if (web3State === Web3State.NO_METAMASK) return
Please install metamask to use the dApp
; // User did not give permissions to our application if (web3State === Web3State.LOCKED) { return
Please unlock metamask to use the dApp
; } return
; }; export const AppComponent = inject('appStore')(observer(App));