// @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'; import Card from 'component/common/card'; import LbcSymbol from 'component/common/lbc-symbol'; type Props = { balance: number, totalBalance: number, claimsBalance: number, supportsBalance: number, tipsBalance: number, doOpenModal: string => void, hasSynced: boolean, }; const WalletBalance = (props: Props) => { const { balance, claimsBalance, supportsBalance, tipsBalance, doOpenModal, hasSynced } = props; return ( <React.Fragment> <section className="columns"> <Card title={<LbcSymbol postfix={balance} isTitle />} subtitle={__('Available Balance')} actions={ <div className="section__actions"> <Button button="primary" label={__('Buy')} icon={ICONS.BUY} navigate={`/$/${PAGES.BUY}`} /> <Button button="secondary" label={__('Receive')} icon={ICONS.RECEIVE} onClick={() => doOpenModal(MODALS.WALLET_RECEIVE)} /> <Button button="secondary" label={__('Send')} icon={ICONS.SEND} onClick={() => doOpenModal(MODALS.WALLET_SEND)} /> </div> } /> <div> <React.Fragment> {/* @if TARGET='app' */} {hasSynced ? ( <div className="section"> <div className="section__flex"> <Icon sectionIcon 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 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 className="section"> <div className="section__flex"> <Icon sectionIcon icon={ICONS.SUPPORT} /> <h2 className="section__title--small"> <strong> <CreditAmount amount={tipsBalance} precision={8} /> </strong>{' '} {__('earned and bound in tips')} </h2> </div> </div> <div className="section"> <div className="section__flex"> <Icon sectionIcon icon={ICONS.LOCK} /> <div> <h2 className="section__title--small"> <strong> <CreditAmount amount={claimsBalance + supportsBalance} precision={8} /> </strong>{' '} {__('currently staked')} </h2> <div className="section__subtitle"> <dl> <dt>{__('... in your publishes')}</dt> <dd> <CreditAmount amount={claimsBalance} precision={8} /> </dd> <dt>{__('... in your supports')}</dt> <dd> <CreditAmount amount={supportsBalance} precision={8} /> </dd> </dl> </div> </div> </div> </div> </React.Fragment> </div> </section> </React.Fragment> ); }; export default WalletBalance;