refactor(playlists): remove unsupported playlist rename feature

This commit is contained in:
Damjan Antevski
2026-07-16 02:39:33 +02:00
parent 984b6bcf5b
commit 057e5ff24a
+1 -45
View File
@@ -975,7 +975,6 @@ let popup = null;
let popupMode = "list"; let popupMode = "list";
let playlists = []; let playlists = [];
let popupSelected = 0; let popupSelected = 0;
let popupTarget = null;
let popupTracks = []; let popupTracks = [];
let popupTrackSelected = 0; let popupTrackSelected = 0;
let popupTrackTitle = ""; let popupTrackTitle = "";
@@ -1186,7 +1185,7 @@ function renderPopup() {
popup.tabIndex = 0; popup.tabIndex = 0;
if (popupMode === "list") { if (popupMode === "list") {
popup.innerHTML = `<div class="popup-title">Playlists &mdash; &uarr;/&darr; move &middot; Enter play &middot; n new &middot; r rename &middot; Esc close</div><div id="popup-list"></div>`; popup.innerHTML = `<div class="popup-title">Playlists &mdash; &uarr;/&darr; move &middot; Enter play &middot; n new &middot; Esc close</div><div id="popup-list"></div>`;
document.body.appendChild(popup); document.body.appendChild(popup);
const listEl = popup.querySelector("#popup-list"); const listEl = popup.querySelector("#popup-list");
if (!playlists.length) { if (!playlists.length) {
@@ -1210,14 +1209,6 @@ function renderPopup() {
const inputEl = popup.querySelector("#popup-input"); const inputEl = popup.querySelector("#popup-input");
inputEl.focus(); inputEl.focus();
inputEl.addEventListener("keydown", handleNewKeydown); inputEl.addEventListener("keydown", handleNewKeydown);
} else if (popupMode === "rename") {
const target = playlists[popupTarget];
popup.innerHTML = `<div class="popup-title">Rename "${target.name}" &mdash; Enter confirm &middot; Esc cancel</div><input id="popup-input" class="popup-input" value="${target.name}">`;
document.body.appendChild(popup);
const inputEl = popup.querySelector("#popup-input");
inputEl.focus();
inputEl.select();
inputEl.addEventListener("keydown", handleRenameKeydown);
} else if (popupMode === "tracks") { } else if (popupMode === "tracks") {
popup.innerHTML = `<div class="popup-title">${popupTrackTitle} &mdash; &uarr;/&darr; move &middot; Enter play &middot; Esc close</div><div id="popup-list"></div>`; popup.innerHTML = `<div class="popup-title">${popupTrackTitle} &mdash; &uarr;/&darr; move &middot; Enter play &middot; Esc close</div><div id="popup-list"></div>`;
document.body.appendChild(popup); document.body.appendChild(popup);
@@ -1301,13 +1292,6 @@ function handleListKeydown(e) {
e.preventDefault(); e.preventDefault();
popupMode = "new"; popupMode = "new";
renderPopup(); renderPopup();
} else if (e.key === "r" || e.key === "R") {
e.preventDefault();
if (playlists.length) {
popupTarget = popupSelected;
popupMode = "rename";
renderPopup();
}
} else if (e.key === "Escape") { } else if (e.key === "Escape") {
e.preventDefault(); e.preventDefault();
closePopup(); closePopup();
@@ -1372,34 +1356,6 @@ async function handleNewKeydown(e) {
} }
} }
async function handleRenameKeydown(e) {
if (e.key === "Enter") {
e.preventDefault();
const name = e.target.value.trim();
const target = playlists[popupTarget];
if (!name || !target) return;
try {
const playlistId = getPlaylistId(target.uri);
await Spicetify.CosmosAsync.put(`https://api.spotify.com/v1/playlists/${playlistId}`, {
name,
});
print("Renamed to: " + name);
} catch (err) {
print("Rename failed: " + err.message + " (check console)");
console.error("Rename playlist error:", err);
}
playlists = await getPlaylists();
popupSelected = 0;
popupMode = "list";
renderPopup();
} else if (e.key === "Escape") {
e.preventDefault();
popupMode = "list";
renderPopup();
}
}
injectStyle(); injectStyle();
setTimeout(createCopyButton, 500); setTimeout(createCopyButton, 500);
setTimeout(initLyricsBridge, 1000); setTimeout(initLyricsBridge, 1000);