aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/content.ts4
-rw-r--r--src/utils/exporter.ts33
2 files changed, 19 insertions, 18 deletions
diff --git a/src/content.ts b/src/content.ts
index a7b8c45b..a48dca2b 100644
--- a/src/content.ts
+++ b/src/content.ts
@@ -303,7 +303,9 @@ function messageListener(request: Message, sender: unknown, sendResponse: (respo
if (!sponsorTimesSubmitting.some(
(s) => Math.abs(s.segment[0] - segment.segment[0]) < 1
&& Math.abs(s.segment[1] - segment.segment[1]) < 1)) {
- if (segment.category === "chapter" && !utils.getCategorySelection("chapter")) {
+ const hasChaptersPermission = (Config.config.showCategoryWithoutPermission
+ || Config.config.permissions["chapter"]);
+ if (segment.category === "chapter" && (!utils.getCategorySelection("chapter") || !hasChaptersPermission)) {
segment.category = "chooseACategory" as Category;
segment.actionType = ActionType.Skip;
segment.description = "";
diff --git a/src/utils/exporter.ts b/src/utils/exporter.ts
index 40d0f257..85e1b383 100644
--- a/src/utils/exporter.ts
+++ b/src/utils/exporter.ts
@@ -53,24 +53,23 @@ export function importTimes(data: string, videoDuration: number): SponsorTime[]
titleRight = removeIf(split2[split2.length - 1], specialCharMatchers)
const title = titleLeft?.length > titleRight?.length ? titleLeft : titleRight;
- if (title) {
- const determinedCategory = chapterNames.find(c => c.names.includes(title))?.code as Category;
-
- const segment: SponsorTime = {
- segment: [startTime, getFormattedTimeToSeconds(match[1])],
- category: determinedCategory ?? ("chapter" as Category),
- actionType: determinedCategory ? ActionType.Skip : ActionType.Chapter,
- description: title,
- source: SponsorSourceType.Local,
- UUID: generateUserID() as SegmentUUID
- };
-
- if (result.length > 0 && result[result.length - 1].segment[1] === null) {
- result[result.length - 1].segment[1] = segment.segment[0];
- }
-
- result.push(segment);
+ const determinedCategory = chapterNames.find(c => c.names.includes(title))?.code as Category;
+
+ const category = title ? (determinedCategory ?? ("chapter" as Category)) : "chooseACategory" as Category;
+ const segment: SponsorTime = {
+ segment: [startTime, getFormattedTimeToSeconds(match[1])],
+ category,
+ actionType: category === "chapter" ? ActionType.Chapter : ActionType.Skip,
+ description: category === "chapter" ? title : null,
+ source: SponsorSourceType.Local,
+ UUID: generateUserID() as SegmentUUID
+ };
+
+ if (result.length > 0 && result[result.length - 1].segment[1] === null) {
+ result[result.length - 1].segment[1] = segment.segment[0];
}
+
+ result.push(segment);
}
}
}