Untitled

 avatar
unknown
plain_text
14 days ago
3.1 kB
3
Indexable
function changeStation(name, link) {
    var audioCtrl = document.getElementById('audioctrl');
    var naslov = document.getElementById('naslov');
    var radios = document.querySelectorAll('.radio');

    var target = event.target || event.srcElement; // Fallback for older browsers

    for (var i = 0; i < radios.length; i++) {
        radios[i].classList.remove('selected');
    }
    target.classList.add('selected');

    audioCtrl.src = link;
    if ('textContent' in naslov) {
        naslov.textContent = name;
    } else {
        naslov.innerText = name; // Fallback for older browsers
    }
    audioCtrl.play();

    if (typeof Storage !== "undefined") { // Check if localStorage is available
        localStorage.setItem('lastStation', JSON.stringify({ name: name, link: link }));
    }
}

function toggleTheme() {
    var body = document.body;
    var isDark = body.classList.contains('dark-mode');

    if (isDark) {
        body.classList.remove('dark-mode');
        body.classList.add('light-mode');
    } else {
        body.classList.remove('light-mode');
        body.classList.add('dark-mode');
    }

    if (typeof Storage !== "undefined") {
        localStorage.setItem('theme', body.classList.contains('dark-mode') ? 'dark' : 'light');
    }
}

function changeColor(color) {
    if (document.documentElement.style.setProperty) {
        document.documentElement.style.setProperty('--accent-color', color);
    } else {
        document.documentElement.style.color = color; // Fallback for old browsers
    }

    if (typeof Storage !== "undefined") {
        localStorage.setItem('accentColor', color);
    }
}

function loadPreferences() {
    if (typeof Storage === "undefined") return; // Exit if localStorage is unavailable

    var savedTheme = localStorage.getItem('theme') || 'dark';
    var savedStation = JSON.parse(localStorage.getItem('lastStation') || '{}');
    var savedColor = localStorage.getItem('accentColor');

    document.body.classList.add(savedTheme === 'dark' ? 'dark-mode' : 'light-mode');

    if (savedColor && document.documentElement.style.setProperty) {
        document.documentElement.style.setProperty('--accent-color', savedColor);
    }

    if (savedStation.name && savedStation.link) {
        var audioCtrl = document.getElementById('audioctrl');
        var naslov = document.getElementById('naslov');

        audioCtrl.src = savedStation.link;
        if ('textContent' in naslov) {
            naslov.textContent = savedStation.name;
        } else {
            naslov.innerText = savedStation.name; // Fallback
        }

        var radios = document.querySelectorAll('.radio');
        for (var i = 0; i < radios.length; i++) {
            if (radios[i].textContent === savedStation.name || radios[i].innerText === savedStation.name) {
                radios[i].classList.add('selected');
            }
        }
    }
}

// Fallback for older browsers without `DOMContentLoaded`
if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", loadPreferences);
} else {
    window.onload = loadPreferences;
}
Editor is loading...
Leave a Comment