mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-13 15:07:02 +03:00
Fix spamming user info on options page and improve popup values
This commit is contained in:
@@ -88,6 +88,7 @@ interface SBConfig {
|
|||||||
payments: {
|
payments: {
|
||||||
licenseKey: string,
|
licenseKey: string,
|
||||||
lastCheck: number,
|
lastCheck: number,
|
||||||
|
lastFreeCheck: number,
|
||||||
freeAccess: boolean,
|
freeAccess: boolean,
|
||||||
chaptersAllowed: boolean
|
chaptersAllowed: boolean
|
||||||
}
|
}
|
||||||
@@ -229,6 +230,7 @@ const Config: SBObject = {
|
|||||||
payments: {
|
payments: {
|
||||||
licenseKey: null,
|
licenseKey: null,
|
||||||
lastCheck: 0,
|
lastCheck: 0,
|
||||||
|
lastFreeCheck: 0,
|
||||||
freeAccess: false,
|
freeAccess: false,
|
||||||
chaptersAllowed: false
|
chaptersAllowed: false
|
||||||
},
|
},
|
||||||
|
|||||||
10
src/popup.ts
10
src/popup.ts
@@ -10,6 +10,7 @@ import { shortCategoryName } from "./utils/categoryUtils";
|
|||||||
import { localizeHtmlPage } from "./utils/pageUtils";
|
import { localizeHtmlPage } from "./utils/pageUtils";
|
||||||
import { exportTimes } from "./utils/exporter";
|
import { exportTimes } from "./utils/exporter";
|
||||||
import GenericNotice from "./render/GenericNotice";
|
import GenericNotice from "./render/GenericNotice";
|
||||||
|
import { noRefreshFetchingChaptersAllowed } from "./utils/licenseKey";
|
||||||
const utils = new Utils();
|
const utils = new Utils();
|
||||||
|
|
||||||
interface MessageListener {
|
interface MessageListener {
|
||||||
@@ -259,9 +260,14 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||||||
if (dontShowNotice != undefined && dontShowNotice) {
|
if (dontShowNotice != undefined && dontShowNotice) {
|
||||||
PageElements.showNoticeAgain.style.display = "unset";
|
PageElements.showNoticeAgain.style.display = "unset";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const values = ["userName", "viewCount", "minutesSaved", "vip", "permissions"];
|
||||||
|
if (!Config.config.payments.freeAccess && !noRefreshFetchingChaptersAllowed()) values.push("freeChaptersAccess");
|
||||||
|
|
||||||
utils.sendRequestToServer("GET", "/api/userInfo?value=userName&value=viewCount&value=minutesSaved&value=vip&value=permissions&value=freeChaptersAccess&userID="
|
utils.asyncRequestToServer("GET", "/api/userInfo", {
|
||||||
+ Config.config.userID, (res) => {
|
userID: Config.config.userID,
|
||||||
|
values
|
||||||
|
}).then((res) => {
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
const userInfo = JSON.parse(res.responseText);
|
const userInfo = JSON.parse(res.responseText);
|
||||||
PageElements.usernameValue.innerText = userInfo.userName;
|
PageElements.usernameValue.innerText = userInfo.userName;
|
||||||
|
|||||||
@@ -46,7 +46,10 @@ export async function fetchingChaptersAllowed(): Promise<boolean> {
|
|||||||
|
|
||||||
if (Config.config.payments.chaptersAllowed) return true;
|
if (Config.config.payments.chaptersAllowed) return true;
|
||||||
|
|
||||||
if (Config.config.payments.lastCheck === 0) {
|
if (Config.config.payments.lastCheck === 0 && Date.now() - Config.config.payments.lastFreeCheck > 2 * 24 * 60 * 60 * 1000) {
|
||||||
|
Config.config.payments.lastFreeCheck = Date.now();
|
||||||
|
Config.forceSyncUpdate("payments");
|
||||||
|
|
||||||
// Check for free access if no license key, and it is the first time
|
// Check for free access if no license key, and it is the first time
|
||||||
const result = await utils.asyncRequestToServer("GET", "/api/userInfo", {
|
const result = await utils.asyncRequestToServer("GET", "/api/userInfo", {
|
||||||
value: "freeChaptersAccess",
|
value: "freeChaptersAccess",
|
||||||
@@ -56,7 +59,7 @@ export async function fetchingChaptersAllowed(): Promise<boolean> {
|
|||||||
try {
|
try {
|
||||||
if (result.ok) {
|
if (result.ok) {
|
||||||
const userInfo = JSON.parse(result.responseText);
|
const userInfo = JSON.parse(result.responseText);
|
||||||
|
|
||||||
Config.config.payments.lastCheck = Date.now();
|
Config.config.payments.lastCheck = Date.now();
|
||||||
if (userInfo.freeChaptersAccess) {
|
if (userInfo.freeChaptersAccess) {
|
||||||
Config.config.payments.freeAccess = true;
|
Config.config.payments.freeAccess = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user