import moment from 'moment'; import * as React from 'react'; import { Component, Text, View } from 'reactxp'; import { pgettext } from '../../shared/gettext'; 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 pgettext('account-nav', 'Settings')} {pgettext('account-view', 'Account')} {pgettext('account-view', 'Account ID')} Paid until {pgettext('account-view', 'Buy more credit')} {pgettext('account-view', 'Log out')} ); } } function FormattedAccountExpiry(props: { expiry?: string; locale: string }) { if (!props.expiry) { return ( {pgettext('account-view', 'Currently unavailable')} ); } const expiry = moment(props.expiry); if (expiry.isSameOrBefore(moment())) { return ( {pgettext('account-view', 'OUT OF TIME')} ); } const formatOptions = { day: 'numeric', month: 'long', year: 'numeric', hour: 'numeric', minute: 'numeric', }; return ( {expiry.toDate().toLocaleString(props.locale, formatOptions)} ); }