import * as React from 'react'; import { Component, Text, View } from 'reactxp'; import { messages } from '../../shared/gettext'; import AccountExpiry from '../lib/account-expiry'; import styles from './AccountStyles'; import * as AppButton from './AppButton'; import ClipboardLabel from './ClipboardLabel'; import { Container, Layout } from './Layout'; import { BackBarItem, NavigationBar } from './NavigationBar'; 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: () => void; } export default class Account extends Component { public render() { return ( {// TRANSLATORS: Back button in navigation bar messages.pgettext('account-nav', 'Settings')} {messages.pgettext('account-view', 'Account')} {messages.pgettext('account-view', 'Account ID')} {messages.pgettext('account-view', 'Paid until')} {messages.pgettext('account-view', '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')} ); } }