// @TODO: Customize advice based on OS import React from 'react'; import { shell } from 'electron'; import { Lbry } from 'lbry-redux'; import Native from 'native'; import Button from 'component/button'; import BusyIndicator from 'component/common/busy-indicator'; import Page from 'component/page'; import * as icons from 'constants/icons'; type Props = { deamonSettings: { data_dir: ?string, }, }; class HelpPage extends React.PureComponent { constructor(props) { super(props); this.state = { versionInfo: null, lbryId: null, uiVersion: null, upgradeAvailable: null, accessTokenHidden: true, }; this.showAccessToken = this.showAccessToken.bind(this); } componentDidMount() { Native.getAppVersionInfo().then(({ remoteVersion, localVersion, upgradeAvailable }) => { this.setState({ uiVersion: localVersion, upgradeAvailable, }); }); Lbry.version().then(info => { this.setState({ versionInfo: info, }); }); Lbry.status({ session_status: true }).then(info => { this.setState({ lbryId: info.lbry_id, }); }); if (!this.props.accessToken) this.props.fetchAccessToken(); } showAccessToken() { this.setState({ accessTokenHidden: false, }); } render() { let ver; let osName; let platform; let newVerLink; const { accessToken, doAuth, user, deamonSettings } = this.props; const { data_dir: dataDirectory } = deamonSettings; if (this.state.versionInfo) { ver = this.state.versionInfo; if (ver.os_system === 'Darwin') { osName = parseInt(ver.os_release.match(/^\d+/), 10) < 16 ? 'Mac OS X' : 'Mac OS'; platform = `${osName} ${ver.os_release}`; newVerLink = 'https://lbry.io/get/lbry.dmg'; } else if (ver.os_system === 'Linux') { platform = `Linux (${ver.platform})`; newVerLink = 'https://lbry.io/get/lbry.deb'; } else { platform = `Windows (${ver.platform})`; newVerLink = 'https://lbry.io/get/lbry.msi'; } } else { ver = null; } return (
{__('Read the FAQ')}

{__('Our FAQ answers many common questions.')}

{__('Get Live Help')}

{__('Live help is available most hours in the')} #help{' '} {__('channel of our Discord chat room.')}

{__('View your Log')}

{__( 'Do you find something wrong? Have a look in your log, or send your log to support for some help.' )}

{__('Report a Bug or Suggest a New Feature')}

{__('Did you find something wrong? Think LBRY could add something useful and cool?')}

{__('Thanks! LBRY is made by its users.')}
{__('About')}
{this.state.upgradeAvailable !== null && this.state.upgradeAvailable ? (
{__('A newer version of LBRY is available.')}{' '}
) : (
{__('Your LBRY app is up to date.')}
)} {this.state.uiVersion && ver ? (
{__('App')} {this.state.uiVersion}
{__('Daemon (lbrynet)')} {ver.lbrynet_version}
{__('Wallet (lbryum)')} {ver.lbryum_version}
{__('Connected Email')} {user && user.primary_email ? ( user.primary_email ) : ( {__('none')}
{__('Reward Eligible')} {user && user.is_reward_approved ? __('Yes') : __('No')}
{__('Platform')} {platform}
{__('Installation ID')} {this.state.lbryId}
{__('Access Token')} {this.state.accessTokenHidden && (
) : ( )}
); } } export default HelpPage;