diff options
author | Ajay Ramachandran <[email protected]> | 2021-10-15 00:31:07 -0400 |
---|---|---|
committer | Ajay Ramachandran <[email protected]> | 2021-10-15 00:31:07 -0400 |
commit | fcbeeb9fc11bee6b7c456d0a106a3eec0b7eab69 (patch) | |
tree | 613745c4e58a2d42b944f9bcccd936b3af8e1c30 | |
parent | fc7fc693ed5bc36866d54084f9db669f83aac937 (diff) | |
download | SponsorBlock-fcbeeb9fc11bee6b7c456d0a106a3eec0b7eab69.tar.gz SponsorBlock-fcbeeb9fc11bee6b7c456d0a106a3eec0b7eab69.zip |
Remove extra segment lookup and use lockbyhash lookup
-rw-r--r-- | src/components/SkipNoticeComponent.tsx | 8 | ||||
-rw-r--r-- | src/content.ts | 18 | ||||
-rw-r--r-- | src/types.ts | 2 |
3 files changed, 8 insertions, 20 deletions
diff --git a/src/components/SkipNoticeComponent.tsx b/src/components/SkipNoticeComponent.tsx index 4664ff76..6aad43dd 100644 --- a/src/components/SkipNoticeComponent.tsx +++ b/src/components/SkipNoticeComponent.tsx @@ -394,9 +394,9 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta submissionChooserColorSelector(index: number): string { const isDownvote = this.state.actionState == SkipNoticeAction.Downvote; const isCopyDownvote = this.state.actionState == SkipNoticeAction.CopyDownvote; - const shouldWarnUser: boolean = (isDownvote || isCopyDownvote) - && this.segments[index].locked === true; - return (shouldWarnUser) ? this.lockedColor : this.unselectedColor; + const shouldWarnUser = Config.config.isVip && (isDownvote || isCopyDownvote) + && this.segments[index].locked === 1; + return shouldWarnUser ? this.lockedColor : this.unselectedColor; } onMouseEnter(): void { @@ -728,7 +728,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta return (this.state.actionState === downvoteType) ? this.selectedColor : this.unselectedColor; } else { // You dont have segment selectors so the lockbutton needs to be colored and cannot be selected. - return (this.segments[0].locked === true) ? this.lockedColor : this.unselectedColor; + return Config.config.isVip && this.segments[0].locked === 1 ? this.lockedColor : this.unselectedColor; } } diff --git a/src/content.ts b/src/content.ts index 260e9760..760baa7c 100644 --- a/src/content.ts +++ b/src/content.ts @@ -764,7 +764,6 @@ function lookupVipInformation(id: string): void { updateVipInfo().then((isVip) => { if (isVip) { lockedCategoriesLookup(id); - lockedSegmentsLookup() } }) } @@ -794,24 +793,13 @@ async function updateVipInfo(): Promise<boolean> { return Config.config.isVip; } -async function lockedSegmentsLookup(): Promise<void> { - const response = await utils.asyncRequestToServer("GET", "/api/segmentInfo", { UUIDs: sponsorTimes?.map((segment) => segment.UUID) }); - - if (response.status === 200) { - for (let i = 0; i < sponsorTimes.length && i < 10; i++) { // Because the api only return 10 segments maximum - try { - sponsorTimes[i].locked = (JSON.parse(response.responseText)[i].locked === 1) ? true : false; - } catch (e) { } //eslint-disable-line no-empty - } - } -} - async function lockedCategoriesLookup(id: string): Promise<void> { - const response = await utils.asyncRequestToServer("GET", "/api/lockCategories", { videoID: id }); + const hashPrefix = (await utils.getHash(id, 1)).substr(0, 4); + const response = await utils.asyncRequestToServer("GET", "/api/lockCategories/" + hashPrefix); if (response.ok) { try { - const categoriesResponse = JSON.parse(response.responseText).categories; + const categoriesResponse = JSON.parse(response.responseText).filter((lockInfo) => lockInfo.videoID === id)[0]?.categories; if (Array.isArray(categoriesResponse)) { lockedCategories = categoriesResponse; } diff --git a/src/types.ts b/src/types.ts index 4ffdf33f..1caf257c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -75,7 +75,7 @@ export enum SponsorSourceType { export interface SponsorTime { segment: [number] | [number, number]; UUID: SegmentUUID; - locked?: boolean; + locked?: number; category: Category; actionType: ActionType; |