lbry.tv account copy changes
This commit is contained in:
parent
486f15eba1
commit
da10296132
12 changed files with 84 additions and 43 deletions
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"linters": {
|
||||
"src/**/*.{js,jsx,scss,json}": ["prettier --write", "git add"],
|
||||
"src/**/*.{js,jsx}": ["eslint", "flow focus-check --color always", "git add"]
|
||||
"ui/**/*.{js,jsx,scss,json}": ["prettier --write", "git add"],
|
||||
"ui/**/*.{js,jsx}": ["eslint", "flow focus-check --color always", "git add"]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -113,6 +113,7 @@
|
|||
"eslint-plugin-promise": "^4.0.1",
|
||||
"eslint-plugin-react": "^7.7.0",
|
||||
"eslint-plugin-react-hooks": "^1.6.0",
|
||||
"eslint-plugin-standard": "^4.0.1",
|
||||
"file-loader": "^4.2.0",
|
||||
"flow-bin": "^0.97.0",
|
||||
"flow-typed": "^2.3.0",
|
||||
|
|
12
ui/component/rewardAuthIntro/index.js
Normal file
12
ui/component/rewardAuthIntro/index.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
import { connect } from 'react-redux';
|
||||
import { selectUnclaimedRewardValue } from 'lbryinc';
|
||||
import RewardAuthIntro from './view';
|
||||
|
||||
const select = state => ({
|
||||
totalRewardValue: selectUnclaimedRewardValue(state),
|
||||
});
|
||||
|
||||
export default connect(
|
||||
select,
|
||||
null
|
||||
)(RewardAuthIntro);
|
35
ui/component/rewardAuthIntro/view.jsx
Normal file
35
ui/component/rewardAuthIntro/view.jsx
Normal file
|
@ -0,0 +1,35 @@
|
|||
// @flow
|
||||
import React from 'react';
|
||||
import CreditAmount from 'component/common/credit-amount';
|
||||
import Button from 'component/button';
|
||||
import Card from 'component/common/card';
|
||||
import I18nMessage from 'component/i18nMessage';
|
||||
|
||||
type Props = {
|
||||
balance: number,
|
||||
totalRewardValue: number,
|
||||
};
|
||||
|
||||
function RewardAuthIntro(props: Props) {
|
||||
const { totalRewardValue } = props;
|
||||
const totalRewardRounded = Math.floor(totalRewardValue / 10) * 10;
|
||||
|
||||
return (
|
||||
<Card
|
||||
title={__('Sign In to lbry.tv to Earn Rewards')}
|
||||
subtitle={
|
||||
<I18nMessage
|
||||
tokens={{
|
||||
credit_amount: <CreditAmount inheritStyle amount={totalRewardRounded} />,
|
||||
}}
|
||||
>
|
||||
A lbry.tv account allows you to earn more than %credit_amount% in rewards, backup your data, and get content
|
||||
and security updates.
|
||||
</I18nMessage>
|
||||
}
|
||||
actions={<Button button="primary" navigate="/$/rewards" label={__('Unlock Rewards')} />}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
export default RewardAuthIntro;
|
|
@ -35,10 +35,14 @@ function UserEmail(props: Props) {
|
|||
|
||||
return (
|
||||
<Card
|
||||
title={__('Email')}
|
||||
subtitle={__(
|
||||
'This information is disclosed only to LBRY, Inc. and not to the LBRY network. It is only required to save account information and earn rewards.'
|
||||
)}
|
||||
title={__('lbry.tv Account')}
|
||||
subtitle={
|
||||
isVerified
|
||||
? undefined
|
||||
: __(
|
||||
'Creating a lbry.tv account will allow you to earn rewards, receive content and security updates, and optionally backup your data.'
|
||||
)
|
||||
}
|
||||
actions={
|
||||
isVerified ? (
|
||||
<FormField
|
||||
|
@ -59,7 +63,7 @@ function UserEmail(props: Props) {
|
|||
value={email || ''}
|
||||
/>
|
||||
) : (
|
||||
<Button button="primary" label={__('Add Email')} navigate={`/$/${PAGES.AUTH}`} />
|
||||
<Button button="primary" label={__('Sign In')} navigate={`/$/${PAGES.AUTH}`} />
|
||||
)
|
||||
}
|
||||
/>
|
||||
|
|
|
@ -29,8 +29,15 @@ function UserEmailNew(props: Props) {
|
|||
|
||||
return (
|
||||
<React.Fragment>
|
||||
<h1 className="section__title--large">{__('Sign In to LBRY')}</h1>
|
||||
<p className="section__subtitle">{__('Create a new account or sign in.')}</p>
|
||||
<h1 className="section__title--large">{__('Sign In to lbry.tv')}</h1>
|
||||
<p className="section__subtitle">
|
||||
{/* @if TARGET='web' */}
|
||||
{__('Create a new account or sign in.')}
|
||||
{/* @endif */}
|
||||
{/* @if TARGET='app' */}
|
||||
{__('An account with lbry.tv allows you to earn rewards and backup your data.')}
|
||||
{/* @endif */}
|
||||
</p>
|
||||
<Form onSubmit={handleSubmit} className="section__body">
|
||||
<FormField
|
||||
autoFocus
|
||||
|
@ -49,7 +56,7 @@ function UserEmailNew(props: Props) {
|
|||
name="sync_checkbox"
|
||||
label={
|
||||
<React.Fragment>
|
||||
{__('Sync balance and preferences across devices.')}{' '}
|
||||
{__('Backup your account and wallet data.')}{' '}
|
||||
<Button button="link" href="https://lbry.com/faq/account-sync" label={__('Learn More')} />
|
||||
</React.Fragment>
|
||||
}
|
||||
|
|
|
@ -142,7 +142,7 @@ class FilePage extends React.Component<Props> {
|
|||
{__(
|
||||
'The publisher has chosen to charge LBC to view this content. Your balance is currently too low to view it.'
|
||||
)}{' '}
|
||||
{__('Checkout')} <Button button="link" navigate="/$/rewards" label={__('the rewards page')} />{' '}
|
||||
{__('Check out')} <Button button="link" navigate="/$/rewards" label={__('the rewards page')} />{' '}
|
||||
{__('or send more LBC to your wallet.')}
|
||||
</div>
|
||||
)}
|
||||
|
|
|
@ -4,8 +4,7 @@ import PublishForm from 'component/publishForm';
|
|||
import Page from 'component/page';
|
||||
import Yrbl from 'component/yrbl';
|
||||
import LbcSymbol from 'component/common/lbc-symbol';
|
||||
import CreditAmount from 'component/common/credit-amount';
|
||||
import Button from 'component/button';
|
||||
import RewardAuthIntro from 'component/rewardAuthIntro';
|
||||
|
||||
type Props = {
|
||||
balance: number,
|
||||
|
@ -13,8 +12,7 @@ type Props = {
|
|||
};
|
||||
|
||||
function PublishPage(props: Props) {
|
||||
const { balance, totalRewardValue } = props;
|
||||
const totalRewardRounded = Math.floor(totalRewardValue / 10) * 10;
|
||||
const { balance } = props;
|
||||
|
||||
function scrollToTop() {
|
||||
const mainContent = document.querySelector('main');
|
||||
|
@ -50,17 +48,7 @@ function PublishPage(props: Props) {
|
|||
</Fragment>
|
||||
}
|
||||
/>
|
||||
<section className="card card--section">
|
||||
<h1 className="card__title">{__('LBRY Credits Required')}</h1>
|
||||
<p className="card__subtitle">
|
||||
{__(' There are a variety of ways to get credits, including more than')}{' '}
|
||||
<CreditAmount inheritStyle amount={totalRewardRounded} />{' '}
|
||||
{__('in free rewards for participating in the LBRY beta.')}
|
||||
</p>
|
||||
<div className="card__actions">
|
||||
<Button button="link" navigate="/$/rewards" label={__('Checkout the rewards')} />
|
||||
</div>
|
||||
</section>
|
||||
<RewardAuthIntro />
|
||||
</Fragment>
|
||||
)}
|
||||
<PublishForm scrollToTop={scrollToTop} disabled={balance === 0} />
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
// @flow
|
||||
import * as PAGES from 'constants/pages';
|
||||
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 Card from 'component/common/card';
|
||||
import classnames from 'classnames';
|
||||
import { rewards as REWARD_TYPES } from 'lbryinc';
|
||||
import RewardAuthIntro from 'component/rewardAuthIntro';
|
||||
|
||||
type Props = {
|
||||
doAuth: () => void,
|
||||
|
@ -38,21 +37,7 @@ class RewardsPage extends PureComponent<Props> {
|
|||
|
||||
if (user && !user.is_reward_approved && rewardsEnabled) {
|
||||
if (!user.primary_email || !user.has_verified_email || !user.is_identity_verified) {
|
||||
return (
|
||||
<Card
|
||||
title={__('Sign In To Unlock Rewards')}
|
||||
subtitle={__(
|
||||
'This is optional. You can continue to use this app without rewards, but LBC may be needed for some tasks.'
|
||||
)}
|
||||
actions={
|
||||
<Button
|
||||
navigate={`/$/${PAGES.AUTH}?redirect=/$/${PAGES.REWARDS}`}
|
||||
button="primary"
|
||||
label={__('Unlock Rewards')}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
);
|
||||
return <RewardAuthIntro />;
|
||||
}
|
||||
return (
|
||||
<section className="card card--section">
|
||||
|
|
|
@ -57,6 +57,7 @@
|
|||
}
|
||||
|
||||
.section__subtitle {
|
||||
font-size: var(--font-body);
|
||||
color: $lbry-gray-5;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,9 @@ h6 {
|
|||
|
||||
p {
|
||||
font-size: var(--font-body);
|
||||
&:not(:last-child) {
|
||||
margin-bottom: var(--spacing-small);
|
||||
}
|
||||
}
|
||||
|
||||
ul,
|
||||
|
|
|
@ -4504,6 +4504,11 @@ eslint-plugin-react@^7.7.0:
|
|||
prop-types "^15.7.2"
|
||||
resolve "^1.10.1"
|
||||
|
||||
eslint-plugin-standard@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz#ff0519f7ffaff114f76d1bd7c3996eef0f6e20b4"
|
||||
integrity sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==
|
||||
|
||||
eslint-scope@3.7.1:
|
||||
version "3.7.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
|
||||
|
|
Loading…
Add table
Reference in a new issue