add wallet sync message on wallet page
This commit is contained in:
parent
dc38c8f809
commit
00485532d5
8 changed files with 59 additions and 8 deletions
|
@ -962,5 +962,10 @@
|
|||
"Sign in with lbry.tv to receive notifications about new content.": "Sign in with lbry.tv to receive notifications about new content.",
|
||||
"Find new channels to follow": "Find new channels to follow",
|
||||
"You aren't currently following any channels. %discover_channels_link%.": "You aren't currently following any channels. %discover_channels_link%.",
|
||||
"LBRY Works Better If You Are Following Channels": "LBRY Works Better If You Are Following Channels"
|
||||
"LBRY Works Better If You Are Following Channels": "LBRY Works Better If You Are Following Channels",
|
||||
"Your wallet is not currently synced with lbry.tv. You are in control of backing up your wallet.": "Your wallet is not currently synced with lbry.tv. You are in control of backing up your wallet.",
|
||||
"A copy of your wallet is synced to lbry.tv": "A copy of your wallet is synced to lbry.tv",
|
||||
"Saved zip archive to %outputPath%": "Saved zip archive to %outputPath%",
|
||||
"A backup of your wallet is synced with lbry.tv": "A backup of your wallet is synced with lbry.tv",
|
||||
"A backup of your wallet is synced with lbry.tv.": "A backup of your wallet is synced with lbry.tv."
|
||||
}
|
|
@ -4,10 +4,11 @@ import React from 'react';
|
|||
import Button from 'component/button';
|
||||
|
||||
type Props = {
|
||||
href: string,
|
||||
href?: string,
|
||||
navigate?: string,
|
||||
};
|
||||
|
||||
export default function HelpLink(props: Props) {
|
||||
const { href } = props;
|
||||
return <Button className="icon--help" icon={ICONS.HELP} description={__('Help')} href={href} />;
|
||||
const { href, navigate } = props;
|
||||
return <Button className="icon--help" icon={ICONS.HELP} description={__('Help')} href={href} navigate={navigate} />;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import React, { useEffect } from 'react';
|
|||
import { Route, Redirect, Switch, withRouter } from 'react-router-dom';
|
||||
import SettingsPage from 'page/settings';
|
||||
import HelpPage from 'page/help';
|
||||
import BackupPage from 'page/backup';
|
||||
import ReportPage from 'page/report';
|
||||
import ShowPage from 'page/show';
|
||||
import PublishPage from 'page/publish';
|
||||
|
@ -144,6 +145,7 @@ function AppRouter(props: Props) {
|
|||
/>
|
||||
<Route path={`/$/${PAGES.CHANNELS_FOLLOWING_DISCOVER}`} exact component={ChannelsFollowingDiscoverPage} />
|
||||
<Route path={`/$/${PAGES.HELP}`} exact component={HelpPage} />
|
||||
<Route path={`/$/${PAGES.BACKUP}`} exact component={BackupPage} />
|
||||
<Route path={`/$/${PAGES.AUTH_VERIFY}`} exact component={SignInVerifyPage} />
|
||||
<Route path={`/$/${PAGES.SEARCH}`} exact component={SearchPage} />
|
||||
<Route path={`/$/${PAGES.TOP}`} exact component={TopPage} />
|
||||
|
|
|
@ -7,7 +7,7 @@ import {
|
|||
selectTipsBalance,
|
||||
} from 'lbry-redux';
|
||||
import { doOpenModal } from 'redux/actions/app';
|
||||
import { selectClaimedRewards } from 'lbryinc';
|
||||
import { selectClaimedRewards, selectSyncHash } from 'lbryinc';
|
||||
import WalletBalance from './view';
|
||||
|
||||
const select = state => ({
|
||||
|
@ -17,6 +17,7 @@ const select = state => ({
|
|||
supportsBalance: selectSupportsBalance(state) || 0,
|
||||
tipsBalance: selectTipsBalance(state) || 0,
|
||||
rewards: selectClaimedRewards(state),
|
||||
hasSynced: Boolean(selectSyncHash(state)),
|
||||
});
|
||||
|
||||
export default connect(
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
// @flow
|
||||
import * as ICONS from 'constants/icons';
|
||||
import * as MODALS from 'constants/modal_types';
|
||||
import * as PAGES from 'constants/pages';
|
||||
import React from 'react';
|
||||
import CreditAmount from 'component/common/credit-amount';
|
||||
import Button from 'component/button';
|
||||
import Icon from 'component/common/icon';
|
||||
import HelpLink from 'component/common/help-link';
|
||||
|
||||
type Props = {
|
||||
balance: number,
|
||||
|
@ -13,10 +15,11 @@ type Props = {
|
|||
supportsBalance: number,
|
||||
tipsBalance: number,
|
||||
doOpenModal: string => void,
|
||||
hasSynced: boolean,
|
||||
};
|
||||
|
||||
const WalletBalance = (props: Props) => {
|
||||
const { balance, claimsBalance, supportsBalance, tipsBalance, doOpenModal } = props;
|
||||
const { balance, claimsBalance, supportsBalance, tipsBalance, doOpenModal, hasSynced } = props;
|
||||
|
||||
return (
|
||||
<React.Fragment>
|
||||
|
@ -36,6 +39,31 @@ const WalletBalance = (props: Props) => {
|
|||
onClick={() => doOpenModal(MODALS.WALLET_SEND)}
|
||||
/>
|
||||
</div>
|
||||
{/* @if TARGET='app' */}
|
||||
{hasSynced ? (
|
||||
<div className="section">
|
||||
<div className="section__flex">
|
||||
<Icon sectionIcon iconColor={'blue'} icon={ICONS.LOCK} />
|
||||
<h2 className="section__title--small">
|
||||
{__('A backup of your wallet is synced with lbry.tv.')}
|
||||
<HelpLink href="https://lbry.com/faq/account-sync" />
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<div className="section">
|
||||
<div className="section__flex">
|
||||
<Icon sectionIcon iconColor={'blue'} icon={ICONS.UNLOCK} />
|
||||
<h2 className="section__title--small">
|
||||
{__(
|
||||
'Your wallet is not currently synced with lbry.tv. You are in control of backing up your wallet.'
|
||||
)}
|
||||
<HelpLink navigate={`/$/${PAGES.BACKUP}`} />
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{/* @endif */}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
|
2
ui/page/backup/index.js
Normal file
2
ui/page/backup/index.js
Normal file
|
@ -0,0 +1,2 @@
|
|||
import BackupPage from './view';
|
||||
export default BackupPage;
|
14
ui/page/backup/view.jsx
Normal file
14
ui/page/backup/view.jsx
Normal file
|
@ -0,0 +1,14 @@
|
|||
// @flow
|
||||
import * as React from 'react';
|
||||
import Page from 'component/page';
|
||||
import WalletBackup from 'component/walletBackup';
|
||||
|
||||
function BackupPage() {
|
||||
return (
|
||||
<Page>
|
||||
<WalletBackup />
|
||||
</Page>
|
||||
);
|
||||
}
|
||||
|
||||
export default BackupPage;
|
|
@ -4,7 +4,6 @@ import * as icons from 'constants/icons';
|
|||
import * as React from 'react';
|
||||
// @if TARGET='app'
|
||||
import { shell } from 'electron';
|
||||
import WalletBackup from 'component/walletBackup';
|
||||
// @endif
|
||||
import { Lbry } from 'lbry-redux';
|
||||
import Native from 'native';
|
||||
|
@ -199,7 +198,6 @@ class HelpPage extends React.PureComponent<Props, State> {
|
|||
}
|
||||
/>
|
||||
|
||||
<WalletBackup />
|
||||
{/* @endif */}
|
||||
|
||||
<section className="card">
|
||||
|
|
Loading…
Reference in a new issue