reload toggle

This commit is contained in:
2026-04-12 10:58:25 +02:00
parent 6e3db6d498
commit 4a085bbb4b
2 changed files with 32 additions and 23 deletions
+5
View File
@@ -117,6 +117,11 @@ class Module(PlaylistAdvisor):
if not self.last_playlist: return True
reload_state = (playlist_dir / "reload")
if reload_state.exists():
reload_state.unlink(True)
return True
if check_if_playlist_modifed(self.last_playlist): return True
if Time.get_playlist_modification_time(self.last_playlist) > self.last_mod_time:
logger.info("Playlist changed on disc, reloading...")
+27 -23
View File
@@ -442,33 +442,37 @@
const dirs = payload.dirs || [];
dirsBox.innerHTML = "";
dirs.sort().forEach(f => {
const node = document.createElement("div");
node.className = "item";
node.textContent = f;
node.addEventListener("click", () => onDirClicked(f, node));
dirsBox.appendChild(node);
if(!f.startsWith(".")) {
const node = document.createElement("div");
node.className = "item";
node.textContent = f;
node.addEventListener("click", () => onDirClicked(f, node));
dirsBox.appendChild(node);
}
});
files.sort().forEach(f => {
const node = document.createElement("div");
node.className = "item";
node.textContent = f;
node.addEventListener("click", () => {
if(node.classList.contains("selected")) {
node.classList.remove("selected");
if(!f.startsWith(".")) {
const node = document.createElement("div");
node.className = "item";
node.textContent = f;
node.addEventListener("click", () => {
if(node.classList.contains("selected")) {
node.classList.remove("selected");
selectedDir = null;
selectedSubFile = null;
return;
}
Array.from(dirsBox.children).forEach(c=>c.classList.remove("selected"));
Array.from(document.getElementById("playlist-ul").children).forEach(c => c.classList.remove("selected"));
Array.from(document.getElementById("subdir-box").children).forEach(c => c.classList.remove("selected"));
node.classList.add("selected");
selectedDir = null;
selectedSubFile = null;
return;
}
Array.from(dirsBox.children).forEach(c=>c.classList.remove("selected"));
Array.from(document.getElementById("playlist-ul").children).forEach(c => c.classList.remove("selected"));
Array.from(document.getElementById("subdir-box").children).forEach(c => c.classList.remove("selected"));
node.classList.add("selected");
selectedDir = null;
selectedSubFile = null;
document.getElementById("subdir-box").innerHTML = "";
});
node.dataset.type = "file";
dirsBox.appendChild(node);
document.getElementById("subdir-box").innerHTML = "";
});
node.dataset.type = "file";
dirsBox.appendChild(node);
}
});
} catch(e) {
dirsBox.innerHTML = "Error fetching dirs: "+e.message;