// @flow
import moment from 'moment';
import React from 'react';
import { Component, Text, View } from 'reactxp';
import { Button } from './styled';
import { Layout, Container, Header } from './Layout';
import CustomScrollbars from './CustomScrollbars';
import styles from './SettingsStyles';
import Img from './Img';
import type { AccountReduxState } from '../redux/account/reducers';
import type { SettingsReduxState } from '../redux/settings/reducers';
export type SettingsProps = {
account: AccountReduxState,
settings: SettingsReduxState,
onQuit: () => void,
onClose: () => void,
onViewAccount: () => void,
onViewSupport: () => void,
onViewPreferences: () => void,
onViewAdvancedSettings: () => void,
onExternalLink: (type: string) => void
};
export default class Settings extends Component {
props: SettingsProps;
render() {
return (
Settings
{ this._renderTopButtons() }
{ this._renderBottomButtons() }
{ this._renderQuitButton() }
);
}
_renderTopButtons() {
const isLoggedIn = this.props.account.status === 'ok';
if (!isLoggedIn) {
return null;
}
let isOutOfTime = false, formattedExpiry = '';
let expiryIso = this.props.account.expiry;
if(isLoggedIn && expiryIso) {
let expiry = moment(this.props.account.expiry);
isOutOfTime = expiry.isSameOrBefore(moment());
formattedExpiry = (expiry.fromNow(true) + ' left').toUpperCase();
}
return
Preferences
Advanced
;
}
_renderBottomButtons() {
return
FAQs
Guides
Contact support
;
}
_renderQuitButton() {
return
;
}
}
function ButtonCell(props) {
const { children, ...rest } = props;
return ;
}