2017-12-21 22:08:54 +01:00
|
|
|
import React from 'react';
|
|
|
|
import Link from 'component/link';
|
|
|
|
import CardVerify from 'component/cardVerify';
|
|
|
|
import lbryio from 'lbryio.js';
|
2017-07-16 18:29:46 +02:00
|
|
|
|
|
|
|
class UserVerify extends React.PureComponent {
|
|
|
|
constructor(props) {
|
|
|
|
super(props);
|
|
|
|
|
|
|
|
this.state = {
|
2017-12-21 22:08:54 +01:00
|
|
|
code: '',
|
2017-07-16 18:29:46 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
handleCodeChanged(event) {
|
|
|
|
this.setState({
|
|
|
|
code: event.target.value,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2017-07-19 01:00:13 +02:00
|
|
|
onToken(data) {
|
|
|
|
this.props.verifyUserIdentity(data.id);
|
2017-07-16 18:29:46 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
render() {
|
2018-01-15 14:32:01 +01:00
|
|
|
const { errorMessage, isPending, navigate, verifyPhone, modal } = this.props;
|
2017-07-16 18:29:46 +02:00
|
|
|
return (
|
2017-07-19 01:00:13 +02:00
|
|
|
<div>
|
2017-08-26 05:21:26 +02:00
|
|
|
<section className="card card--form">
|
|
|
|
<div className="card__title-primary">
|
2017-12-21 22:08:54 +01:00
|
|
|
<h1>{__('Final Human Proof')}</h1>
|
2017-08-26 05:21:26 +02:00
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<p>
|
2017-12-21 22:08:54 +01:00
|
|
|
Finally, please complete <strong>one and only one</strong> of the options below.
|
2017-08-26 05:21:26 +02:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<section className="card card--form">
|
|
|
|
<div className="card__title-primary">
|
2017-12-21 22:08:54 +01:00
|
|
|
<h3>{__('1) Proof via Credit')}</h3>
|
2017-08-26 05:21:26 +02:00
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
2017-12-21 22:08:54 +01:00
|
|
|
{`${__(
|
|
|
|
'If you have a valid credit or debit card, you can use it to instantly prove your humanity.'
|
|
|
|
)} ${__('There is no charge at all for this, now or in the future.')} `}
|
2017-08-30 00:17:54 +02:00
|
|
|
</div>
|
|
|
|
<div className="card__actions">
|
2017-12-21 22:08:54 +01:00
|
|
|
{errorMessage && <p className="form-field__error">{errorMessage}</p>}
|
2017-08-30 00:17:54 +02:00
|
|
|
<CardVerify
|
2017-12-21 22:08:54 +01:00
|
|
|
label={__('Perform Card Verification')}
|
2017-08-30 00:17:54 +02:00
|
|
|
disabled={isPending}
|
|
|
|
token={this.onToken.bind(this)}
|
|
|
|
stripeKey={lbryio.getStripeToken()}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<div className="meta">
|
2017-12-21 22:08:54 +01:00
|
|
|
{__('A $1 authorization may temporarily appear with your provider.')}{' '}
|
2017-08-26 05:21:26 +02:00
|
|
|
<Link
|
|
|
|
href="https://lbry.io/faq/identity-requirements"
|
2017-12-21 22:08:54 +01:00
|
|
|
label={__('Read more about why we do this.')}
|
2017-08-26 05:21:26 +02:00
|
|
|
/>
|
2017-08-30 00:17:54 +02:00
|
|
|
</div>
|
2017-08-26 05:21:26 +02:00
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<section className="card card--form">
|
|
|
|
<div className="card__title-primary">
|
2018-01-11 06:41:51 +01:00
|
|
|
<h3>{__('2) Proof via Phone')}</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
{`${__(
|
|
|
|
'You will receive an SMS text message confirming that your phone number is correct.'
|
|
|
|
)}`}
|
|
|
|
</div>
|
|
|
|
<div className="card__actions">
|
2018-01-15 14:32:01 +01:00
|
|
|
<Link
|
|
|
|
onClick={() => {
|
|
|
|
verifyPhone();
|
|
|
|
}}
|
|
|
|
button="alt"
|
|
|
|
icon="icon-phone"
|
2018-01-11 06:41:51 +01:00
|
|
|
label={__('Submit Phone Number')}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<div className="meta">{__('Standard messaging rates apply.')} </div>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<section className="card card--form">
|
|
|
|
<div className="card__title-primary">
|
|
|
|
<h3>{__('3) Proof via YouTube')}</h3>
|
2017-08-26 05:21:26 +02:00
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<p>
|
|
|
|
{__(
|
2017-12-21 22:08:54 +01:00
|
|
|
'If you have a YouTube account with subscribers and views, you can sync your account and content to be granted instant verification.'
|
2017-08-26 05:21:26 +02:00
|
|
|
)}
|
|
|
|
</p>
|
2017-12-07 19:07:30 +01:00
|
|
|
<p>
|
2017-12-21 22:08:54 +01:00
|
|
|
{__('Some account minimums apply.')}{' '}
|
|
|
|
<Link href="https://lbry.io/faq/youtube" label={__('Read more.')} />
|
2017-12-07 19:07:30 +01:00
|
|
|
</p>
|
2017-08-26 05:21:26 +02:00
|
|
|
</div>
|
|
|
|
<div className="card__actions">
|
|
|
|
<Link
|
2017-08-31 15:37:49 +02:00
|
|
|
href="https://api.lbry.io/yt/connect"
|
2017-08-26 05:21:26 +02:00
|
|
|
button="alt"
|
|
|
|
icon="icon-youtube"
|
2017-12-21 22:08:54 +01:00
|
|
|
label={__('YouTube Account Sync')}
|
2017-08-26 05:21:26 +02:00
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<div className="meta">
|
2017-12-21 22:08:54 +01:00
|
|
|
This will not automatically refresh after approval. Once you have synced your account,
|
|
|
|
just navigate away or click <Link navigate="/rewards" label="here" />.
|
2017-08-26 05:21:26 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<section className="card card--form">
|
|
|
|
<div className="card__title-primary">
|
2018-01-11 06:41:51 +01:00
|
|
|
<h3>{__('4) Proof via Chat')}</h3>
|
2017-08-26 05:21:26 +02:00
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<p>
|
|
|
|
{__(
|
2017-12-21 22:08:54 +01:00
|
|
|
'A moderator capable of approving you is typically available in the #verification channel of our chat room.'
|
2017-08-26 05:21:26 +02:00
|
|
|
)}
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
{__(
|
2017-12-21 22:08:54 +01:00
|
|
|
'This process will likely involve providing proof of a stable and established online or real-life identity.'
|
2017-08-26 05:21:26 +02:00
|
|
|
)}
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<div className="card__actions">
|
|
|
|
<Link
|
2017-10-25 23:45:47 +02:00
|
|
|
href="https://chat.lbry.io"
|
2017-08-26 05:21:26 +02:00
|
|
|
button="alt"
|
2017-10-25 23:45:47 +02:00
|
|
|
icon="icon-comments"
|
2017-12-21 22:08:54 +01:00
|
|
|
label={__('Join LBRY Chat')}
|
2017-08-26 05:21:26 +02:00
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<section className="card card--form">
|
|
|
|
<div className="card__title-primary">
|
2017-12-21 22:08:54 +01:00
|
|
|
<h5>{__('Or, Skip It Entirely')}</h5>
|
2017-08-26 05:21:26 +02:00
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<p className="meta">
|
|
|
|
{__(
|
2017-12-21 22:08:54 +01:00
|
|
|
'You can continue without this step, but you will not be eligible to earn rewards.'
|
2017-08-26 05:21:26 +02:00
|
|
|
)}
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<div className="card__actions">
|
2017-12-21 22:08:54 +01:00
|
|
|
<Link onClick={() => navigate('/discover')} button="alt" label={__('Skip Rewards')} />
|
2017-08-26 05:21:26 +02:00
|
|
|
</div>
|
|
|
|
</section>
|
2017-07-19 01:00:13 +02:00
|
|
|
</div>
|
2017-07-16 18:29:46 +02:00
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default UserVerify;
|