Fix repeat all not triggering

This commit is contained in:
Matthew Stratford 2023-04-13 22:26:04 +01:00
parent d9a8b9c678
commit 2be7c2bb04

View file

@ -666,19 +666,7 @@ export const load = (
}
if (state.repeat === "one") {
playerInstance.play();
} else if (state.repeat === "all") {
if ("channel" in item) {
// it's not in the CML/libraries "column"
const itsChannel = getState()
.showplan.plan!.filter((x) => x.channel === item.channel)
.sort((x, y) => x.weight - y.weight);
const itsIndex = itsChannel.indexOf(item);
if (itsIndex === itsChannel.length - 1) {
dispatch(load(player, itsChannel[0]));
}
}
} else if (state.autoAdvance) {
if ("channel" in item) {
} else if (state.autoAdvance && "channel" in item) {
// it's not in the CML/libraries "column"
const itsChannel = getState()
.showplan.plan!.filter((x) => x.channel === item.channel)
@ -689,11 +677,14 @@ export const load = (
const itsIndex = itsChannel.findIndex(
(x) => itemId(x) === itemId(item)
);
if (itsIndex > -1 && itsIndex !== itsChannel.length - 1) {
if (itsIndex === itsChannel.length - 1 && state.repeat === "all") {
// Autoadvance and repeat all, we're on last item so jump to top!
dispatch(load(player, itsChannel[0]));
} else if (itsIndex > -1 && itsIndex !== itsChannel.length - 1) {
// We found the item and we're not the last item, load the next one!
dispatch(load(player, itsChannel[itsIndex + 1]));
}
}
}
});
// Double-check we haven't been aborted since