import React from 'react'; import NavBar from 'containers/NavBar'; import ChannelClaimsDisplay from 'components/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 () { const channelName = this.props.channelName; const channelClaimId = this.props.channelClaimId || 'none'; this.getAndStoreChannelData(channelName, channelClaimId); } getAndStoreChannelData (channelName, channelClaimId) { const url = `/api/channel-data/${channelName}/${channelClaimId}`; 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({ channelName : data.channelName, longChannelClaimId : data.longChannelClaimId, shortChannelClaimId: data.shortChannelClaimId, }); }) .catch((error) => { that.setState({error: error.message}); }); } render () { return ( <div> <NavBar/> {this.state.error ? ( <div className="row row--tall row--padded"> <div className="column column--10"> <p>{this.state.error}</p> </div> </div> ) : ( <div className="row row--tall row--padded"> <div className="column column--10"> <h2>channel name: {this.props.channelName}</h2> <p>full channel id: {this.state.longChannelClaimId ? this.state.longChannelClaimId : 'loading...'}</p> <p>short channel id: {this.state.shortChannelClaimId ? this.state.shortChannelClaimId : 'loading...'}</p> </div> <div className="column column--10"> { (this.state.channelName && this.state.longChannelClaimId) && <ChannelClaimsDisplay channelName={this.state.channelName} channelClaimId={this.state.longChannelClaimId} /> } </div> </div> )} </div> ); } }; // required props // channelName // channelClaimId export default ShowChannel;