From 1bf8f519c6ef21bd4c64b954cc0c7ed195dd51df Mon Sep 17 00:00:00 2001 From: Bauke Date: Tue, 25 Oct 2022 14:54:22 +0200 Subject: [PATCH] Fix new queue items not being sorted properly. --- source/settings/settings.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/source/settings/settings.ts b/source/settings/settings.ts index 512d44c..3666d93 100644 --- a/source/settings/settings.ts +++ b/source/settings/settings.ts @@ -39,10 +39,12 @@ export class Settings { public async insertQueueItem(text: string, url: string): Promise { const id = this.newQueueItemId(); + const sortIndex = this.newQueueItemSortIndex(); + const item: Queue.Item = { added: new Date(), id, - sortIndex: id, + sortIndex, text, url, }; @@ -52,7 +54,7 @@ export class Settings { [`qi${id}`]: { added: item.added.toISOString(), id, - sortIndex: id, + sortIndex, text, url, }, @@ -85,6 +87,11 @@ export class Settings { return item === undefined ? 1 : item.id + 1; } + public newQueueItemSortIndex(): number { + const item = this.queue.sort((a, b) => b.sortIndex - a.sortIndex)[0]; + return item === undefined ? 1 : item.sortIndex + 1; + } + public nextQueueItem(): Queue.Item | undefined { return this.queue.sort((a, b) => a.sortIndex - b.sortIndex)[0]; }