add default loop mode option

This commit is contained in:
torcado194 2022-09-18 17:12:08 -04:00
parent 6aad3e583e
commit 504f7ab0e7
2 changed files with 36 additions and 10 deletions

View file

@ -100,6 +100,14 @@ And that's it! you can upload the files to your website, or zip them up and uplo
`theme` (optional)
> An object containing theme settings and colors
\
`loopModeDefault` (optional)
> The type of loop mode to start with.
> Can be set to one of:
> - `"none"` (no looping) (default)
> - `"playlist"` (after the last track ends, start playing the first track)
> - `"track"` (loop the same selected track repeatedly)
-----
**media entry options**

View file

@ -911,6 +911,14 @@
descriptionEl.innerHTML = description;
}
}
function updateLoopMode(mode){
if(mode === undefined || mode === ''){
config.loopModeDefault = 'none';
} else {
config.loopModeDefault = mode;
}
loopSwitch(config.loopModeDefault);
}
function localStorageSet(key, value){
try {
@ -945,6 +953,7 @@
loadContent(data);
updateTitle(title)
updateDescription(description);
updateLoopMode(data.loopModeDefault)
updateTheme(theme);
updateTrackPreview();
@ -1453,22 +1462,31 @@
loadEntry(entry);
}
}
function loopSwitch(){
function loopSwitch(mode){
loopSwitchEl.classList.remove('icon-loop', 'icon-loop-1');
loopSwitchEl.style.opacity = 1;
if(loopMode === "none"){
loopMode = "playlist";
loopSwitchEl.classList.add('icon-loop');
loopSwitchEl.setAttribute('title', 'loop playlist');
} else if(loopMode === "playlist"){
loopMode = "track";
loopSwitchEl.classList.add('icon-loop-1');
loopSwitchEl.setAttribute('title', 'loop track');
if(mode){
loopMode = mode;
} else {
loopMode = "none";
if(loopMode === "none"){
loopMode = "playlist";
} else if(loopMode === "playlist"){
loopMode = "track";
} else {
loopMode = "none";
}
}
if(loopMode === "none"){
loopSwitchEl.classList.add('icon-loop');
loopSwitchEl.style.opacity = 0.5;
loopSwitchEl.setAttribute('title', 'loop off');
} else if(loopMode === "playlist"){
loopSwitchEl.classList.add('icon-loop');
loopSwitchEl.setAttribute('title', 'loop playlist');
} else {
loopSwitchEl.classList.add('icon-loop-1');
loopSwitchEl.setAttribute('title', 'loop track');
}
}