import React from 'react'; import { FormField, FormRow } from 'component/form.js'; import SubHeader from 'component/subHeader'; import lbry from 'lbry.js'; class SettingsPage extends React.Component { constructor(props) { super(props); const daemonSettings = this.props.daemonSettings; this.state = { isMaxUpload: daemonSettings && daemonSettings.max_upload != 0, isMaxDownload: daemonSettings && daemonSettings.max_download != 0, showNsfw: lbry.getClientSetting('showNsfw'), showUnavailable: lbry.getClientSetting('showUnavailable'), language: lbry.getClientSetting('language') }; } setDaemonSetting(name, value) { this.props.setDaemonSetting(name, value); } setClientSetting(name, value) { lbry.setClientSetting(name, value); this._onSettingSaveSuccess(); } onRunOnStartChange(event) { this.setDaemonSetting('run_on_startup', event.target.checked); } onShareDataChange(event) { this.setDaemonSetting('share_usage_data', event.target.checked); } onDownloadDirChange(event) { this.setDaemonSetting('download_directory', event.target.value); } onMaxUploadPrefChange(isLimited) { if (!isLimited) { this.setDaemonSetting('max_upload', 0.0); } this.setState({ isMaxUpload: isLimited }); } onMaxUploadFieldChange(event) { this.setDaemonSetting('max_upload', Number(event.target.value)); } onMaxDownloadPrefChange(isLimited) { if (!isLimited) { this.setDaemonSetting('max_download', 0.0); } this.setState({ isMaxDownload: isLimited }); } onMaxDownloadFieldChange(event) { this.setDaemonSetting('max_download', Number(event.target.value)); } onShowNsfwChange(event) { lbry.setClientSetting('showNsfw', event.target.checked); } // onLanguageChange(language) { // lbry.setClientSetting('language', language); // i18n.setLocale(language); // this.setState({language: language}) // } onShowUnavailableChange(event) {} render() { const { daemonSettings } = this.props; if (!daemonSettings) { return (
{__('Failed to load settings.')}
); } /*

Run on Startup

*/ return (

{__('Download Directory')}

{__('Bandwidth Limits')}

{__('Max Upload')}
{ this.onMaxUploadPrefChange(false); }} defaultChecked={!this.state.isMaxUpload} label={__('Unlimited')} />
{ this.onMaxUploadPrefChange(true); }} defaultChecked={this.state.isMaxUpload} label={ this.state.isMaxUpload ? __('Up to') : __('Choose limit...') } /> {this.state.isMaxUpload ? : ''} {this.state.isMaxUpload ? MB/s : ''}
{__('Max Download')}
{ this.onMaxDownloadPrefChange(false); }} defaultChecked={!this.state.isMaxDownload} />
{ this.onMaxDownloadPrefChange(true); }} defaultChecked={this.state.isMaxDownload} label={ this.state.isMaxDownload ? __('Up to') : __('Choose limit...') } /> {this.state.isMaxDownload ? : ''} {this.state.isMaxDownload ? MB/s : ''}

{__('Content')}

{/*}

{__("Language")}

{ this.onLanguageChange('en') }} defaultChecked={this.state.language=='en'} />
{ this.onLanguageChange('rs') }} defaultChecked={this.state.language=='rs'} />
*/}

{__('Share Diagnostic Data')}

); } } export default SettingsPage;