import * as React from 'react'; import AccountExpiry from '../../shared/account-expiry'; import { messages } from '../../shared/gettext'; import styles, { AccountContainer, AccountFooter, AccountOutOfTime, AccountRow, AccountRowLabel, AccountRowValue, StyledContainer, } from './AccountStyles'; import AccountTokenLabel from './AccountTokenLabel'; import * as AppButton from './AppButton'; import { Layout } from './Layout'; import { ModalContainer } from './Modal'; import { BackBarItem, NavigationBar, NavigationItems } from './NavigationBar'; import { RedeemVoucherButton } from './RedeemVoucher'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; import { AccountToken } from '../../shared/daemon-rpc-types'; interface IProps { accountToken?: AccountToken; accountExpiry?: string; expiryLocale: string; isOffline: boolean; onLogout: () => void; onClose: () => void; onBuyMore: () => Promise; } export default class Account extends React.Component { public render() { return ( { // TRANSLATORS: Back button in navigation bar messages.pgettext('navigation-bar', 'Settings') } {messages.pgettext('account-view', 'Account')} {messages.pgettext('account-view', 'Account number')} {messages.pgettext('account-view', 'Paid until')} {messages.gettext('Buy more credit')} {messages.pgettext('account-view', 'Log out')} ); } } function FormattedAccountExpiry(props: { expiry?: string; locale: string }) { if (props.expiry) { const expiry = new AccountExpiry(props.expiry, props.locale); if (expiry.hasExpired()) { return ( {messages.pgettext('account-view', 'OUT OF TIME')} ); } else { return {expiry.formattedDate()}; } } else { return ( {messages.pgettext('account-view', 'Currently unavailable')} ); } }