From a69c19581d2a94156137b4dd97d845ec893cf8a7 Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Sun, 7 Nov 2021 01:28:23 -0400 Subject: [PATCH] Fix chapter bar showing as empty sometimes --- src/js-components/previewBar.ts | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/js-components/previewBar.ts b/src/js-components/previewBar.ts index c451edd2..390b806a 100644 --- a/src/js-components/previewBar.ts +++ b/src/js-components/previewBar.ts @@ -227,7 +227,19 @@ class PreviewBar { this.customChaptersBar?.remove(); - if (segments?.length <= 0) { + // Merge overlapping chapters + const mergedSegments = segments?.filter((segment) => this.chapterFilter(segment)) + .reduce((acc, curr) => { + if (acc.length === 0 || curr.segment[0] > acc[acc.length - 1].segment[1]) { + acc.push(curr); + } else { + acc[acc.length - 1].segment[1] = Math.max(acc[acc.length - 1].segment[1], curr.segment[1]); + } + + return acc; + }, [] as PreviewBarSegment[]); + + if (mergedSegments?.length <= 0) { chapterBar.style.removeProperty("display"); return; } @@ -241,18 +253,6 @@ class PreviewBar { this.customChaptersBar = newChapterBar; this.chaptersBarSegments = segments; - // Merge overlapping chapters - const mergedSegments = segments.filter((segment) => this.chapterFilter(segment)) - .reduce((acc, curr) => { - if (acc.length === 0 || curr.segment[0] > acc[acc.length - 1].segment[1]) { - acc.push(curr); - } else { - acc[acc.length - 1].segment[1] = Math.max(acc[acc.length - 1].segment[1], curr.segment[1]); - } - - return acc; - }, [] as PreviewBarSegment[]); - // Modify it to have sections for each segment for (let i = 0; i < mergedSegments.length; i++) { const segment = mergedSegments[i];