From 7701377661d2e1934c9b2b1ae6b0314b79d3ae67 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Fri, 12 Feb 2021 15:41:31 +0100 Subject: [PATCH] Now the port for express and the kurisu url can be changed in settings --- common/config.js | 15 +++++++++++++++ instance/index.html | 25 +++++++++++++++++++++++++ instance/main.js | 4 ++++ main.js | 4 +++- 4 files changed, 47 insertions(+), 1 deletion(-) diff --git a/common/config.js b/common/config.js index 18263cb..2a35524 100644 --- a/common/config.js +++ b/common/config.js @@ -2,6 +2,8 @@ const ini = require('ini'), os = require('os'), fs = require('fs'); +const packageConfig = require('../package.json').config; + const __configDir = `${os.homedir()}/.config/lektor`; const __configFile = `${__configDir}/amadeus.ini`; @@ -18,6 +20,7 @@ var config = { loglevel: null, loglektord: null, attachmode: null, + clientport: null, reload() { var fd = fs.openSync(__configFile, 'a'); fs.close(fd, err => {}); @@ -25,8 +28,12 @@ var config = { __config.database ??= {}; __config.lektord ??= {}; + __config.kurisu ??= {}; + __config.client ??= {}; __config.log ??= {}; + __config.kurisu.url ??= packageConfig.kurisu; + __config.client.port ??= packageConfig.port; __config.log.level ??= 'debug'; __config.log.lektord ??= true; __config.database.path ??= '/home/kara/kara.db'; @@ -34,6 +41,8 @@ var config = { __config.lektord.port ??= '6600'; __config.lektord.attach ??= true; + this.clientport = __config.client.port; + this.kurisuurl = __config.kurisu.url; this.database = __config.database.path; this.host = __config.lektord.host; this.port = __config.lektord.port; @@ -47,9 +56,15 @@ var config = { }, flush() { const __config = { + kurisu: { + url: this.kurisuurl, + }, database: { path: this.database, }, + client: { + port: this.clientport, + }, lektord: { host: this.host, port: this.port, diff --git a/instance/index.html b/instance/index.html index bc70f41..8339890 100644 --- a/instance/index.html +++ b/instance/index.html @@ -83,6 +83,16 @@ </div> <hr /> + <h3>Client interface settings</h3> + <p>Express server settings for the client interface.</p> + <div class="form-group row"> + <label for="inputClientPort" class="col-sm-2 col-form-label">Port</label> + <div class="col-sm-10"> + <input type="int" class="form-control" id="inputClientPort" placeholder="3000" /> + </div> + </div> + <hr /> + <h3>Database settings</h3> <p>Which database to use, and other options.</p> <div class="form-group row"> @@ -93,6 +103,21 @@ </div> <hr /> + <h3>Kurisu settings</h3> + <p>Where to find Kurisu.</p> + <div class="form-group row"> + <label for="inputKurisuUrl" class="col-sm-2 col-form-label">URL</label> + <div class="col-sm-10"> + <input + type="text" + class="form-control" + id="inputKurisuUrl" + placeholder="https://kurisu.iiens.net/..." + /> + </div> + </div> + <hr /> + <h3>Log settings</h3> <p>Log options, this is a developper section.</p> <fieldset class="form-group"> diff --git a/instance/main.js b/instance/main.js index 0979dcd..c970288 100644 --- a/instance/main.js +++ b/instance/main.js @@ -45,10 +45,14 @@ function autoFillSettings() { $('#inputDbPath').val(config.database); $('#inputLogLektord').prop('checked', config.loglektord); $(`#log${config.loglevel.toUpperCase()}`).prop('checked', true); + $('#inputKurisuUrl').val(config.kurisuurl); + $('#inputClientPort').val(config.clientport); } function flushFillSettings() { const set = { + kurisuurl: $('#inputKurisuUrl').val(), + clientport: $('#inputClientPort').val(), host: $('#inputHost').val(), port: $('#inputPort').val(), attachmode: $('#inputAttachMode').prop('checked'), diff --git a/main.js b/main.js index e7af4cd..db53eeb 100644 --- a/main.js +++ b/main.js @@ -101,7 +101,7 @@ function createKurisuWindow() { contextIsolation: true, }, }); - kurisu.loadURL(packageConfig.kurisu); + kurisu.loadURL(config.kurisuurl); kurisu.once('ready-to-show', () => { kurisu.show(); }); @@ -295,6 +295,8 @@ ipcMain.on('set-settings', (event, arg) => { config.database = arg.db; config.loglektord = arg.loglektord; config.attachmode = arg.attachmode; + config.kurisuurl = arg.kurisuurl; + config.clientport = arg.clientport; /* prettier-ignore */ config.loglevel = arg.loglevel.ERROR ? 'error' -- GitLab