From 0223aa83071d8b4bbdae40ffa91df6d167a7e247 Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Mon, 13 Apr 2020 12:43:12 -0400 Subject: [PATCH 1/9] Only show selected categories when submitting and added a "show more categories" button --- public/_locales/en/messages.json | 3 ++ src/components/SponsorTimeEditComponent.tsx | 36 +++++++++++++++++---- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/public/_locales/en/messages.json b/public/_locales/en/messages.json index 63d35ae4..b50929bd 100644 --- a/public/_locales/en/messages.json +++ b/public/_locales/en/messages.json @@ -528,5 +528,8 @@ }, "bracketNow": { "message": "(Now)" + }, + "moreCategories": { + "message": "More Categories" } } diff --git a/src/components/SponsorTimeEditComponent.tsx b/src/components/SponsorTimeEditComponent.tsx index 0235179f..d0ae55eb 100644 --- a/src/components/SponsorTimeEditComponent.tsx +++ b/src/components/SponsorTimeEditComponent.tsx @@ -154,7 +154,7 @@ class SponsorTimeEditComponent extends React.Component + onChange={this.categorySelectionChange.bind(this)}> {this.getCategoryOptions()} @@ -190,13 +190,21 @@ class SponsorTimeEditComponent extends React.Component - {chrome.i18n.getMessage("category_" + category)} + + ); + } + + if (elements.length < CompileConfig.categoryList.length) { + // Add show more button + elements.push( + ); } @@ -204,6 +212,20 @@ class SponsorTimeEditComponent extends React.Component) { + // See if show more categories was pressed + if (event.target.value === "moreCategories") { + // Open options page + chrome.runtime.sendMessage({"message": "openConfig"}); + + // Reset option to previous + event.target.value = this.props.contentContainer().sponsorTimesSubmitting[this.props.index].category; + return; + } + + this.saveEditTimes(); + } + setTimeToNow(index: number) { let sponsorTime = this.props.contentContainer().sponsorTimesSubmitting[this.props.index]; From 9fafb9cf540a2b33fc90ac33a0395265a64bb57f Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Mon, 13 Apr 2020 21:48:55 -0400 Subject: [PATCH 2/9] Made the submission notice scroll when too large --- public/content.css | 7 +++++++ src/components/SubmissionNoticeComponent.tsx | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/public/content.css b/public/content.css index 5d65f788..24d8b9ac 100644 --- a/public/content.css +++ b/public/content.css @@ -338,6 +338,13 @@ input::-webkit-inner-spin-button { margin: 0; } +.sponsorTimeMessagesRow { + max-height: 300px; + display: flex; + + overflow: auto; +} + .sponsorTimeEdit { font-size: 14px; diff --git a/src/components/SubmissionNoticeComponent.tsx b/src/components/SubmissionNoticeComponent.tsx index f35a458b..7688c9ba 100644 --- a/src/components/SubmissionNoticeComponent.tsx +++ b/src/components/SubmissionNoticeComponent.tsx @@ -57,8 +57,9 @@ class SubmissionNoticeComponent extends React.Component - + + {this.getSponsorTimeMessages()} From 638439a67117048803e2f6957fadf89574b0d140 Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Tue, 14 Apr 2020 00:10:20 -0400 Subject: [PATCH 3/9] Moved notice closing to renderer (no leftover nodes) --- src/components/NoticeComponent.tsx | 10 ++-------- src/components/SkipNoticeComponent.tsx | 5 ++++- src/components/SubmissionNoticeComponent.tsx | 4 ++++ src/render/SkipNotice.tsx | 19 ++++++++++++++----- src/render/SubmissionNotice.tsx | 17 ++++++++++++----- 5 files changed, 36 insertions(+), 19 deletions(-) diff --git a/src/components/NoticeComponent.tsx b/src/components/NoticeComponent.tsx index d554f85d..b7ff8adf 100644 --- a/src/components/NoticeComponent.tsx +++ b/src/components/NoticeComponent.tsx @@ -11,7 +11,7 @@ export interface NoticeProps { fadeIn?: boolean, // Callback for when this is closed - closeListener?: () => void, + closeListener: () => void, zIndex?: number } @@ -195,16 +195,10 @@ class NoticeComponent extends React.Component { * @param silent If true, the close listener will not be called */ close(silent?: boolean) { - //TODO: Change to a listener in the renderer (not component) - let notice = document.getElementById("sponsorSkipNotice" + this.idSuffix); - if (notice != null) { - notice.remove(); - } - //remove setInterval if (this.countdownInterval !== null) clearInterval(this.countdownInterval); - if (this.props.closeListener && !silent) this.props.closeListener(); + if (!silent) this.props.closeListener(); } changeNoticeTitle(title) { diff --git a/src/components/SkipNoticeComponent.tsx b/src/components/SkipNoticeComponent.tsx index 07572de6..08d817e6 100644 --- a/src/components/SkipNoticeComponent.tsx +++ b/src/components/SkipNoticeComponent.tsx @@ -14,6 +14,8 @@ export interface SkipNoticeProps { autoSkip: boolean; // Contains functions and variables from the content script needed by the skip notice contentContainer: ContentContainer; + + closeListener: () => void } export interface SkipNoticeState { @@ -112,7 +114,8 @@ class SkipNoticeComponent extends React.Component + ref={this.noticeRef} + closeListener={this.props.closeListener}> {(Config.config.audioNotificationOnSkip) &&