Initial commit: Plex Auto Skip Chrome extension

This commit is contained in:
justin committed 2026-08-16 22:55:33 -07:00
commit 0f1f2a309e
14 files changed
+1522

No files matched your search

+64
View File
@@ -0,0 +1,64 @@
document.addEventListener("DOMContentLoaded", () => {
const urlPreset = document.getElementById("urlPreset");
const customUrlRow = document.getElementById("customUrlRow");
const customUrl = document.getElementById("customUrl");
const skipIntro = document.getElementById("skipIntro");
const skipCredits = document.getElementById("skipCredits");
const saveBtn = document.getElementById("saveBtn");
const status = document.getElementById("status");
function toggleCustomRow() {
customUrlRow.style.display = urlPreset.value === "custom" ? "block" : "none";
}
urlPreset.addEventListener("change", toggleCustomRow);
chrome.storage.sync.get(DEFAULT_SETTINGS, (settings) => {
if (settings.plexUrl === DEFAULT_SETTINGS.plexUrl) {
urlPreset.value = "default";
} else {
urlPreset.value = "custom";
customUrl.value = settings.plexUrl.replace(/^https?:\/\//, "");
}
skipIntro.checked = settings.skipIntro;
skipCredits.checked = settings.skipCredits;
toggleCustomRow();
});
function showStatus(message, isError) {
status.textContent = message;
status.style.color = isError ? "#c0392b" : "#2a8f2a";
setTimeout(() => {
status.textContent = "";
}, 1500);
}
saveBtn.addEventListener("click", () => {
const isCustom = urlPreset.value === "custom";
let plexUrl = DEFAULT_SETTINGS.plexUrl;
if (isCustom) {
const trimmed = customUrl.value.trim();
if (!trimmed) {
showStatus("Enter a URL first", true);
return;
}
plexUrl = normalizePlexUrl(trimmed);
if (!getHostFromUrl(plexUrl)) {
showStatus("That URL doesn't look valid", true);
return;
}
}
chrome.storage.sync.set(
{
plexUrl: plexUrl,
skipIntro: skipIntro.checked,
skipCredits: skipCredits.checked
},
() => {
showStatus("Saved", false);
}
);
});
});