import React from 'react'; import AssetPreview from 'components/AssetPreview'; import request from 'utils/request'; class ChannelClaimsDisplay extends React.Component { constructor (props) { super(props); this.state = { error: null, page : 1, }; this.getAndStoreChannelClaims = this.getAndStoreChannelClaims.bind(this); } componentDidMount () { const channelName = this.props.channelName; const channelClaimId = this.props.channelClaimId || 'none'; const page = this.state.page; this.getAndStoreChannelClaims(channelName, channelClaimId, page); } getAndStoreChannelClaims (channelName, channelClaimId, page) { const url = `/api/channel-claims/${channelName}/${channelClaimId}/${page}`; const that = this; return request(url) .then(({ success, message, data }) => { console.log('api/channel-claims response:', data); if (!success) { return that.setState({error: message}); } that.setState({ claims : data.claims, currentPage : data.currentPage, nextPage : data.nextPage, previousPage: data.previousPage, totalPages : data.totalPages, totalResults: data.totalResults, }); }) .catch((error) => { that.setState({error: error.message}); }); } render () { return ( <div> {this.state.error ? ( <div className="row"> <div className="column column--10"> <p>{this.state.error}</p> </div> </div> ) : ( <div className="row row--tall"> {this.state.claims && this.state.claims.map((claim, index) => <AssetPreview name={claim.name} claimId={claim.claimId} contentType={claim.contentType} key={index} />)} </div> )} </div> ); } }; // required props // channelName // channelClaimId export default ChannelClaimsDisplay;