// YTMusic Now Playing - Popup Script (function () { "use strict"; const DEFAULT_SERVER_URL = "http://localhost:9095"; const serverUrlInput = document.getElementById("serverUrl"); const saveBtn = document.getElementById("save"); const statusEl = document.getElementById("status"); function setStatus(message, type) { statusEl.textContent = message; statusEl.className = `status-${type}`; } // Load saved URL on popup open chrome.storage.sync.get({ serverUrl: DEFAULT_SERVER_URL }, (result) => { serverUrlInput.value = result.serverUrl; checkConnection(result.serverUrl); }); // Save button handler saveBtn.addEventListener("click", () => { const url = serverUrlInput.value.trim().replace(/\/+$/, ""); if (!url) { setStatus("Please enter a valid URL.", "err"); return; } chrome.storage.sync.set({ serverUrl: url }, () => { setStatus("Saved!", "ok"); checkConnection(url); }); }); // Check connection to the server async function checkConnection(url) { try { const response = await fetch(`${url}/api/now-playing`, { method: "GET", }); if (response.ok) { setStatus("Connected to server.", "ok"); } else { setStatus(`Server returned ${response.status}.`, "err"); } } catch (err) { setStatus("Cannot reach server.", "err"); } } })();