1
0
mirror of https://github.com/KubaPro010/fm-dx-webserver.git synced 2026-02-27 06:23:53 +01:00

toasts, freq bugfixes, ui changes

This commit is contained in:
NoobishSVK
2024-09-11 23:48:46 +02:00
parent 3ea9b8cb82
commit 5261f95dfe
13 changed files with 134 additions and 27 deletions

View File

@@ -24,7 +24,7 @@ $(document).ready(function() {
switch($currentDropdown.attr('id')) {
case 'data-ant':
socket.send("Z" + $(event.currentTarget).attr('data-value'));
tuneTo(getCurrentFreq()); // Reset RDS when change antenna input
resetRDS(getCurrentFreq()); // Reset RDS when change antenna input
break;
case 'data-bw':
legacyBwValue = $(event.currentTarget).attr('data-value2') || "";

View File

@@ -240,7 +240,7 @@ function sendPingRequest() {
socket = new WebSocket(socketAddress);
socket.onopen = () => {
console.log("Main/UI reconnected successfully.");
sendToast('info', 'Connected', 'Reconnected successfully!', false, false);
};
socket.onmessage = (event) => {
handleWebSocketMessage(event);
@@ -421,18 +421,31 @@ function updateCanvas(parsedData, signalChart) {
}, 1000 / 15);
}
let reconnectTimer = null;
let dataTimeout = null;
const TIMEOUT_DURATION = 5000; // 5 seconds timeout for lost connection
const resetDataTimeout = () => {
clearTimeout(dataTimeout);
dataTimeout = setTimeout(() => {
sendToast('warning', 'Connection lost', 'Attempting to reconnect...', false, false);
}, TIMEOUT_DURATION);
};
socket.onmessage = (event) => {
if (event.data == 'KICK') {
console.log('Kick initiated.')
if (event.data === 'KICK') {
console.log('Kick initiated.');
setTimeout(() => {
window.location.href = '/403';
window.location.href = '/403';
}, 500);
return;
}
parsedData = JSON.parse(event.data);
resetDataTimeout();
updatePanels(parsedData);
const sum = signalData.reduce((acc, strNum) => acc + parseFloat(strNum), 0);
const averageSignal = sum / signalData.length;
data.push(averageSignal);
@@ -582,6 +595,10 @@ function tuneTo(freq) {
socket.send("T" + ((freq).toFixed(1) * 1000));
}
function resetRDS(freq) {
socket.send("T" + ((freq).toFixed(3) * 1000));
}
async function copyPs() {
var frequency = $('#data-frequency').text();
var pi = $('#data-pi').text();
@@ -653,11 +670,13 @@ function copyToClipboard(textToCopy) {
}
function findOnMaps() {
var frequency = parseFloat($('#data-frequency').text()).toFixed(1);
var frequency = parseFloat($('#data-frequency').text());
var pi = $('#data-pi').text();
var latitude = localStorage.getItem('qthLongitude');
var longitude = localStorage.getItem('qthLatitude');
frequency > 74 ? frequency = frequency.toFixed(1) : null;
var url = `https://maps.fmdx.org/#qth=${longitude},${latitude}&freq=${frequency}&findPi=${pi}`;
window.open(url, "_blank");
}
@@ -991,3 +1010,17 @@ function fillPresets() {
});
}
}
//FMLIST logging
$('#log-fmlist').on('click', function() {
$.ajax({
url: './log_fmlist',
method: 'GET',
success: function(response) {
sendToast('success', 'Log successful', response, false, true);
},
error: function(xhr) {
sendToast('error', 'Log failed', xhr.statusText, false, true);
}
});
});

View File

@@ -79,7 +79,9 @@ $(document).ready(() => {
data: $(this).serialize(),
success: function (data) {
// Update the content on the page with the message from the response
$('#login-message').text(data.message);
sendToast('success', 'Login success!', data.message, false, true);
//$('#login-message').text(data.message);
setTimeout(function () {
location.reload(true);
}, 1750);
@@ -88,7 +90,7 @@ $(document).ready(() => {
// Handle error response
if (xhr.status === 403) {
// Update the content on the page with the message from the error response
$('#login-message').text(xhr.responseJSON.message);
sendToast('error', 'Login failed!', xhr.responseJSON.message, false, true);
} else {
// Handle other types of errors if needed
console.error('Error:', status, error);
@@ -105,7 +107,7 @@ $(document).ready(() => {
type: 'GET', // Assuming the logout is a GET request, adjust accordingly
url: './logout',
success: function (data) {
$('#login-message').text(data.message);
sendToast('success', 'Logout success!', data.message, false, true);
setTimeout(function () {
location.reload(true);
}, 1000);
@@ -114,7 +116,7 @@ $(document).ready(() => {
// Handle error response
if (xhr.status === 403) {
// Update the content on the page with the message from the error response
$('#login-message').text(xhr.responseJSON.message);
sendToast('error', 'Logout failed!', xhr.responseJSON.message, false, true);
} else {
// Handle other types of errors if needed
console.error('Error:', status, error);

View File

@@ -2,4 +2,5 @@ $.getScript('./js/main.js');
$.getScript('./js/dropdown.js');
$.getScript('./js/modal.js');
$.getScript('./js/settings.js');
$.getScript('./js/chat.js');
$.getScript('./js/chat.js');
$.getScript('./js/toast.js');