diff options
| author | Max Isom <[email protected]> | 2020-03-17 19:42:28 -0500 |
|---|---|---|
| committer | Max Isom <[email protected]> | 2020-03-17 19:42:28 -0500 |
| commit | c058ec95feacd57eebdb07d4f44469c5c6c4bc01 (patch) | |
| tree | 15d9032d315ccc9c6368dd257118ce9fb79d7696 /src/services/queue.ts | |
| parent | 15d4e251f2af47288b4d5720b8a7b763e72731c0 (diff) | |
| download | muse-c058ec95feacd57eebdb07d4f44469c5c6c4bc01.tar.xz muse-c058ec95feacd57eebdb07d4f44469c5c6c4bc01.zip | |
Various bug fixes
Diffstat (limited to 'src/services/queue.ts')
| -rw-r--r-- | src/services/queue.ts | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/services/queue.ts b/src/services/queue.ts index c929eea..1c766f1 100644 --- a/src/services/queue.ts +++ b/src/services/queue.ts @@ -34,8 +34,16 @@ export default class { } } + getCurrent(): QueuedSong | null { + if (this.queue[this.position]) { + return this.queue[this.position]; + } + + return null; + } + get(): QueuedSong[] { - return this.queue.slice(this.position); + return this.queue.slice(this.position + 1); } add(song: QueuedSong): void { @@ -61,7 +69,7 @@ export default class { } shuffle(): void { - this.queue = [this.queue[0], ...shuffle(this.queue.slice(1))]; + this.queue = [...this.queue.slice(0, this.position), this.queue[this.position], this.queue[0], ...shuffle(this.queue.slice(this.position + 1))]; } clear(): void { @@ -76,7 +84,7 @@ export default class { } size(): number { - return this.queue.length; + return this.get().length; } isEmpty(): boolean { |
