You've already forked fm-dx-webserver
mirror of
https://github.com/KubaPro010/fm-dx-webserver.git
synced 2026-02-27 06:23:53 +01:00
backgrounds, new banlist, bugfixes, presets
This commit is contained in:
@@ -9,7 +9,19 @@ function submitData() {
|
||||
var themeSelectedValue = $("#selected-theme").val();
|
||||
var themeDataValue = $(".option:contains('" + themeSelectedValue + "')").attr('data-value') || 'theme1';
|
||||
const defaultTheme = themeDataValue;
|
||||
|
||||
const bgImage = $("#bg-image").val() || '';
|
||||
|
||||
const ant1enabled = $('#ant1-enabled').is(":checked") || false;
|
||||
const ant2enabled = $('#ant2-enabled').is(":checked") || false;
|
||||
const ant3enabled = $('#ant3-enabled').is(":checked") || false;
|
||||
const ant4enabled = $('#ant4-enabled').is(":checked") || false;
|
||||
|
||||
const ant1name = $("#ant1-name").val() || 'Ant A';
|
||||
const ant2name = $("#ant2-name").val() || 'Ant B';
|
||||
const ant3name = $("#ant3-name").val() || 'Ant C';
|
||||
const ant4name = $("#ant4-name").val() || 'Ant D';
|
||||
|
||||
let presets = [];
|
||||
presets.push($('#preset1').val() || '87.5');
|
||||
presets.push($('#preset2').val() || '87.5');
|
||||
@@ -46,6 +58,7 @@ function submitData() {
|
||||
}).data('value') || "tef");
|
||||
|
||||
const softwareMode = $('#audio-software-mode').is(":checked") || false;
|
||||
const startupVolume = $('#startup-volume').val() || '100';
|
||||
|
||||
const tunerName = $('#webserver-name').val() || 'FM Tuner';
|
||||
const tunerDesc = $('#webserver-desc').val() || 'Default FM tuner description';
|
||||
@@ -61,7 +74,7 @@ function submitData() {
|
||||
const publicTuner = $("#tuner-public").is(":checked");
|
||||
const lockToAdmin = $("#tuner-lock").is(":checked");
|
||||
const autoShutdown = $("#shutdown-tuner").is(":checked") || false;
|
||||
const antennaSwitch = $("#antenna-switch").is(":checked") || false;
|
||||
const antennasEnabled = $("#antenna-switch").is(":checked") || false;
|
||||
|
||||
const data = {
|
||||
webserver: {
|
||||
@@ -73,7 +86,27 @@ function submitData() {
|
||||
chatEnabled,
|
||||
defaultTheme,
|
||||
presets,
|
||||
banlist
|
||||
banlist,
|
||||
bgImage
|
||||
},
|
||||
antennas: {
|
||||
enabled: antennasEnabled,
|
||||
ant1: {
|
||||
enabled: ant1enabled,
|
||||
name: ant1name
|
||||
},
|
||||
ant2: {
|
||||
enabled: ant2enabled,
|
||||
name: ant2name
|
||||
},
|
||||
ant3: {
|
||||
enabled: ant3enabled,
|
||||
name: ant3name
|
||||
},
|
||||
ant4: {
|
||||
enabled: ant4enabled,
|
||||
name: ant4name
|
||||
},
|
||||
},
|
||||
xdrd: {
|
||||
comPort,
|
||||
@@ -87,6 +120,7 @@ function submitData() {
|
||||
audioChannels,
|
||||
audioBitrate,
|
||||
softwareMode,
|
||||
startupVolume,
|
||||
},
|
||||
identification: {
|
||||
tunerName,
|
||||
@@ -105,7 +139,6 @@ function submitData() {
|
||||
publicTuner,
|
||||
lockToAdmin,
|
||||
autoShutdown,
|
||||
antennaSwitch,
|
||||
enableDefaultFreq,
|
||||
defaultFreq,
|
||||
};
|
||||
@@ -130,7 +163,6 @@ function submitData() {
|
||||
}
|
||||
|
||||
function fetchData() {
|
||||
// Make a GET request to retrieve the data.json file
|
||||
fetch("./getData")
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
@@ -154,6 +186,10 @@ function submitData() {
|
||||
if (selectedTheme.length > 0) {
|
||||
$("#selected-theme").val(selectedTheme.text());
|
||||
}
|
||||
|
||||
if (data.webserver.bgImage && data.webserver.bgImage.length > 0) {
|
||||
$("#bg-image").val(data.webserver.bgImage);
|
||||
}
|
||||
|
||||
if(Array.isArray(data.webserver.presets)) {
|
||||
$('#preset1').val(data.webserver.presets[0] || "");
|
||||
@@ -204,7 +240,18 @@ function submitData() {
|
||||
$("#audio-quality").val(selectedQuality.text());
|
||||
}
|
||||
|
||||
var antennaNames = ['ant1', 'ant2', 'ant3', 'ant4'];
|
||||
|
||||
// Iterate over each antenna name
|
||||
antennaNames.forEach(function(antenna) {
|
||||
// Set values based on the antenna name
|
||||
$('#' + antenna + '-name').val(data.antennas?.[antenna]?.name || '');
|
||||
$('#' + antenna + '-enabled').prop("checked", data.antennas?.[antenna]?.enabled || false);
|
||||
});
|
||||
|
||||
$('#audio-software-mode').prop("checked", data.audio.softwareMode || false);
|
||||
$('#startup-volume').val(data.audio.startupVolume || 100);
|
||||
$('#volume-percentage-value').text(data.audio.startupVolume !== undefined ? (data.audio.startupVolume * 100).toFixed(0) + '%' : '100%');
|
||||
|
||||
$('#webserver-name').val(data.identification.tunerName);
|
||||
$('#webserver-desc').val(data.identification.tunerDesc);
|
||||
@@ -220,7 +267,7 @@ function submitData() {
|
||||
$("#tuner-public").prop("checked", data.publicTuner);
|
||||
$("#tuner-lock").prop("checked", data.lockToAdmin);
|
||||
$("#shutdown-tuner").prop("checked", data.autoShutdown);
|
||||
$("#antenna-switch").prop("checked", data.antennaSwitch);
|
||||
$("#antenna-switch").prop("checked", data.antennas?.enabled);
|
||||
|
||||
// Check if latitude and longitude are present in the data
|
||||
if (data.identification.lat && data.identification.lon) {
|
||||
|
||||
@@ -19,11 +19,18 @@ const toggleDropdown = (event) => {
|
||||
const selectOption = (event) => {
|
||||
const $currentDropdown = currentDropdown;
|
||||
|
||||
if($currentDropdown.attr('id') == 'data-ant') {
|
||||
socket.send("Z" + $(event.currentTarget).attr('data-value'));
|
||||
tuneTo(getCurrentFreq()); //Reset RDS when change antenna input
|
||||
} else {
|
||||
$currentDropdown.find('input').val($(event.currentTarget).text());
|
||||
switch($currentDropdown.attr('id')) {
|
||||
case 'data-ant':
|
||||
socket.send("Z" + $(event.currentTarget).attr('data-value'));
|
||||
tuneTo(getCurrentFreq()); //Reset RDS when change antenna input
|
||||
break;
|
||||
case 'data-bw':
|
||||
socket.send("W" + $(event.currentTarget).attr('data-value'));
|
||||
$currentDropdown.find('input').val($(event.currentTarget).text());
|
||||
break;
|
||||
default:
|
||||
$currentDropdown.find('input').val($(event.currentTarget).text());
|
||||
break;
|
||||
}
|
||||
|
||||
// Use setTimeout to delay class removal
|
||||
|
||||
@@ -14,6 +14,7 @@ function getInitialSettings() {
|
||||
localStorage.setItem('preset2', data.presets[1]);
|
||||
localStorage.setItem('preset3', data.presets[2]);
|
||||
localStorage.setItem('preset4', data.presets[3]);
|
||||
localStorage.setItem('bgImage', data.bgImage);
|
||||
},
|
||||
error: function (error) {
|
||||
console.error('Error:', error);
|
||||
|
||||
@@ -41,7 +41,6 @@ $(document).ready(function () {
|
||||
$panel.css('left', -panelWidth);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
canvas.width = canvas.parentElement.clientWidth;
|
||||
canvas.height = canvas.parentElement.clientHeight;
|
||||
@@ -611,6 +610,7 @@ function updateDataElements(parsedData) {
|
||||
const $dataRt0 = $('#data-rt0');
|
||||
const $dataRt1 = $('#data-rt1');
|
||||
const $dataAntInput = $('#data-ant input');
|
||||
const $dataBwInput = $('#data-bw input');
|
||||
const $dataStationContainer = $('#data-station-container');
|
||||
const $dataTp = $('.data-tp');
|
||||
const $dataTa = $('.data-ta');
|
||||
@@ -641,6 +641,7 @@ function updateDataElements(parsedData) {
|
||||
$('.data-flag-big').html(`<i title="${parsedData.country_name}" class="flag-md flag-md-${parsedData.country_iso}"></i>`);
|
||||
|
||||
$dataAntInput.val($('#data-ant li[data-value="' + parsedData.ant + '"]').text());
|
||||
$dataBwInput.val($('#data-bw li[data-value="' + parsedData.bw + '"]').text());
|
||||
|
||||
if (parsedData.txInfo.station.length > 1) {
|
||||
$('#data-station-name').text(parsedData.txInfo.station.replace(/%/g, '%25'));
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
var currentDate = new Date('March 21, 2024 22:00:00');
|
||||
var currentDate = new Date('March 24, 2024 19:00:00');
|
||||
var day = currentDate.getDate();
|
||||
var month = currentDate.getMonth() + 1; // Months are zero-indexed, so add 1
|
||||
var year = currentDate.getFullYear();
|
||||
var formattedDate = day + '/' + month + '/' + year;
|
||||
var currentVersion = 'v1.1.6 [' + formattedDate + ']';
|
||||
var currentVersion = 'v1.1.7 [' + formattedDate + ']';
|
||||
|
||||
|
||||
/**
|
||||
@@ -52,6 +52,7 @@ var currentVersion = 'v1.1.6 [' + formattedDate + ']';
|
||||
setTheme(selectedTheme);
|
||||
themeSelector.find('input').val($(event.target).text()); // Set the text of the clicked option to the input
|
||||
localStorage.setItem('theme', selectedTheme);
|
||||
setBg();
|
||||
});
|
||||
|
||||
// Signal Selector
|
||||
@@ -156,6 +157,8 @@ var currentVersion = 'v1.1.6 [' + formattedDate + ']';
|
||||
});
|
||||
|
||||
$('.version-string').text(currentVersion);
|
||||
|
||||
setBg();
|
||||
});
|
||||
|
||||
|
||||
@@ -177,3 +180,10 @@ var currentVersion = 'v1.1.6 [' + formattedDate + ']';
|
||||
}
|
||||
}
|
||||
|
||||
function setBg() {
|
||||
if(localStorage.getItem('bgImage').length > 1 && localStorage.getItem('theme') != 'theme8') {
|
||||
$('body').css('background', 'url(' + localStorage.getItem('bgImage') + ') var(--color-main)');
|
||||
} else {
|
||||
$('body').css('background', 'var(--color-main)');
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,13 @@ $(document).ready(function() {
|
||||
MapCreate();
|
||||
fetchData();
|
||||
|
||||
$('#startup-volume').on('change', function() {
|
||||
console.log('changed');
|
||||
var value = $(this).val(); // Get the value of the range input
|
||||
var percentage = value * 100; // Convert to percentage
|
||||
$('#volume-percentage-value').text(percentage.toFixed(0) + '%'); // Display the percentage value
|
||||
});
|
||||
|
||||
map.on('click', function(ev) {
|
||||
$('#lat').val((ev.latlng.lat).toFixed(6));
|
||||
$('#lng').val((ev.latlng.lng).toFixed(6));
|
||||
|
||||
Reference in New Issue
Block a user