You've already forked fm-dx-webserver
mirror of
https://github.com/KubaPro010/fm-dx-webserver.git
synced 2026-02-26 22:13:53 +01:00
bugfix pack
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "fm-dx-webserver",
|
"name": "fm-dx-webserver",
|
||||||
"version": "1.2.6",
|
"version": "1.2.7",
|
||||||
"description": "FM DX Webserver",
|
"description": "FM DX Webserver",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -292,6 +292,10 @@ function handleData(wss, receivedData, rdsWss) {
|
|||||||
initialData.freq = (parsedValue / 1000).toFixed(3);
|
initialData.freq = (parsedValue / 1000).toFixed(3);
|
||||||
dataToSend.freq = (parsedValue / 1000).toFixed(3);
|
dataToSend.freq = (parsedValue / 1000).toFixed(3);
|
||||||
dataToSend.pi = '?';
|
dataToSend.pi = '?';
|
||||||
|
|
||||||
|
rdsWss.clients.forEach((client) => {
|
||||||
|
client.send("G:\r\nRESET-------\r\n\r\n");
|
||||||
|
});
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case receivedLine.startsWith('Z'): // Antenna
|
case receivedLine.startsWith('Z'): // Antenna
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ function fetchTx(freq, piCode, rdsPs) {
|
|||||||
return processData(cachedData[freq], piCode, rdsPs);
|
return processData(cachedData[freq], piCode, rdsPs);
|
||||||
}
|
}
|
||||||
|
|
||||||
const url = "https://maps.fmdx.pl/api?freq=" + freq;
|
const url = "https://maps.fmdx.org/api?freq=" + freq;
|
||||||
|
|
||||||
return fetch(url)
|
return fetch(url)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ input[type="text"], textarea, input[type="password"] {
|
|||||||
color: var(--color-text);
|
color: var(--color-text);
|
||||||
background-color: var(--color-1);
|
background-color: var(--color-1);
|
||||||
font-family: 'Titillium Web', sans-serif;
|
font-family: 'Titillium Web', sans-serif;
|
||||||
|
caret-color: var(--color-4);
|
||||||
}
|
}
|
||||||
|
|
||||||
#tune-buttons input[type="text"] {
|
#tune-buttons input[type="text"] {
|
||||||
@@ -92,6 +93,7 @@ input[type="text"], textarea, input[type="password"] {
|
|||||||
color: var(--color-text);
|
color: var(--color-text);
|
||||||
background-color: var(--color-1-transparent);
|
background-color: var(--color-1-transparent);
|
||||||
font-family: 'Titillium Web', sans-serif;
|
font-family: 'Titillium Web', sans-serif;
|
||||||
|
caret-color: var(--color-4);
|
||||||
}
|
}
|
||||||
|
|
||||||
#tune-buttons input[type="text"]:not(.no-bg):not(.no-filter) {
|
#tune-buttons input[type="text"]:not(.no-bg):not(.no-filter) {
|
||||||
|
|||||||
BIN
web/favicon.png
BIN
web/favicon.png
Binary file not shown.
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 6.4 KiB |
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<meta property="og:title" content="FM-DX WebServer [<%= tunerName %>]">
|
<meta property="og:title" content="FM-DX WebServer [<%= tunerName %>]">
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<meta property="og:image" content="favicon.png">
|
<meta property="og:image" content="https://fmdx.org/img/webserver_icon.png">
|
||||||
<meta property="og:description" content="Server description: <%= tunerDescMeta %>.">
|
<meta property="og:description" content="Server description: <%= tunerDescMeta %>.">
|
||||||
|
|
||||||
<script src="js/init.js"></script>
|
<script src="js/init.js"></script>
|
||||||
|
|||||||
@@ -10,12 +10,27 @@ $(document).ready(function() {
|
|||||||
const chatNicknameInput = $('#chat-nickname');
|
const chatNicknameInput = $('#chat-nickname');
|
||||||
const chatNicknameSave = $('#chat-nickname-save');
|
const chatNicknameSave = $('#chat-nickname-save');
|
||||||
|
|
||||||
|
// Function to generate a random string
|
||||||
|
function generateRandomString(length) {
|
||||||
|
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
||||||
|
let result = '';
|
||||||
|
for (let i = 0; i < length; i++) {
|
||||||
|
result += characters.charAt(Math.floor(Math.random() * characters.length));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load nickname from localStorage on page load
|
||||||
|
let savedNickname = localStorage.getItem('nickname') || `Anonymous User ${generateRandomString(5)}`;
|
||||||
|
chatNicknameInput.val(savedNickname);
|
||||||
|
chatIdentityNickname.text(savedNickname);
|
||||||
|
|
||||||
chatSocket.onmessage = function(event) {
|
chatSocket.onmessage = function(event) {
|
||||||
const messageData = JSON.parse(event.data);
|
const messageData = JSON.parse(event.data);
|
||||||
const isAdmin = messageData.admin ? '<span style="color: #bada55">[ADMIN]</span>' : '';
|
const isAdmin = messageData.admin ? '<span style="color: #bada55">[ADMIN]</span>' : '';
|
||||||
|
|
||||||
if (messageData.type === 'clientIp') {
|
if (messageData.type === 'clientIp') {
|
||||||
chatIdentityNickname.html(isAdmin + " " + (savedNickname?.length > 0 ? savedNickname : 'Anonymous User'));
|
chatIdentityNickname.html(isAdmin + " " + savedNickname);
|
||||||
chatIdentityNickname.attr('title', messageData.ip);
|
chatIdentityNickname.attr('title', messageData.ip);
|
||||||
} else {
|
} else {
|
||||||
const chatMessage = `
|
const chatMessage = `
|
||||||
@@ -42,9 +57,10 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
$('.chat-send-message-btn').click(sendMessage);
|
$('.chat-send-message-btn').click(sendMessage);
|
||||||
chatNicknameSave.click(function() {
|
chatNicknameSave.click(function() {
|
||||||
const currentNickname = chatNicknameInput.val();
|
const currentNickname = chatNicknameInput.val().trim() || `Anonymous User ${generateRandomString(5)}`;
|
||||||
localStorage.setItem('nickname', currentNickname);
|
localStorage.setItem('nickname', currentNickname);
|
||||||
chatIdentityNickname.text(currentNickname.length > 0 ? currentNickname : 'Anonymous User');
|
savedNickname = currentNickname; // Update the savedNickname variable
|
||||||
|
chatIdentityNickname.text(savedNickname);
|
||||||
chatNicknameInput.blur();
|
chatNicknameInput.blur();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -71,14 +87,8 @@ $(document).ready(function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Load nickname from localStorage on page load
|
|
||||||
const savedNickname = localStorage.getItem('nickname');
|
|
||||||
if (savedNickname) {
|
|
||||||
chatNicknameInput.val(savedNickname);
|
|
||||||
}
|
|
||||||
|
|
||||||
function sendMessage() {
|
function sendMessage() {
|
||||||
const nickname = savedNickname || 'Anonymous user';
|
const nickname = savedNickname || `Anonymous User ${generateRandomString(5)}`;
|
||||||
const message = chatSendInput.val().trim();
|
const message = chatSendInput.val().trim();
|
||||||
|
|
||||||
if (message) {
|
if (message) {
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
var currentDate = new Date('Aug 1, 2024 20:00:00');
|
var currentDate = new Date('Aug 28, 2024 22:00:00');
|
||||||
var day = currentDate.getDate();
|
var day = currentDate.getDate();
|
||||||
var month = currentDate.getMonth() + 1; // Months are zero-indexed, so add 1
|
var month = currentDate.getMonth() + 1; // Months are zero-indexed, so add 1
|
||||||
var year = currentDate.getFullYear();
|
var year = currentDate.getFullYear();
|
||||||
var formattedDate = day + '/' + month + '/' + year;
|
var formattedDate = day + '/' + month + '/' + year;
|
||||||
var currentVersion = 'v1.2.6a [' + formattedDate + ']';
|
var currentVersion = 'v1.2.7 [' + formattedDate + ']';
|
||||||
|
|
||||||
getInitialSettings();
|
getInitialSettings();
|
||||||
|
removeUrlParameters(); // Call this function to remove URL parameters
|
||||||
|
|
||||||
function getInitialSettings() {
|
function getInitialSettings() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -27,3 +28,11 @@ function getInitialSettings() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removeUrlParameters() {
|
||||||
|
// Get the current URL without the query parameters
|
||||||
|
var urlWithoutParams = window.location.protocol + "//" + window.location.host + window.location.pathname;
|
||||||
|
|
||||||
|
// Replace the current URL with the new one, without reloading the page
|
||||||
|
window.history.replaceState({ path: urlWithoutParams }, '', urlWithoutParams);
|
||||||
|
}
|
||||||
|
|||||||
@@ -605,7 +605,7 @@ function findOnMaps() {
|
|||||||
var latitude = localStorage.getItem('qthLongitude');
|
var latitude = localStorage.getItem('qthLongitude');
|
||||||
var longitude = localStorage.getItem('qthLatitude');
|
var longitude = localStorage.getItem('qthLatitude');
|
||||||
|
|
||||||
var url = `https://maps.fmdx.pl/#qth=${longitude},${latitude}&freq=${frequency}&findPi=${pi}`;
|
var url = `https://maps.fmdx.org/#qth=${longitude},${latitude}&freq=${frequency}&findPi=${pi}`;
|
||||||
window.open(url, "_blank");
|
window.open(url, "_blank");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,11 +56,10 @@ $(document).ready(() => {
|
|||||||
const signalSelector = $('#signal-selector');
|
const signalSelector = $('#signal-selector');
|
||||||
|
|
||||||
const signalParameter = getQueryParameter('signalUnits');
|
const signalParameter = getQueryParameter('signalUnits');
|
||||||
if(signalParameter) {
|
if(signalParameter && !localStorage.getItem('signalUnit')) {
|
||||||
signalSelector.find('input').val($(signalParameter).text());
|
signalSelector.find('input').val(signalSelector.find('.option[data-value="' + signalParameter + '"]').text());
|
||||||
}
|
localStorage.setItem('signalUnit', signalParameter);
|
||||||
|
} else {
|
||||||
if (localStorage.getItem('signalUnit')) {
|
|
||||||
signalSelector.find('input').val(signalSelector.find('.option[data-value="' + savedUnit + '"]').text());
|
signalSelector.find('input').val(signalSelector.find('.option[data-value="' + savedUnit + '"]').text());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user