From f14390f4bbe279e7033934de06650f976b2440e6 Mon Sep 17 00:00:00 2001 From: shockrah Date: Sun, 7 Mar 2021 23:54:57 -0800 Subject: [PATCH] =?UTF-8?q?=E2=9E=95=20Callback=20settings.add=5Fserver=5F?= =?UTF-8?q?to=5Fconfig=20now=20in=20effect=20for=20people=20that=20don't?= =?UTF-8?q?=20want=20to=20fuck=20with=20config=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- freechat-client/src/settings.js | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 freechat-client/src/settings.js diff --git a/freechat-client/src/settings.js b/freechat-client/src/settings.js new file mode 100644 index 0000000..50184ac --- /dev/null +++ b/freechat-client/src/settings.js @@ -0,0 +1,37 @@ +const { ipcRenderer } = require('electron') +const $ = require('jquery') +const auth = require('./auth.js') + +exports.add_server_to_config = async function() { + $('#admin-json-err').text('') + try { + const data = JSON.parse($('#admin-json').val()) + const config = await ipcRenderer.invoke('config-request') + if(!config['servers']) { + config['servers'] = [] + } + config['servers'].push(data) + + await ipcRenderer.invoke('config-update', config, config['path']) + + try { + await auth.login( + data['server']['protocol'], + data['server']['host'], + data['server']['port'], + data['user'] + ) + $('#admni-json-err').text('=|:^)') + } catch(err) { + // probably a bad config that got parsed properly + if(err.name == 'TypeError') { + $('#admin-json-err').text("New server config did not have required JSON values to login but was saved") + } else { + $('#admin-json-err').text("Config parsed but couldn't login") + } + } + } catch(err) { + $('#admin-json-err').text('Failed to setup new config') + console.log(err) + } +}