From f855cbb78a0fb15c81f93efff137c913e0b58011 Mon Sep 17 00:00:00 2001 From: NoobishSVK Date: Sun, 24 Mar 2024 18:24:19 +0100 Subject: [PATCH] backgrounds, new banlist, bugfixes, presets --- package.json | 2 +- server/datahandler.js | 4 +- server/endpoints.js | 10 ++- server/index.js | 4 +- web/css/dropdown.css | 8 +++ web/css/main.css | 3 +- web/index.ejs | 121 ++++++++++++++++++++++++++++++++---- web/js/confighandler.js | 57 +++++++++++++++-- web/js/dropdown.js | 17 +++-- web/js/init.js | 1 + web/js/main.js | 3 +- web/js/settings.js | 14 ++++- web/js/setup.js | 7 +++ web/setup.ejs | 133 ++++++++++++++++++++++++++++++---------- 14 files changed, 318 insertions(+), 66 deletions(-) diff --git a/package.json b/package.json index 363000e..e76380a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fm-dx-webserver", - "version": "1.1.6", + "version": "1.1.7", "description": "", "main": "index.js", "scripts": { diff --git a/server/datahandler.js b/server/datahandler.js index 6ca82a8..79656d0 100644 --- a/server/datahandler.js +++ b/server/datahandler.js @@ -209,6 +209,7 @@ var dataToSend = { previousFreq: 87.500.toFixed(3), signal: 0, highestSignal: -Infinity, + bw: 0, st: false, st_forced: false, rds: false, @@ -299,7 +300,8 @@ function handleData(ws, receivedData) { } break; case receivedLine.startsWith('W'): // Bandwidth - console.log(receivedLine); + initialData.bw = receivedLine.substring(1); + dataToSend.bw = receivedLine.substring(1); break; case receivedLine.startsWith('Sm'): processSignal(receivedLine, false, false); diff --git a/server/endpoints.js b/server/endpoints.js index e3e27f4..95602e0 100644 --- a/server/endpoints.js +++ b/server/endpoints.js @@ -16,6 +16,11 @@ const fmdxList = require('./fmdx_list'); // Endpoints router.get('/', (req, res) => { + if(serverConfig.webserver.banlist.includes(req.connection.remoteAddress)) { + res.render('403'); + return; + } + if (configExists() === false) { let serialPorts; @@ -45,7 +50,7 @@ router.get('/', (req, res) => { tunerLock: serverConfig.lockToAdmin, publicTuner: serverConfig.publicTuner, ownerContact: serverConfig.identification.contact, - antennaSwitch: serverConfig.antennaSwitch, + antennas: serverConfig.antennas ? serverConfig.antennas : {}, tuningLimit: serverConfig.webserver.tuningLimit, tuningLowerLimit: serverConfig.webserver.tuningLowerLimit, tuningUpperLimit: serverConfig.webserver.tuningUpperLimit, @@ -204,7 +209,8 @@ router.get('/static_data', (req, res) => { qthLatitude: serverConfig.identification.lat, qthLongitude: serverConfig.identification.lon, presets: serverConfig.webserver.presets || [], - defaultTheme: serverConfig.webserver.defaultTheme || 'theme1' + defaultTheme: serverConfig.webserver.defaultTheme || 'theme1', + bgImage: serverConfig.webserver.bgImage || '' }); }); diff --git a/server/index.js b/server/index.js index f7d80fd..4b7740b 100644 --- a/server/index.js +++ b/server/index.js @@ -72,7 +72,7 @@ function connectToSerial() { serialport.write('x\n'); serialport.write('W0\n'); serialport.write('M0\n'); - serialport.write('Y100\n'); + serverConfig.audio.startupVolume ? serialport.write('Y' + (serverConfig.audio.startupVolume * 100).toFixed(0) + '\n') : serialport.write('Y100\n'); serialport.write('D0\n'); serialport.write('A0\n'); serialport.write('F-1\n'); @@ -162,7 +162,7 @@ function connectToXdrd() { client.write('x\n'); client.write(serverConfig.defaultFreq ? 'T' + Math.round(serverConfig.defaultFreq * 1000) + '\n' : 'T87500\n'); client.write('A0\n'); - client.write('G00\n'); + client.write(serverConfig.audio.startupVolume ? 'Y' + (serverConfig.audio.startupVolume * 100).toFixed(0) + '\n' : 'Y100\n'); client.off('data', authDataHandler); return; } diff --git a/web/css/dropdown.css b/web/css/dropdown.css index 6b8a7a6..0ef4c66 100644 --- a/web/css/dropdown.css +++ b/web/css/dropdown.css @@ -59,7 +59,15 @@ border: 1px solid var(--color-4); position: relative; z-index: 999; + max-height: 400px; + overflow-y: auto; } + + .dropdown .options.open-top { + transform: initial; + bottom: 100%; + } + .dropdown .options .option { color: var(--color-4); padding: 7px; diff --git a/web/css/main.css b/web/css/main.css index 29de039..10db0f4 100644 --- a/web/css/main.css +++ b/web/css/main.css @@ -45,7 +45,8 @@ body { font-family: 'Titillium Web', sans-serif; color: var(--color-text); - background-color: var(--color-main); + background: var(--color-main); + background-blend-mode: multiply; transition: 0.3s ease-in-out background-color; margin: 0 auto; } diff --git a/web/index.ejs b/web/index.ejs index 03d4ea6..725c8b6 100644 --- a/web/index.ejs +++ b/web/index.ejs @@ -133,23 +133,23 @@ - <% if (antennaSwitch) { %> -
+ +
+ + +

+ +

Startup Volume

+ +
+
+ +
+

asdf

+