// @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'; import I18nMessage from 'component/i18nMessage'; type Props = { balance: number, totalBalance: number, claimsBalance: number, supportsBalance: number, tipsBalance: number, doOpenModal: string => void, hasSynced: boolean, doFetchUtxoCounts: () => void, doUtxoConsolidate: () => void, fetchingUtxoCounts: boolean, consolidatingUtxos: boolean, utxoCounts: { [string]: number }, pendingUtxoConsolidating: Array, }; const WALLET_CONSOLIDATE_UTXOS = 400; const LARGE_WALLET_BALANCE = 100; const WalletBalance = (props: Props) => { const { balance, claimsBalance, supportsBalance, tipsBalance, doOpenModal, hasSynced, pendingUtxoConsolidating, doUtxoConsolidate, doFetchUtxoCounts, consolidatingUtxos, utxoCounts, } = props; const { other: otherCount = 0 } = utxoCounts || {}; React.useEffect(() => { if (balance > LARGE_WALLET_BALANCE) { doFetchUtxoCounts(); } }, [doFetchUtxoCounts, balance]); return (
} subtitle={__('Available Balance')} actions={ <>
{(otherCount > WALLET_CONSOLIDATE_UTXOS || pendingUtxoConsolidating.length || consolidatingUtxos) && (

doUtxoConsolidate()} disabled={pendingUtxoConsolidating.length || consolidatingUtxos} label={ pendingUtxoConsolidating.length || consolidatingUtxos ? __('Consolidating') : __('Consolidate Now') } /> ), help: , }} > Your wallet has a lot of change lying around. Consolidating will speed up your transactions. This could take some time. %now%%help%

)} } />
{/* @if TARGET='app' */} {hasSynced ? (

{__('A backup of your wallet is synced with lbry.tv.')}

) : (

{__( 'Your wallet is not currently synced with lbry.tv. You are in control of backing up your wallet.' )}

)} {/* @endif */}

{' '} {__('earned and bound in tips')}

{' '} {__('currently staked')}

{__('... in your publishes')}
{__('... in your supports')}
); }; export default WalletBalance;