import React from 'react'; import ReactDOM from 'react-dom'; import {TabContent, TabPane, Nav, NavItem, NavLink} from 'reactstrap'; import classnames from 'classnames'; import EmbarkJS from 'Embark/EmbarkJS'; import Blockchain from './components/blockchain'; import Whisper from './components/whisper'; import Storage from './components/storage'; import ENS from './components/ens'; import 'bootstrap/dist/css/bootstrap.css'; import './dapp.css'; class App extends React.Component { constructor(props) { super(props); this.state = { error: null, activeKey: '1', whisperEnabled: false, storageEnabled: false, blockchainEnabled: false }; } componentDidMount() { EmbarkJS.onReady((err) => { this.setState({blockchainEnabled: true}); if (err) { // If err is not null then it means something went wrong connecting to ethereum // you can use this to ask the user to enable metamask for e.g return this.setState({error: err.message || err}); } EmbarkJS.Messages.isAvailable().then(result => { this.setState({whisperEnabled: result}); }); EmbarkJS.Storage.isAvailable().then((result) => { this.setState({storageEnabled: result}); }).catch(() => { this.setState({storageEnabled: false}); }); }); } _renderStatus(title, available) { let className = available ? 'pull-right status-online' : 'pull-right status-offline'; return {title} ; } handleSelect(key) { this.setState({activeKey: key}); } render() { const ensEnabled = EmbarkJS.Names.currentNameSystems && EmbarkJS.Names.isAvailable(); if (this.state.error) { return (
Something went wrong connecting to ethereum. Please make sure you have a node running or are using metamask to connect to the ethereum network:
{this.state.error}
); } return (

Embark - Usage Example

); } } ReactDOM.render(, document.getElementById('app'));