import React from "react"; import { BusyMessage } from "component/common"; import RewardListClaimed from "component/rewardListClaimed"; import RewardTile from "component/rewardTile"; import SubHeader from "component/subHeader"; import Link from "component/link"; class RewardsPage extends React.PureComponent { componentDidMount() { this.fetchRewards(this.props); } componentWillReceiveProps(nextProps) { this.fetchRewards(nextProps); } fetchRewards(props) { const { fetching, rewards, fetchRewards } = props; if (!fetching && (!rewards || !rewards.length)) { fetchRewards(); } } renderPageHeader() { const { doAuth, navigate, user } = this.props; if (user && !user.is_reward_approved) { if ( !user.primary_email || !user.has_verified_email || !user.is_identity_verified ) { return (

{__("Only verified accounts are eligible to earn rewards.")}

); } else { return (

{__( "This account must undergo review before you can participate in the rewards program." )} {" "} {__( "This can take anywhere from several minutes to several days." )}

{__( "We apologize for this inconvenience, but have added this additional step to prevent fraud." )}

{__("You will receive an email when this process is complete.") + " " + __("Please enjoy free content in the meantime!")}

navigate("/discover")} button="primary" label="Return Home" />

); } } } renderUnclaimedRewards() { const { fetching, rewards, user } = this.props; if (fetching) { return (
); } else if (user === null) { return (

{__( "This application is unable to earn rewards due to an authentication failure." )}

); } else if (!rewards || rewards.length <= 0) { return (
{__("Failed to load rewards.")}
); } else { return rewards.map(reward => ); } } render() { return (
{this.renderPageHeader()} {this.renderUnclaimedRewards()} {}
); } } export default RewardsPage;