keycard-redeem/app/js/components/App.tsx

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>
</>;
}