init working

This commit is contained in:
Bad
2025-09-28 10:47:26 +03:00
commit 4f7af6d768
5 changed files with 106 additions and 0 deletions

40
popup.js Normal file
View File

@ -0,0 +1,40 @@
const slider = document.getElementById("slider");
const val = document.getElementById("val");
slider.addEventListener("input", () => {
val.textContent = slider.value;
});
slider.addEventListener("change", async () => {
const volume = Number(slider.value);
const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
if (!tab?.id) return;
// Ensure page_script.js is injected
await chrome.scripting.executeScript({
target: { tabId: tab.id },
files: ["page_script.js"],
});
// Send message to the injected page script
chrome.tabs.sendMessage(tab.id, { action: "setVolume", volume });
});
// Initialize with current volume
(async function init() {
const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
if (!tab?.id) return;
await chrome.scripting.executeScript({
target: { tabId: tab.id },
files: ["page_script.js"],
});
chrome.tabs.sendMessage(tab.id, { action: "getVolume" }, (response) => {
if (chrome.runtime.lastError) return; // ignore if no response
if (response && typeof response.volume === "number") {
slider.value = response.volume;
val.textContent = response.volume;
}
});
})();