From 463ce258bf611074fc80445c2ded6155cb0f4f88 Mon Sep 17 00:00:00 2001 From: Alec Rust Date: Sat, 19 Mar 2022 14:39:09 +0000 Subject: [PATCH] Fix @typescript-eslint/no-unused-vars lint warnings --- .eslintrc.js | 1 + src/components/SkipNoticeComponent.tsx | 38 +++++++++++------------ src/components/TooltipComponent.tsx | 2 -- src/config.ts | 22 ++++++------- src/content.ts | 26 ---------------- src/js-components/skipButtonControlBar.ts | 8 ++--- 6 files changed, 33 insertions(+), 64 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 96035c76..622e66ad 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -21,6 +21,7 @@ module.exports = { }, plugins: ["react", "@typescript-eslint"], rules: { + '@typescript-eslint/no-unused-vars': 'error', // TODO: Remove warn rules when not needed anymore "no-self-assign": "off", "@typescript-eslint/no-empty-interface": "off", diff --git a/src/components/SkipNoticeComponent.tsx b/src/components/SkipNoticeComponent.tsx index 67facd3a..a972b325 100644 --- a/src/components/SkipNoticeComponent.tsx +++ b/src/components/SkipNoticeComponent.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import * as CompileConfig from "../../config.json"; import Config from "../config" -import { Category, ContentContainer, SponsorHideType, SponsorTime, NoticeVisbilityMode, ActionType, SponsorSourceType, SegmentUUID } from "../types"; +import { Category, ContentContainer, SponsorTime, NoticeVisbilityMode, ActionType, SponsorSourceType, SegmentUUID } from "../types"; import NoticeComponent from "./NoticeComponent"; import NoticeTextSelectionComponent from "./NoticeTextSectionComponent"; import Utils from "../utils"; @@ -72,7 +72,7 @@ class SkipNoticeComponent extends React.Component; @@ -105,7 +105,7 @@ class SkipNoticeComponent extends React.Component 1) { this.segments.sort((a, b) => a.segment[0] - b.segment[0]); } - + // This is the suffix added at the end of every id for (const segment of this.segments) { this.idSuffix += segment.UUID; @@ -168,7 +168,7 @@ class SkipNoticeComponent extends React.Component= NoticeVisbilityMode.FadedForAll + startFaded={Config.config.noticeVisibilityMode >= NoticeVisbilityMode.FadedForAll || (Config.config.noticeVisibilityMode >= NoticeVisbilityMode.FadedForAutoSkip && this.autoSkip)} timed={true} maxCountdownTime={this.state.maxCountdownTime} @@ -205,7 +205,7 @@ class SkipNoticeComponent extends React.Component {/* Vote Button Container */} - {!this.state.thanksForVotingText ? + {!this.state.thanksForVotingText ? @@ -268,7 +268,7 @@ class SkipNoticeComponent extends React.Component @@ -379,7 +379,7 @@ class SkipNoticeComponent extends React.Component this.performAction(i)} key={"submission" + i + this.segments[i].category + this.idSuffix}> @@ -404,7 +404,7 @@ class SkipNoticeComponent extends React.Component { @@ -723,7 +723,7 @@ class SkipNoticeComponent extends React.Component = { set(obj: SBConfig, prop: K, value: SBConfig[K]) { Config.cachedSyncConfig[prop] = value; @@ -327,10 +327,10 @@ function configProxy(): { sync: SBConfig, local: SBStorage } { return obj[prop] || data; }, - + deleteProperty(obj: SBConfig, prop: keyof SBConfig) { chrome.storage.sync.remove( prop); - + return true; } @@ -352,10 +352,10 @@ function configProxy(): { sync: SBConfig, local: SBStorage } { return obj[prop] || data; }, - + deleteProperty(obj: SBStorage, prop: keyof SBStorage) { chrome.storage.local.remove( prop); - + return true; } @@ -379,7 +379,7 @@ function forceLocalUpdate(prop: string): void { }); } -async function fetchConfig(): Promise { +async function fetchConfig(): Promise { await Promise.all([new Promise((resolve) => { chrome.storage.sync.get(null, function(items) { Config.cachedSyncConfig = items; @@ -387,7 +387,7 @@ async function fetchConfig(): Promise { }); }), new Promise((resolve) => { chrome.storage.local.get(null, function(items) { - Config.cachedLocalStorage = items; + Config.cachedLocalStorage = items; resolve(); }); })]); @@ -431,9 +431,9 @@ function migrateOldSyncFormats(config: SBConfig) { if (!config["autoSkipOnMusicVideosUpdate"]) { config["autoSkipOnMusicVideosUpdate"] = true; for (const selection of config.categorySelections) { - if (selection.name === "music_offtopic" + if (selection.name === "music_offtopic" && selection.option === CategorySkipOption.AutoSkip) { - + config.autoSkipOnMusicVideos = true; break; } diff --git a/src/content.ts b/src/content.ts index 655259ef..c6b8ba9f 100644 --- a/src/content.ts +++ b/src/content.ts @@ -318,9 +318,6 @@ async function videoIDChange(id) { } } - // Get new video info - // getVideoInfo(); // Seems to have been replaced - // Update whitelist data when the video data is loaded whitelistCheck(); @@ -898,12 +895,10 @@ function startSkipScheduleCheckingForStartSponsors() { // See if there are any starting sponsors let startingSegmentTime = getStartTimeFromUrl(document.URL) || -1; let found = false; - let startingSegment: SponsorTime = null; for (const time of sponsorTimes) { if (time.segment[0] <= video.currentTime && time.segment[0] > startingSegmentTime && time.segment[1] > video.currentTime && time.actionType !== ActionType.Poi) { startingSegmentTime = time.segment[0]; - startingSegment = time; found = true; break; } @@ -913,7 +908,6 @@ function startSkipScheduleCheckingForStartSponsors() { if (time.segment[0] <= video.currentTime && time.segment[0] > startingSegmentTime && time.segment[1] > video.currentTime && time.actionType !== ActionType.Poi) { startingSegmentTime = time.segment[0]; - startingSegment = time; found = true; break; } @@ -951,26 +945,6 @@ function startSkipScheduleCheckingForStartSponsors() { } } -/** - * Get the video info for the current tab from YouTube - * - * TODO: Replace - */ -async function getVideoInfo(): Promise { - const result = await utils.asyncRequestToCustomServer("GET", "https://www.youtube.com/get_video_info?video_id=" + sponsorVideoID + "&html5=1&c=TVHTML5&cver=7.20190319"); - - if (result.ok) { - const decodedData = decodeURIComponent(result.responseText).match(/player_response=([^&]*)/)[1]; - if (!decodedData) { - console.error("[SB] Failed at getting video info from YouTube."); - console.error("[SB] Data returned from YouTube: " + result.responseText); - return; - } - - videoInfo = JSON.parse(decodedData); - } -} - function getYouTubeVideoID(document: Document): string | boolean { const url = document.URL; // clips should never skip, going from clip to full video has no indications. diff --git a/src/js-components/skipButtonControlBar.ts b/src/js-components/skipButtonControlBar.ts index 62f572f0..95ed81f8 100644 --- a/src/js-components/skipButtonControlBar.ts +++ b/src/js-components/skipButtonControlBar.ts @@ -2,10 +2,7 @@ import Config from "../config"; import { SponsorTime } from "../types"; import { getSkippingText } from "../utils/categoryUtils"; import { keybindToString } from "../utils/configUtils"; - -import Utils from "../utils"; import { AnimationUtils } from "../utils/animationUtils"; -const utils = new Utils(); export interface SkipButtonControlBarProps { skip: (segment: SponsorTime) => void; @@ -53,7 +50,7 @@ export class SkipButtonControlBar { this.skipIcon.id = "sbSkipIconControlBarImage"; this.textContainer = document.createElement("div"); - + this.container.appendChild(this.skipIcon); this.container.appendChild(this.textContainer); this.container.addEventListener("click", () => this.toggleSkip()); @@ -73,7 +70,7 @@ export class SkipButtonControlBar { attachToPage(): void { const mountingContainer = this.getMountingContainer(); this.chapterText = document.querySelector(".ytp-chapter-container"); - + if (mountingContainer && !mountingContainer.contains(this.container)) { if (this.onMobileYouTube) { mountingContainer.appendChild(this.container); @@ -220,4 +217,3 @@ export class SkipButtonControlBar { this.container.style.left = this.left + "px"; } } -