2017-07-16 18:29:46 +02:00
|
|
|
import React from "react";
|
2017-08-03 01:37:38 +02:00
|
|
|
import Link from "component/link";
|
2017-07-19 01:00:13 +02:00
|
|
|
import CardVerify from "component/cardVerify";
|
2017-08-25 22:49:12 +02:00
|
|
|
import lbryio from "lbryio.js";
|
2017-07-16 18:29:46 +02:00
|
|
|
|
|
|
|
class UserVerify extends React.PureComponent {
|
|
|
|
constructor(props) {
|
|
|
|
super(props);
|
|
|
|
|
|
|
|
this.state = {
|
|
|
|
code: "",
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
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() {
|
2017-08-03 01:37:38 +02:00
|
|
|
const { errorMessage, isPending, navigate } = 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">
|
|
|
|
<h1>{__("Final Human Proof")}</h1>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<p>
|
|
|
|
Finally, please complete <strong>one and only one</strong> of the
|
|
|
|
options below.
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<section className="card card--form">
|
|
|
|
<div className="card__title-primary">
|
|
|
|
<h3>{__("1) Proof via Credit")}</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
2017-08-30 00:17:54 +02: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.") +
|
|
|
|
" "}
|
|
|
|
</div>
|
|
|
|
<div className="card__actions">
|
|
|
|
{errorMessage &&
|
|
|
|
<p className="form-field__error">{errorMessage}</p>}
|
|
|
|
<CardVerify
|
|
|
|
label={__("Perform Card Verification")}
|
|
|
|
disabled={isPending}
|
|
|
|
token={this.onToken.bind(this)}
|
|
|
|
stripeKey={lbryio.getStripeToken()}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<div className="meta">
|
2017-08-26 05:21:26 +02:00
|
|
|
{__(
|
2017-08-30 00:17:54 +02: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-08-30 00:17:54 +02: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">
|
|
|
|
<h3>{__("2) Proof via YouTube")}</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<p>
|
|
|
|
{__(
|
2017-08-31 17:09:53 +02:00
|
|
|
"If you have a YouTube account with subscribers and views, you can sync your account to be granted instant verification."
|
2017-08-26 05:21:26 +02:00
|
|
|
)}
|
|
|
|
</p>
|
|
|
|
</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"
|
|
|
|
label={__("YouTube Account Sync")}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<div className="meta">
|
|
|
|
This will not automatically refresh after approval. Once you have
|
|
|
|
synced your account, just navigate away or click
|
|
|
|
{" "} <Link navigate="/rewards" label="here" />.
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<section className="card card--form">
|
|
|
|
<div className="card__title-primary">
|
|
|
|
<h3>{__("3) Proof via Chat")}</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
<p>
|
|
|
|
{__(
|
|
|
|
"A moderator capable of approving you is typically available in the #verification channel of our chat room."
|
|
|
|
)}
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
{__(
|
2017-08-30 00:17:54 +02: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
|
|
|
|
href="https://slack.lbry.io"
|
|
|
|
button="alt"
|
|
|
|
icon="icon-slack"
|
|
|
|
label={__("Join LBRY Chat")}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<section className="card card--form">
|
|
|
|
<div className="card__title-primary">
|
|
|
|
<h5>{__("Or, Skip It Entirely")}</h5>
|
|
|
|
</div>
|
|
|
|
<div className="card__content">
|
|
|
|
|
|
|
|
<p className="meta">
|
|
|
|
{__(
|
|
|
|
"You can continue without this step, but you will not be eligible to earn rewards."
|
|
|
|
)}
|
|
|
|
</p>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div className="card__actions">
|
|
|
|
<Link
|
|
|
|
onClick={() => navigate("/discover")}
|
|
|
|
button="alt"
|
|
|
|
label={__("Skip Rewards")}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</section>
|
2017-07-19 01:00:13 +02:00
|
|
|
</div>
|
2017-07-16 18:29:46 +02:00
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default UserVerify;
|