51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
import React from 'react';
|
|
import GiftBucketFactory from '../../../embarkArtifacts/contracts/GiftBucketFactory';
|
|
import {
|
|
shallowEqual,
|
|
useSelector,
|
|
useDispatch,
|
|
} from 'react-redux';
|
|
import { Web3Type } from "../actions/web3";
|
|
|
|
const web3Type = (t: Web3Type) => {
|
|
switch (t) {
|
|
case Web3Type.None:
|
|
return "not a web3 browser";
|
|
case Web3Type.Generic:
|
|
return "generic web3 browser";
|
|
case Web3Type.Remote:
|
|
return "remote web3 node";
|
|
case Web3Type.Status:
|
|
return "status web3 browser";
|
|
}
|
|
}
|
|
|
|
export default function(ownProps: any) {
|
|
const props = useSelector(state => {
|
|
return {
|
|
initialized: state.web3.networkID,
|
|
networkID: state.web3.networkID,
|
|
error: state.web3.error,
|
|
type: state.web3.type,
|
|
}
|
|
}, shallowEqual);
|
|
|
|
if (props.error) {
|
|
return `Error: ${props.error}`;
|
|
}
|
|
|
|
if (!props.initialized) {
|
|
return "initializing...";
|
|
}
|
|
|
|
return <>
|
|
Network ID: {props.networkID} <br />
|
|
Factory: {GiftBucketFactory.address} <br />
|
|
Web3 Type: {web3Type(props.type)}
|
|
<hr />
|
|
<div>
|
|
{ownProps.children}
|
|
</div>
|
|
</>;
|
|
}
|