import React from 'react'; import NavBar from 'containers/NavBar'; import ChannelClaimsDisplay from 'containers/ChannelClaimsDisplay'; import request from 'utils/request'; class ShowChannel extends React.Component { constructor (props) { super(props); this.state = { error: null, }; this.getAndStoreChannelData = this.getAndStoreChannelData.bind(this); } componentDidMount () { this.getAndStoreChannelData(this.props.requestName, this.props.requestId); } componentWillReceiveProps (nextProps) { if (nextProps.requestName !== this.props.requestName || nextProps.requestId !== this.props.requestId) { this.getAndStoreChannelData(nextProps.requestName, nextProps.requestId); } } getAndStoreChannelData (name, id) { if (!id) id = 'none'; const url = `/api/channel-data/${name}/${id}`; const that = this; return request(url) .then(({ success, message, data }) => { console.log('api/channel-data response:', data); if (!success) { return that.setState({error: message}); } that.setState({error: null}); // note: store this error at app level also that.props.onChannelDataUpdate(data.channelName, data.longChannelClaimId, data.shortChannelClaimId); }) .catch((error) => { that.setState({error: error.message}); }); } componentWillUnmount () { this.props.onChannelDataClear(); } render () { return (
{this.state.error ? (

{this.state.error}

) : (

channel name: {this.props.name ? this.props.name : 'loading...'}

full channel id: {this.props.longId ? this.props.longId : 'loading...'}

short channel id: {this.props.shortId ? this.props.shortId : 'loading...'}

{(this.props.name && this.props.longId) && }
)}
); } }; export default ShowChannel;