From 410b700036782b10ce5b5a7324a9c2b2c16fb286 Mon Sep 17 00:00:00 2001 From: leiyu3 Date: Thu, 17 Jul 2025 15:51:53 -0400 Subject: setlist mvp --- layouts/_default/baseof.html | 147 ++++++++++++++++++++----------------------- 1 file changed, 69 insertions(+), 78 deletions(-) (limited to 'layouts/_default/baseof.html') diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 9dad6a7..bdb4b03 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -28,15 +28,6 @@ -
Setlist
- - - - @@ -161,75 +221,6 @@ document.addEventListener("DOMContentLoaded", () => { document.body.classList.toggle("hide-chords", !toggle.checked); }); }); - -document.addEventListener("DOMContentLoaded", () => { - const setlistTab = document.getElementById("setlist-tab"); - const setlistSidebar = document.getElementById("setlist-sidebar"); - const setlistEl = document.getElementById("setlist"); - const addButton = document.getElementById("add-to-setlist"); - - // Load setlist from localStorage - let setlist = JSON.parse(localStorage.getItem("setlist")) || []; - - function saveSetlist() { - localStorage.setItem("setlist", JSON.stringify(setlist)); - } - - function renderSetlist() { - setlistEl.innerHTML = ""; - setlist.forEach((song) => { - const li = document.createElement("li"); - - const link = document.createElement("a"); - link.href = song.url; - link.textContent = song.title; - link.style.flex = "1"; - - const key = document.createElement("span"); - key.textContent = ` (${song.key})`; - key.style.marginLeft = "6px"; - key.style.color = "#555"; - - const removeBtn = document.createElement("button"); - removeBtn.textContent = "−"; - removeBtn.addEventListener("click", () => { - setlist = setlist.filter((s) => s.url !== song.url); - saveSetlist(); - renderSetlist(); - }); - - li.appendChild(link); - li.appendChild(key); - li.appendChild(removeBtn); - setlistEl.appendChild(li); - }); -} - - // Toggle sidebar - setlistTab.addEventListener("click", () => { - setlistSidebar.classList.toggle("hidden"); - }); - - // Add current song - addButton.addEventListener("click", () => { - const title = document.title.split(" | ")[0]; // Adjust to your site's title format - const url = window.location.href; - const keySelector = document.getElementById("key-selector"); - const transposedKey = keySelector?.value || "C"; - - const exists = setlist.some((s) => s.url === url); - if (!exists) { - // Add ?key=E or &key=E if query already exists - const urlObj = new URL(url); - urlObj.searchParams.set("key", transposedKey); - setlist.push({ title, url: urlObj.toString(), key: transposedKey }); - saveSetlist(); - renderSetlist(); - } -}); - - renderSetlist(); -}); {{ end }} -- cgit v1.2.3