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]; }