script.js aktualisiert

Stopp Button in die Titelzeile verlegt, als Symbol dargestellt und wird nur angezeigt, wenn auch ein Sender abgespielt wird. Header Bereich nur immer fix oben sichtbar.
This commit is contained in:
simonpipe 2025-01-06 08:51:50 +00:00
parent baff6f0467
commit d55d1c4ecf

View file

@ -54,7 +54,6 @@ document.addEventListener('DOMContentLoaded', function () {
return; return;
} }
// URL-Validierung: Prüfen, ob die URL mit http:// oder https:// beginnt
if (!isValidHttpUrl(presetUrl)) { if (!isValidHttpUrl(presetUrl)) {
alert("Bitte geben Sie eine gültige HTTP- oder HTTPS-URL ein."); alert("Bitte geben Sie eine gültige HTTP- oder HTTPS-URL ein.");
return; return;
@ -63,12 +62,17 @@ document.addEventListener('DOMContentLoaded', function () {
addNewPreset(presetName, presetUrl); addNewPreset(presetName, presetUrl);
savePresetToLocalStorage(presetName, presetUrl); savePresetToLocalStorage(presetName, presetUrl);
// Felder zurücksetzen
newPresetNameInput.value = ''; newPresetNameInput.value = '';
newPresetUrlInput.value = ''; newPresetUrlInput.value = '';
}); });
// Hilfsfunktion zur Überprüfung von URLs exportButton.addEventListener('click', exportPresets);
importButton.addEventListener('click', importPresets);
loadPresetsLink.addEventListener('click', loadPresetsFromFile);
stopButton.addEventListener('click', stopPlayback);
}
// === Funktion: URL-Validierung ===
function isValidHttpUrl(url) { function isValidHttpUrl(url) {
try { try {
const parsedUrl = new URL(url); const parsedUrl = new URL(url);
@ -78,12 +82,6 @@ document.addEventListener('DOMContentLoaded', function () {
} }
} }
exportButton.addEventListener('click', exportPresets);
importButton.addEventListener('click', importPresets);
loadPresetsLink.addEventListener('click', loadPresetsFromFile);
stopButton.addEventListener('click', stopPlayback);
}
// === Funktion: Preset-Handling === // === Funktion: Preset-Handling ===
function loadExistingPresets() { function loadExistingPresets() {
const presets = JSON.parse(localStorage.getItem('presets')) || []; const presets = JSON.parse(localStorage.getItem('presets')) || [];
@ -172,9 +170,10 @@ document.addEventListener('DOMContentLoaded', function () {
item.appendChild(audioElement); item.appendChild(audioElement);
item.classList.add('playing'); item.classList.add('playing');
currentPlayingItem = item; currentPlayingItem = item;
currentStationName.textContent = item.querySelector('h3').textContent; currentStationName.textContent = 'Es läuft: ' + item.querySelector('h3').textContent;
updateTitle(item.querySelector('h3').textContent); // Sendername in den Titel einfügen stopButton.classList.remove('hidden'); // Stopp-Button einblenden
updateTitle(item.querySelector('h3').textContent);
} }
function stopPlayback() { function stopPlayback() {
@ -185,10 +184,11 @@ document.addEventListener('DOMContentLoaded', function () {
audioElement.currentTime = 0; audioElement.currentTime = 0;
currentPlayingItem.classList.remove('playing'); currentPlayingItem.classList.remove('playing');
currentPlayingItem = null; currentPlayingItem = null;
currentStationName.textContent = 'Kein Sender ausgewählt.'; currentStationName.textContent = 'Wähle einen Sender aus';
} }
} }
stopButton.classList.add('hidden'); // Stopp-Button ausblenden
updateTitle(''); updateTitle('');
} }