config file loading and saving

This commit is contained in:
2024-06-03 16:32:05 +02:00
parent 57ece16e14
commit c4cc2170f5
7 changed files with 149 additions and 52 deletions
+2 -2
View File
@@ -3,7 +3,7 @@ class Config {
constructor() {
this.config = {
"url": "https://www.tooloop.de",
"allowedDomains": [
"whitelist": [
"tooloop.de",
"www.tooloop.de"
],
@@ -15,7 +15,7 @@ class Config {
let config = {
"url": "https://www.tooloop.de",
"allowedDomains": [
"whitelist": [
"tooloop.de",
"www.tooloop.de"
],
+7
View File
@@ -0,0 +1,7 @@
const { contextBridge, ipcRenderer } = require('electron/renderer')
contextBridge.exposeInMainWorld('electronAPI', {
save: (configData) => ipcRenderer.send('save-config', configData),
cancel: () => ipcRenderer.send('cancel-config'),
onUpdate: (callback) => ipcRenderer.on('update-config', (_event, configData) => callback(configData))
});
+35
View File
@@ -0,0 +1,35 @@
const urlField = document.getElementById('url');
const whitelistField = document.getElementById('whitelist');
const logPathField = document.getElementById('logpath');
const saveButton = document.getElementById('save');
const cancelButton = document.getElementById('cancel');
saveButton.addEventListener('click', () => {
let configData = {
url: "",
whitelist: [],
logPath: "",
};
configData.url = urlField.value;
configData.logPath = logPathField.value;
configData.whitelist = whitelistField.value;
window.electronAPI.save(configData);
})
cancelButton.addEventListener('click', () => { window.electronAPI.cancel() });
window.electronAPI.onUpdate((configData) => {
urlField.value = configData.url;
let whitelist = "";
configData.whitelist.forEach(item => {
whitelist += item + ";\n";
});
whitelistField.value = whitelist;
logPathField.value = configData.logPath;
});
document.addEventListener('keyup', (event) => {
if (event.code == 'Escape') window.electronAPI.cancel();
});