Browse Source

Cleaning up jsx

all-modes^2
Miika Turunen 8 years ago
parent
commit
9f7a0aecf2
  1. 124
      react/src/components/dashboard/settings/settings.addNodePanel.js
  2. 106
      react/src/components/dashboard/settings/settings.appInfoPanel.js
  3. 42
      react/src/components/dashboard/settings/settings.appSettingsPanel.js
  4. 2
      react/src/components/dashboard/settings/settings.appUpdatePanel.js
  5. 5
      react/src/components/dashboard/settings/settings.cliPanel.js
  6. 130
      react/src/components/dashboard/settings/settings.debugLogPanel.js
  7. 92
      react/src/components/dashboard/settings/settings.exportKeysPanel.js
  8. 6
      react/src/components/dashboard/settings/settings.fiatCurrencyPanel.js
  9. 69
      react/src/components/dashboard/settings/settings.importKeysPanel.js
  10. 2
      react/src/components/dashboard/settings/settings.supportPanel.js
  11. 6
      react/src/components/dashboard/settings/settings.walletBackupPanel.js

124
react/src/components/dashboard/settings/settings.addNodePanel.js

@ -96,75 +96,73 @@ class AddNodePanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body"> <div className="row">
<div className="row"> <div className="col-sm-6">
<div className="col-sm-6"> <div className="col-sm-12">
<div className="col-sm-12"> <p>{ translate('INDEX.USE_THIS_SECTION') }</p>
<p>{ translate('INDEX.USE_THIS_SECTION') }</p> </div>
</div> <div className="col-sm-8 col-xs-12">
<div className="col-sm-8 col-xs-12"> <div className="form-group">
<div className="form-group"> <select
<select className="form-control form-material"
className="form-control form-material" name="getPeersCoin"
name="getPeersCoin" onChange={ this.updateInput }>
onChange={ this.updateInput }> <option>{ translate('INDEX.SELECT_COIN') }</option>
<option>{ translate('INDEX.SELECT_COIN') }</option> <AddCoinOptionsCrypto />
<AddCoinOptionsCrypto /> <AddCoinOptionsAC />
<AddCoinOptionsAC /> <AddCoinOptionsACFiat />
<AddCoinOptionsACFiat /> </select>
</select>
</div>
</div>
<div className="col-sm-4 col-xs-12 text-align-center">
<button
type="button"
className="btn btn-primary waves-effect waves-light"
onClick={ this.checkNodes }>{ translate('INDEX.CHECK_NODES') }</button>
</div>
<div className="col-sm-12">
<h5>
SuperNET Peers:
</h5>
<div>{ this.renderSNPeersList() }</div>
<h5>
Raw Peers:
</h5>
<div>{ this.renderPeersList() }</div>
</div> </div>
</div> </div>
<div className="col-sm-4 col-xs-12 text-align-center">
<button
type="button"
className="btn btn-primary waves-effect waves-light"
onClick={ this.checkNodes }>{ translate('INDEX.CHECK_NODES') }</button>
</div>
<div className="col-sm-12">
<h5>
SuperNET Peers:
</h5>
<div>{ this.renderSNPeersList() }</div>
<h5>
Raw Peers:
</h5>
<div>{ this.renderPeersList() }</div>
</div>
</div>
<div className="col-sm-6"> <div className="col-sm-6">
<div className="col-sm-12"> <div className="col-sm-12">
<p>{ translate('INDEX.USE_THIS_SECTION_PEER') }</p> <p>{ translate('INDEX.USE_THIS_SECTION_PEER') }</p>
</div> </div>
<div className="col-sm-8 col-xs-12"> <div className="col-sm-8 col-xs-12">
<div className="form-group"> <div className="form-group">
<select <select
className="form-control form-material" className="form-control form-material"
name="addNodeCoin" name="addNodeCoin"
onChange={ this.updateInput }> onChange={ this.updateInput }>
<option>{ translate('INDEX.SELECT_COIN') }</option> <option>{ translate('INDEX.SELECT_COIN') }</option>
<AddCoinOptionsCrypto /> <AddCoinOptionsCrypto />
<AddCoinOptionsAC /> <AddCoinOptionsAC />
<AddCoinOptionsACFiat /> <AddCoinOptionsACFiat />
</select> </select>
</div>
<div className="form-group">
<input
type="text"
className="form-control"
name="addPeerIP"
placeholder={ translate('SETTINGS.ADD_PEER_IP') }
onChange={ this.updateInput } />
</div>
</div> </div>
<div className="col-sm-4 col-xs-12 text-align-center"> <div className="form-group">
<button <input
type="button" type="text"
className="btn btn-primary waves-effect waves-light" className="form-control"
onClick={ this.addNode }>{ translate('INDEX.ADD_NODE') }</button> name="addPeerIP"
placeholder={ translate('SETTINGS.ADD_PEER_IP') }
onChange={ this.updateInput } />
</div> </div>
</div> </div>
<div className="col-sm-4 col-xs-12 text-align-center">
<button
type="button"
className="btn btn-primary waves-effect waves-light"
onClick={ this.addNode }>{ translate('INDEX.ADD_NODE') }</button>
</div>
</div> </div>
</div> </div>
); );

106
react/src/components/dashboard/settings/settings.appInfoPanel.js

@ -14,72 +14,48 @@ class AppInfoPanel extends React.Component {
return null return null
} else { } else {
return ( return (
<div className="panel-body"> <div className="row">
<div className="col-sm-12 padding-top-15"> <div className="col-sm-12 padding-top-15">
<div className="row"> <h5>{ translate('SETTINGS.APP_RELEASE') }</h5>
<h5>{ translate('SETTINGS.APP_RELEASE') }</h5> <p>
<div> { translate('SETTINGS.NAME') }: { this.props.Settings.appInfo.releaseInfo.name }
{ translate('SETTINGS.NAME') }: { this.props.Settings.appInfo.releaseInfo.name } <br />
</div> { translate('SETTINGS.VERSION') }: { `${this.props.Settings.appInfo.releaseInfo.version.replace('version=', '')}-beta` }
<div> <br />
{ translate('SETTINGS.VERSION') }: { `${this.props.Settings.appInfo.releaseInfo.version.replace('version=', '')}-beta` } { translate('SETTINGS.APP_SESSION') }: { this.props.Settings.appInfo.appSession }
</div> </p>
<div> <h5>{ translate('SETTINGS.SYS_INFO') }</h5>
{ translate('SETTINGS.APP_SESSION') }: { this.props.Settings.appInfo.appSession } <p>
</div> { translate('SETTINGS.ARCH') }: { this.props.Settings.appInfo.sysInfo.arch }
</div> <br />
</div> { translate('SETTINGS.OS_TYPE') }: { this.props.Settings.appInfo.sysInfo.os_type }
<div className="col-sm-12 padding-top-20"> <br />
<div className="row"> { translate('SETTINGS.OS_PLATFORM') }: { this.props.Settings.appInfo.sysInfo.platform }
<h5>{ translate('SETTINGS.SYS_INFO') }</h5> <br />
<div> { translate('SETTINGS.OS_RELEASE') }: { this.props.Settings.appInfo.sysInfo.os_release }
{ translate('SETTINGS.ARCH') }: { this.props.Settings.appInfo.sysInfo.arch } <br />
</div> { translate('SETTINGS.CPU') }: { this.props.Settings.appInfo.sysInfo.cpu }
<div> <br />
{ translate('SETTINGS.OS_TYPE') }: { this.props.Settings.appInfo.sysInfo.os_type } { translate('SETTINGS.CPU_CORES') }: { this.props.Settings.appInfo.sysInfo.cpu_cores }
</div> <br />
<div> { translate('SETTINGS.MEM') }: { this.props.Settings.appInfo.sysInfo.totalmem_readable }
{ translate('SETTINGS.OS_PLATFORM') }: { this.props.Settings.appInfo.sysInfo.platform } </p>
</div> <h5>{ translate('SETTINGS.LOCATIONS') }</h5>
<div> <p>
{ translate('SETTINGS.OS_RELEASE') }: { this.props.Settings.appInfo.sysInfo.os_release } { translate('SETTINGS.CACHE') }: { this.props.Settings.appInfo.dirs.cacheLocation }
</div> <br />
<div> { translate('SETTINGS.CONFIG') }: { this.props.Settings.appInfo.dirs.configLocation }
{ translate('SETTINGS.CPU') }: { this.props.Settings.appInfo.sysInfo.cpu } <br />
</div> Iguana { translate('SETTINGS.BIN') }: { this.props.Settings.appInfo.dirs.iguanaBin }
<div> <br />
{ translate('SETTINGS.CPU_CORES') }: { this.props.Settings.appInfo.sysInfo.cpu_cores } Iguana { translate('SETTINGS.DIR') }: { this.props.Settings.appInfo.dirs.iguanaDir }
</div> <br />
<div> Komodo { translate('SETTINGS.BIN') }: { this.props.Settings.appInfo.dirs.komododBin }
{ translate('SETTINGS.MEM') }: { this.props.Settings.appInfo.sysInfo.totalmem_readable } <br />
</div> Komodo { translate('SETTINGS.DIR') }: { this.props.Settings.appInfo.dirs.komodoDir }
</div> <br />
</div> Komodo wallet.dat: { this.props.Settings.appInfo.dirs.komodoDir }
<div className="col-sm-12 padding-top-20"> </p>
<div className="row">
<h5>{ translate('SETTINGS.LOCATIONS') }</h5>
<div>
{ translate('SETTINGS.CACHE') }: { this.props.Settings.appInfo.dirs.cacheLocation }
</div>
<div>
{ translate('SETTINGS.CONFIG') }: { this.props.Settings.appInfo.dirs.configLocation }
</div>
<div>
Iguana { translate('SETTINGS.BIN') }: { this.props.Settings.appInfo.dirs.iguanaBin }
</div>
<div>
Iguana { translate('SETTINGS.DIR') }: { this.props.Settings.appInfo.dirs.iguanaDir }
</div>
<div>
Komodo { translate('SETTINGS.BIN') }: { this.props.Settings.appInfo.dirs.komododBin }
</div>
<div>
Komodo { translate('SETTINGS.DIR') }: { this.props.Settings.appInfo.dirs.komodoDir }
</div>
<div>
Komodo wallet.dat: { this.props.Settings.appInfo.dirs.komodoDir }
</div>
</div>
</div> </div>
</div> </div>
); );

42
react/src/components/dashboard/settings/settings.appSettingsPanel.js

@ -283,26 +283,30 @@ class AppSettingsPanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body"> <div>
<p> <div className="row">
<strong>{ translate('SETTINGS.CONFIG_RESTART_REQUIRED') }</strong> <div className="col-sm-12 padding-top-15">
</p> <p>
<div className="col-sm-12 padding-top-15"> <strong>{ translate('SETTINGS.CONFIG_RESTART_REQUIRED') }</strong>
<table> </p>
<tbody> <table>
{ this.renderConfigEditForm() } <tbody>
</tbody> { this.renderConfigEditForm() }
</table> </tbody>
</table>
</div>
</div> </div>
<div className="col-sm-12 col-xs-12 text-align-center padding-top-35 padding-bottom-30"> <div className="row">
<button <div className="col-sm-12 col-xs-12 text-align-center padding-top-35 padding-bottom-30">
type="button" <button
className="btn btn-primary waves-effect waves-light" type="button"
onClick={ this._saveAppConfig }>{ translate('SETTINGS.SAVE_APP_CONFIG') }</button> className="btn btn-primary waves-effect waves-light"
<button onClick={ this._saveAppConfig }>{ translate('SETTINGS.SAVE_APP_CONFIG') }</button>
type="button" <button
className="btn btn-primary waves-effect waves-light margin-left-30" type="button"
onClick={ this._resetAppConfig }>Reset to default</button> className="btn btn-primary waves-effect waves-light margin-left-30"
onClick={ this._resetAppConfig }>Reset to default</button>
</div>
</div> </div>
</div> </div>
); );

2
react/src/components/dashboard/settings/settings.appUpdatePanel.js

@ -107,7 +107,7 @@ class AppUpdatePanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body"> <div className="row">
<div className="col-sm-4 padding-top-15"> <div className="col-sm-4 padding-top-15">
<h5>{ translate('INDEX.UI_UPDATE') }</h5> <h5>{ translate('INDEX.UI_UPDATE') }</h5>
<div className="padding-top-15"> <div className="padding-top-15">

5
react/src/components/dashboard/settings/settings.cliPanel.js

@ -143,9 +143,9 @@ class CliPanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body"> <div className="row">
<div className="col-sm-12">
<p>{ translate('INDEX.CLI_SELECT_A_COIN') }</p> <p>{ translate('INDEX.CLI_SELECT_A_COIN') }</p>
<div className="col-sm-12"></div>
<form <form
className="execute-cli-cmd-form" className="execute-cli-cmd-form"
method="post" method="post"
@ -189,6 +189,7 @@ class CliPanel extends React.Component {
</div> </div>
</div> </div>
</form> </form>
</div>
</div> </div>
); );
}; };

130
react/src/components/dashboard/settings/settings.debugLogPanel.js

@ -102,70 +102,74 @@ class DebugLogPanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body"> <div className="row">
<p>{ translate('INDEX.DEBUG_LOG_DESC') }</p> <div className="col-sm-12">
<div className="margin-top-30"> <p>{ translate('INDEX.DEBUG_LOG_DESC') }</p>
<span className="pointer toggle"> <div className="margin-top-30">
<label className="switch"> <span className="pointer toggle">
<input <label className="switch">
type="checkbox" <input
name="settings-app-debug-toggle" type="checkbox"
value={ this.state.toggleAppRuntimeLog } name="settings-app-debug-toggle"
checked={ this.state.toggleAppRuntimeLog } /> value={ this.state.toggleAppRuntimeLog }
<div checked={ this.state.toggleAppRuntimeLog } />
className="slider" <div
onClick={ this.toggleAppRuntimeLog }></div> className="slider"
</label> onClick={ this.toggleAppRuntimeLog }></div>
<span </label>
className="title" <span
onClick={ this.toggleAppRuntimeLog }>Show app runtime log</span> className="title"
</span> onClick={ this.toggleAppRuntimeLog }>Show app runtime log</span>
</span>
</div>
{ !this.state.toggleAppRuntimeLog &&
<form
className="read-debug-log-import-form"
method="post"
action="javascript:"
autoComplete="off">
<div className="form-group form-material floating">
<input
type="text"
className="form-control"
name="debugLinesCount"
id="readDebugLogLines"
value={ this.state.debugLinesCount }
onChange={ this.updateInput } />
<label
className="floating-label"
htmlFor="readDebugLogLines">{ translate('INDEX.DEBUG_LOG_LINES') }</label>
</div>
<div className="form-group form-material floating">
<select
className="form-control form-material"
name="debugTarget"
id="settingsDelectDebugLogOptions"
onChange={ this.updateInput }>
<option value="iguana" className={ this.state.nativeOnly ? 'hide' : '' }>Iguana</option>
<option value="komodo">Komodo</option>
</select>
<label
className="floating-label"
htmlFor="settingsDelectDebugLogOptions">{ translate('INDEX.TARGET') }</label>
</div>
<div className="col-sm-12 col-xs-12 text-align-center">
<button
type="button"
className="btn btn-primary waves-effect waves-light"
onClick={ this.readDebugLog }>{ translate('INDEX.LOAD_DEBUG_LOG') }</button>
</div>
<div className="row">
<div className="col-sm-12 col-xs-12 text-align-left">
<div className="padding-top-40 padding-bottom-20 horizontal-padding-0">{ this.renderDebugLogData() }</div>
</div>
</div>
</form>
}
{ this.state.toggleAppRuntimeLog &&
<div className="margin-top-20">{ this.renderAppRuntimeLog() }</div>
}
</div> </div>
{ !this.state.toggleAppRuntimeLog &&
<form
className="read-debug-log-import-form"
method="post"
action="javascript:"
autoComplete="off">
<div className="form-group form-material floating">
<input
type="text"
className="form-control"
name="debugLinesCount"
id="readDebugLogLines"
value={ this.state.debugLinesCount }
onChange={ this.updateInput } />
<label
className="floating-label"
htmlFor="readDebugLogLines">{ translate('INDEX.DEBUG_LOG_LINES') }</label>
</div>
<div className="form-group form-material floating">
<select
className="form-control form-material"
name="debugTarget"
id="settingsDelectDebugLogOptions"
onChange={ this.updateInput }>
<option value="iguana" className={ this.state.nativeOnly ? 'hide' : '' }>Iguana</option>
<option value="komodo">Komodo</option>
</select>
<label
className="floating-label"
htmlFor="settingsDelectDebugLogOptions">{ translate('INDEX.TARGET') }</label>
</div>
<div className="col-sm-12 col-xs-12 text-align-center">
<button
type="button"
className="btn btn-primary waves-effect waves-light"
onClick={ this.readDebugLog }>{ translate('INDEX.LOAD_DEBUG_LOG') }</button>
</div>
<div className="col-sm-12 col-xs-12 text-align-left">
<div className="padding-top-40 padding-bottom-20 horizontal-padding-0">{ this.renderDebugLogData() }</div>
</div>
</form>
}
{ this.state.toggleAppRuntimeLog &&
<div className="margin-top-20">{ this.renderAppRuntimeLog() }</div>
}
</div> </div>
); );
}; };

92
react/src/components/dashboard/settings/settings.exportKeysPanel.js

@ -157,53 +157,57 @@ class ExportKeysPanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body"> <div>
<div> <div className="row">
<div className="padding-bottom-20">{ this.renderLB('INDEX.ONLY_ACTIVE_WIF_KEYS') }</div> <div className="col-sm-12">
<div className="padding-bottom-20"> <div className="padding-bottom-20">{ this.renderLB('INDEX.ONLY_ACTIVE_WIF_KEYS') }</div>
<i>{ this.renderLB('SETTINGS.EXPORT_KEYS_NOTE') }</i> <div className="padding-bottom-20">
<i>{ this.renderLB('SETTINGS.EXPORT_KEYS_NOTE') }</i>
</div>
<strong>
<i>{ translate('INDEX.PLEASE_KEEP_KEYS_SAFE') }</i>
</strong>
</div> </div>
<strong>
<i>{ translate('INDEX.PLEASE_KEEP_KEYS_SAFE') }</i>
</strong>
</div> </div>
<div className="col-sm-12"></div> <div className="row">
<form <div className="col-sm-12">
className="wifkeys-form" <form
method="post" className="wifkeys-form"
action="javascript:" method="post"
autoComplete="off"> action="javascript:"
<div className="form-group form-material floating"> autoComplete="off">
<input <div className="form-group form-material floating">
type="password" <input
className={ !this.state.seedInputVisibility ? 'form-control' : 'hide' } type="password"
name="wifkeysPassphrase" className={ !this.state.seedInputVisibility ? 'form-control' : 'hide' }
id="wifkeysPassphrase" name="wifkeysPassphrase"
onChange={ this.updateInput } id="wifkeysPassphrase"
value={ this.state.wifkeysPassphrase } /> onChange={ this.updateInput }
<textarea value={ this.state.wifkeysPassphrase } />
className={ this.state.seedInputVisibility ? 'form-control' : 'hide' } <textarea
id="wifkeysPassphraseTextarea" className={ this.state.seedInputVisibility ? 'form-control' : 'hide' }
name="wifkeysPassphrase" id="wifkeysPassphraseTextarea"
onChange={ this.updateInput } name="wifkeysPassphrase"
value={ this.state.wifkeysPassphrase }></textarea> onChange={ this.updateInput }
<i value={ this.state.wifkeysPassphrase }></textarea>
className={ 'seed-toggle fa fa-eye' + (!this.state.seedInputVisibility ? '-slash' : '') } <i
onClick={ this.toggleSeedInputVisibility }></i> className={ 'seed-toggle fa fa-eye' + (!this.state.seedInputVisibility ? '-slash' : '') }
<label onClick={ this.toggleSeedInputVisibility }></i>
className="floating-label" <label
htmlFor="wifkeysPassphrase">{ translate('INDEX.PASSPHRASE') }</label> className="floating-label"
</div> htmlFor="wifkeysPassphrase">{ translate('INDEX.PASSPHRASE') }</label>
<div className="col-sm-12 col-xs-12 text-align-center"> </div>
<button <div className="col-sm-12 col-xs-12 text-align-center">
type="button" <button
className="btn btn-primary waves-effect waves-light" type="button"
onClick={ this.exportWifKeys }>{ translate('INDEX.GET_WIF_KEYS') }</button> className="btn btn-primary waves-effect waves-light"
onClick={ this.exportWifKeys }>{ translate('INDEX.GET_WIF_KEYS') }</button>
</div>
</form>
</div> </div>
</form> </div>
<div className="row">
<div className="col-sm-12 padding-top-15"> <div className="col-sm-12 padding-top-15">
<div className="row">
<table className="table"> <table className="table">
{ this.renderWifKeys() } { this.renderWifKeys() }
</table> </table>

6
react/src/components/dashboard/settings/settings.fiatCurrencyPanel.js

@ -9,7 +9,11 @@ class FiatCurrencyPanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body">Fiat currency settings section to be updated soon.</div> <div className="row">
<div className="col-sm-12">
<p>Fiat currency settings section to be updated soon.</p>
</div>
</div>
); );
}; };
} }

69
react/src/components/dashboard/settings/settings.importKeysPanel.js

@ -26,39 +26,46 @@ class ImportKeysPanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body"> <div>
<div>{ translate('INDEX.IMPORT_KEYS_DESC_P1') }</div><br/> <div className="row">
<div>{ translate('INDEX.IMPORT_KEYS_DESC_P2') }</div><br/> <div className="col-sm-12">
<div>{ translate('INDEX.IMPORT_KEYS_DESC_P3') }</div><br/> <p>{ translate('INDEX.IMPORT_KEYS_DESC_P1') }</p>
<div> <p>{ translate('INDEX.IMPORT_KEYS_DESC_P2') }</p>
<strong> <p>{ translate('INDEX.IMPORT_KEYS_DESC_P3') }</p>
<i>{ translate('INDEX.PLEASE_KEEP_KEYS_SAFE') }</i> <p>
</strong> <strong>
</div> <i>{ translate('INDEX.PLEASE_KEEP_KEYS_SAFE') }</i>
<div className="col-sm-12"></div> </strong>
<form </p>
className="wifkeys-import-form"
method="post"
action="javascript:"
autoComplete="off">
<div className="form-group form-material floating">
<input
type="text"
className="form-control"
name="importWifKey"
id="importWifkey"
onChange={ this.updateInput } />
<label
className="floating-label"
htmlFor="importWifkey">{ translate('INDEX.INPUT_PRIV_KEY') }</label>
</div> </div>
<div className="col-sm-12 col-xs-12 text-align-center"> </div>
<button <div className="row">
type="button" <div className="col-sm-12">
className="btn btn-primary waves-effect waves-light" <form
onClick={ this.importWifKey }>{ translate('INDEX.IMPORT_PRIV_KEY') }</button> className="wifkeys-import-form"
method="post"
action="javascript:"
autoComplete="off">
<div className="form-group form-material floating">
<input
type="text"
className="form-control"
name="importWifKey"
id="importWifkey"
onChange={ this.updateInput } />
<label
className="floating-label"
htmlFor="importWifkey">{ translate('INDEX.INPUT_PRIV_KEY') }</label>
</div>
<div className="col-sm-12 col-xs-12 text-align-center">
<button
type="button"
className="btn btn-primary waves-effect waves-light"
onClick={ this.importWifKey }>{ translate('INDEX.IMPORT_PRIV_KEY') }</button>
</div>
</form>
</div> </div>
</form> </div>
</div> </div>
); );
} }

2
react/src/components/dashboard/settings/settings.supportPanel.js

@ -27,7 +27,7 @@ class SupportPanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body"> <div className="row">
<div className="col-sm-12 no-padding-left"> <div className="col-sm-12 no-padding-left">
<div className="support-box-wrapper"> <div className="support-box-wrapper">
<div <div

6
react/src/components/dashboard/settings/settings.walletBackupPanel.js

@ -9,7 +9,11 @@ class WalletBackupPanel extends React.Component {
render() { render() {
return ( return (
<div className="panel-body">Wallet Backup section to be updated soon.</div> <div className="row">
<div className="col-sm-12">
<p>Wallet Backup section to be updated soon.</p>
</div>
</div>
); );
}; };
} }

Loading…
Cancel
Save