From a3142713f77f660a743a645155dfdc45ede646ef Mon Sep 17 00:00:00 2001 From: Zhongyi Tong Date: Sun, 20 Aug 2017 16:35:39 -0400 Subject: [PATCH] Initialize setting section for proxy. --- app/renderer/css/preference.css | 16 +++++- app/renderer/js/pages/preference/nav.js | 2 +- .../js/pages/preference/network-section.js | 56 +++++++++++++++++++ .../js/pages/preference/new-server-form.js | 2 +- .../js/pages/preference/preference.js | 7 +++ 5 files changed, 78 insertions(+), 5 deletions(-) create mode 100644 app/renderer/js/pages/preference/network-section.js diff --git a/app/renderer/css/preference.css b/app/renderer/css/preference.css index 26e39935..cac90be3 100644 --- a/app/renderer/css/preference.css +++ b/app/renderer/css/preference.css @@ -129,7 +129,17 @@ img.server-info-icon { cursor: pointer; } -.server-info-url { +.setting-input-key { + font-size: 14px; + height: 27px; + line-height: 27px; + font-weight: bold; + background: transparent; + flex-wrap: nowrap; + margin-right: 10px; +} + +.setting-input-value { flex-grow: 1; font-size: 14px; height: 24px; @@ -140,8 +150,8 @@ img.server-info-icon { max-width: 500px; } -.server-info-value:focus { - border-bottom: #388E3C 1px solid; +.setting-input-value:focus { + border-bottom: #7cb980 1px solid; } .actions-container { diff --git a/app/renderer/js/pages/preference/nav.js b/app/renderer/js/pages/preference/nav.js index 0dbc2d5c..d4be12e6 100644 --- a/app/renderer/js/pages/preference/nav.js +++ b/app/renderer/js/pages/preference/nav.js @@ -8,7 +8,7 @@ class PreferenceNav extends BaseComponent { this.props = props; - this.navItems = ['General', 'Servers']; + this.navItems = ['General', 'Network', 'Servers']; this.init(); } diff --git a/app/renderer/js/pages/preference/network-section.js b/app/renderer/js/pages/preference/network-section.js new file mode 100644 index 00000000..3cb53ac1 --- /dev/null +++ b/app/renderer/js/pages/preference/network-section.js @@ -0,0 +1,56 @@ +'use strict'; + +const BaseSection = require(__dirname + '/base-section.js'); +const ConfigUtil = require(__dirname + '/../../utils/config-util.js'); + +class NetworkSection extends BaseSection { + constructor(props) { + super(); + this.props = props; + } + + template() { + return ` +
+
Proxy
+
+
+
Connect servers through a proxy (requires reload)
+
+
+ + + +
+
+ `; + } + + init() { + this.props.$root.innerHTML = this.template(); + this.updateTrayOption(); + } + + updateTrayOption() { + this.generateSettingOption({ + $element: document.querySelector('#use-proxy-option .setting-control'), + value: ConfigUtil.getConfigItem('useProxy', true), + clickHandler: () => { + const newValue = !ConfigUtil.getConfigItem('useProxy'); + ConfigUtil.setConfigItem('useProxy', newValue); + this.updateTrayOption(); + } + }); + } +} + +module.exports = NetworkSection; diff --git a/app/renderer/js/pages/preference/new-server-form.js b/app/renderer/js/pages/preference/new-server-form.js index efd0c988..36be1b78 100644 --- a/app/renderer/js/pages/preference/new-server-form.js +++ b/app/renderer/js/pages/preference/new-server-form.js @@ -14,7 +14,7 @@ class NewServerForm extends BaseComponent {
- +
diff --git a/app/renderer/js/pages/preference/preference.js b/app/renderer/js/pages/preference/preference.js index a0d8a1a1..18b884a4 100644 --- a/app/renderer/js/pages/preference/preference.js +++ b/app/renderer/js/pages/preference/preference.js @@ -6,6 +6,7 @@ const {ipcRenderer} = require('electron'); const Nav = require(__dirname + '/js/pages/preference/nav.js'); const ServersSection = require(__dirname + '/js/pages/preference/servers-section.js'); const GeneralSection = require(__dirname + '/js/pages/preference/general-section.js'); +const NetworkSection = require(__dirname + '/js/pages/preference/network-section.js'); class PreferenceView extends BaseComponent { constructor() { @@ -49,6 +50,12 @@ class PreferenceView extends BaseComponent { }); break; } + case 'Network': { + this.section = new NetworkSection({ + $root: this.$settingsContainer + }); + break; + } default: break; } this.section.init();