// @flow import React, { PureComponent, Fragment } from 'react'; import BusyIndicator from 'component/common/busy-indicator'; import RewardListClaimed from 'component/rewardListClaimed'; import RewardTile from 'component/rewardTile'; import Button from 'component/button'; import Page from 'component/page'; import classnames from 'classnames'; import type { Reward } from 'types/reward'; import { rewards as REWARD_TYPES } from 'lbryinc'; type Props = { doAuth: () => void, navigate: string => void, fetching: boolean, rewards: Array, claimed: Array, user: ?{ is_identity_verified: boolean, is_reward_approved: boolean, primary_email: string, has_verified_email: boolean, }, daemonSettings: { share_usage_data: boolean, }, }; class RewardsPage extends PureComponent { renderPageHeader() { const { doAuth, navigate, user, daemonSettings } = this.props; if (user && !user.is_reward_approved && daemonSettings && daemonSettings.share_usage_data) { if (!user.primary_email || !user.has_verified_email || !user.is_identity_verified) { return (
{__('Humans Only')}

{__('Rewards are for human beings only.')}{' '} {__("You'll have to prove you're one of us before you can claim any rewards.")}

); } 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.' )}

{`${__('If you continue to see this message, send us an email to help@lbry.io.')} ${__( 'Please enjoy free content in the meantime!' )}`}

); } return null; } renderCustomRewardCode() { return ( ); } renderUnclaimedRewards() { const { fetching, rewards, user, daemonSettings, navigate, claimed } = this.props; if (daemonSettings && !daemonSettings.share_usage_data) { return (
{__('Disabled')}

{__( 'Rewards are currently disabled for your account. Turn on diagnostic data sharing, in' )}{' '}

); } else 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 (

{__('No Rewards Available')}

{claimed && claimed.length ? __( "You have claimed all available rewards! We're regularly adding more so be sure to check back later." ) : __('There are no rewards available at this time, please check back later.')}

{this.renderCustomRewardCode()}
); } const isNotEligible = !user || !user.primary_email || !user.has_verified_email || !user.is_reward_approved; return (
{rewards.map(reward => ( ))} {this.renderCustomRewardCode()}
); } render() { return ( {this.renderPageHeader()} {this.renderUnclaimedRewards()} {} ); } } export default RewardsPage;