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 ++++++++++++++++++++----------------------- layouts/_default/home.html | 8 +++ layouts/_default/single.html | 8 +++ 3 files changed, 85 insertions(+), 78 deletions(-) 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 }} diff --git a/layouts/_default/home.html b/layouts/_default/home.html index 52db7eb..997ed7d 100644 --- a/layouts/_default/home.html +++ b/layouts/_default/home.html @@ -72,6 +72,14 @@ {{ .Content }} +
Setlist
+ + +
back to top diff --git a/layouts/_default/single.html b/layouts/_default/single.html index ad55680..3c863a1 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -63,6 +63,14 @@ {{ .Content }}
+
Setlist
+ + + {{/* Back to top */}}
-- cgit v1.2.3