Fix audio playlist order
This commit is contained in:
parent
8f72df6e9c
commit
f5552a4cc3
@ -584,23 +584,29 @@ export class AppMediaPlaybackController extends EventListenerBase<{
|
||||
const listLoader = this.listLoader;
|
||||
const current = listLoader.getCurrent();
|
||||
if(!current || !verify(current)) {
|
||||
const previous = listLoader.getPrevious();
|
||||
|
||||
let idx = previous.findIndex(verify);
|
||||
let jumpLength: number;
|
||||
if(idx !== -1) {
|
||||
jumpLength = -(previous.length - idx);
|
||||
} else {
|
||||
idx = listLoader.getNext().findIndex(verify);
|
||||
|
||||
for(const withOtherSide of [false, true]) {
|
||||
const previous = listLoader.getPrevious(withOtherSide);
|
||||
|
||||
let idx = previous.findIndex(verify);
|
||||
if(idx !== -1) {
|
||||
jumpLength = idx + 1;
|
||||
jumpLength = -(previous.length - idx);
|
||||
} else {
|
||||
const next = listLoader.getNext(withOtherSide);
|
||||
idx = next.findIndex(verify);
|
||||
if(idx !== -1) {
|
||||
jumpLength = idx + 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(jumpLength !== undefined) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(idx !== -1) {
|
||||
if(jumpLength) {
|
||||
this.go(jumpLength, false);
|
||||
}
|
||||
if(jumpLength) {
|
||||
this.go(jumpLength, false);
|
||||
} else {
|
||||
this.setTargets({peerId, mid});
|
||||
}
|
||||
@ -645,7 +651,7 @@ export class AppMediaPlaybackController extends EventListenerBase<{
|
||||
const listLoader = this.listLoader;
|
||||
if(this.lockedSwitchers ||
|
||||
(!this.round && listLoader.current && !listLoader.next.length) ||
|
||||
!listLoader.getNext().length ||
|
||||
!listLoader.getNext(true).length ||
|
||||
!this.next()) {
|
||||
this.stop();
|
||||
this.dispatchEvent('stop');
|
||||
|
@ -191,20 +191,20 @@ export default class SearchListLoader<Item extends {mid: number, peerId: PeerId}
|
||||
}
|
||||
}
|
||||
|
||||
public getPrevious() {
|
||||
public getPrevious(withOtherSide?: boolean) {
|
||||
let previous = this.previous;
|
||||
|
||||
if(this.otherSideLoader) {
|
||||
if(this.otherSideLoader && withOtherSide) {
|
||||
previous = previous.concat(this.otherSideLoader.previous);
|
||||
}
|
||||
|
||||
return previous;
|
||||
}
|
||||
|
||||
public getNext() {
|
||||
public getNext(withOtherSide?: boolean) {
|
||||
let next = this.next;
|
||||
|
||||
if(this.otherSideLoader) {
|
||||
if(this.otherSideLoader && withOtherSide) {
|
||||
next = next.concat(this.otherSideLoader.next);
|
||||
}
|
||||
|
||||
|
@ -388,7 +388,7 @@ video::-webkit-media-controls-enclosure {
|
||||
}
|
||||
|
||||
&.is-focused .progress-line__filled:not(.progress-line__loaded):after {
|
||||
transform: translateX(calc(var(--thumb-size) / 2)) scale(1.25);
|
||||
transform: translateX(calc(var(--thumb-size) / 2)) scale(1.125);
|
||||
}
|
||||
|
||||
&__loaded, &:before {
|
||||
|
Loading…
Reference in New Issue
Block a user