Remove extra segment lookup and use lockbyhash lookup

This commit is contained in:
Ajay Ramachandran 2021-10-15 00:31:07 -04:00
parent fc7fc693ed
commit fcbeeb9fc1
3 changed files with 8 additions and 20 deletions

View file

@ -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;
}
}

View file

@ -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;
}

View file

@ -75,7 +75,7 @@ export enum SponsorSourceType {
export interface SponsorTime {
segment: [number] | [number, number];
UUID: SegmentUUID;
locked?: boolean;
locked?: number;
category: Category;
actionType: ActionType;