44 lines
No EOL
1.8 KiB
JavaScript
44 lines
No EOL
1.8 KiB
JavaScript
// ui-helper.js - Verwaltet allgemeine UI-Elemente und Modals
|
|
window.UI = {
|
|
// Zeigt ein einfaches Informations-Fenster
|
|
showAlert(title, message) {
|
|
const modal = document.getElementById("custom-modal");
|
|
document.getElementById("custom-modal-title").textContent = title;
|
|
document.getElementById("custom-modal-message").textContent = message;
|
|
document.getElementById("custom-modal-cancel").classList.add("hidden");
|
|
modal.classList.remove("hidden");
|
|
document.getElementById("custom-modal-ok").onclick = () => modal.classList.add("hidden");
|
|
},
|
|
|
|
// Zeigt ein Bestätigungs-Fenster mit Ja/Nein
|
|
showConfirm(title, message, callback) {
|
|
const modal = document.getElementById("custom-modal");
|
|
document.getElementById("custom-modal-title").textContent = title;
|
|
document.getElementById("custom-modal-message").textContent = message;
|
|
const cancelBtn = document.getElementById("custom-modal-cancel");
|
|
cancelBtn.classList.remove("hidden");
|
|
modal.classList.remove("hidden");
|
|
|
|
document.getElementById("custom-modal-ok").onclick = () => {
|
|
modal.classList.add("hidden");
|
|
callback(true);
|
|
};
|
|
cancelBtn.onclick = () => {
|
|
modal.classList.add("hidden");
|
|
callback(false);
|
|
};
|
|
},
|
|
|
|
// Aktualisiert den Titel im Browser-Tab
|
|
updateDocumentTitle(stationName) {
|
|
document.title = stationName ? `${stationName} - Radioplayer` : "Radioplayer";
|
|
},
|
|
|
|
// Füllt die Informationen im Footer aus
|
|
initializeFooter() {
|
|
const yearEl = document.getElementById('current-year');
|
|
const serverEl = document.getElementById('server-name');
|
|
if (yearEl) yearEl.textContent = new Date().getFullYear();
|
|
if (serverEl) serverEl.textContent = window.location.hostname;
|
|
}
|
|
}; |