mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-06-06 07:37:19 +02:00
Linting
This commit is contained in:
parent
557a38214d
commit
4011eb402a
20
dist/better-xcloud.lite.user.js
vendored
20
dist/better-xcloud.lite.user.js
vendored
@ -38,7 +38,7 @@ try {
|
||||
if (!BX_FLAGS.DeviceInfo.userAgent) BX_FLAGS.DeviceInfo.userAgent = window.navigator.userAgent;
|
||||
BxLogger.info("BxFlags", BX_FLAGS);
|
||||
var NATIVE_FETCH = window.fetch;
|
||||
var SMART_TV_UNIQUE_ID = "FC4A1DA2-711C-4E9C-BC7F-047AF8A672EA", CHROMIUM_VERSION = "123.0.0.0";
|
||||
var SMART_TV_UNIQUE_ID = "FC4A1DA2-711C-4E9C-BC7F-047AF8A672EA", CHROMIUM_VERSION = "125.0.0.0";
|
||||
if (!!window.chrome || window.navigator.userAgent.includes("Chrome")) {
|
||||
let match = window.navigator.userAgent.match(/\s(?:Chrome|Edg)\/([\d\.]+)/);
|
||||
if (match) CHROMIUM_VERSION = match[1];
|
||||
@ -2515,6 +2515,7 @@ class ControllerSettingsTable extends BaseLocalTable {
|
||||
async getControllersData() {
|
||||
let all = await this.getAll(), results = {};
|
||||
for (let key in all) {
|
||||
if (!all[key]) continue;
|
||||
let settings = all[key].data;
|
||||
settings.vibrationIntensity /= 100, results[key] = settings;
|
||||
}
|
||||
@ -3085,8 +3086,14 @@ class EmulatedMkbHandler extends MkbHandler {
|
||||
else this.mouseDataProvider = new PointerLockMouseDataProvider(this);
|
||||
if (this.mouseDataProvider.init(), window.addEventListener("keydown", this.onKeyboardEvent), window.addEventListener("keyup", this.onKeyboardEvent), window.addEventListener(BxEvent.XCLOUD_POLLING_MODE_CHANGED, this.onPollingModeChanged), window.addEventListener(BxEvent.XCLOUD_DIALOG_SHOWN, this.onDialogShown), AppInterface) window.addEventListener(BxEvent.POINTER_LOCK_REQUESTED, this), window.addEventListener(BxEvent.POINTER_LOCK_EXITED, this);
|
||||
else document.addEventListener("pointerlockchange", this.onPointerLockChange), document.addEventListener("pointerlockerror", this.onPointerLockError);
|
||||
if (MkbPopup.getInstance().reset(), AppInterface) Toast.show(t("press-key-to-toggle-mkb", { key: "<b>F8</b>" }), t("virtual-controller"), { html: !0 }), this.waitForMouseData(!1);
|
||||
else this.waitForMouseData(!0);
|
||||
if (MkbPopup.getInstance().reset(), AppInterface) {
|
||||
let shortcutKey = StreamSettings.findKeyboardShortcut("mkb.toggle");
|
||||
if (shortcutKey) {
|
||||
let msg = t("press-key-to-toggle-mkb", { key: `<b>${KeyHelper.codeToKeyName(shortcutKey)}</b>` });
|
||||
Toast.show(msg, t("native-mkb"), { html: !0 });
|
||||
}
|
||||
this.waitForMouseData(!1);
|
||||
} else this.waitForMouseData(!0);
|
||||
}
|
||||
destroy() {
|
||||
if (!this.initialized) return;
|
||||
@ -3295,7 +3302,7 @@ class NavigationDialogManager {
|
||||
if (this.gamepadLastStates[gamepad.index] = null, lastKeyPressed) return;
|
||||
if (this.updateActiveInput("gamepad"), this.handleGamepad(gamepad, releasedButton)) return;
|
||||
if (releasedButton === 0) {
|
||||
document.activeElement && document.activeElement.dispatchEvent(new MouseEvent("click", { bubbles: !0 }));
|
||||
document.activeElement?.dispatchEvent(new MouseEvent("click", { bubbles: !0 }));
|
||||
return;
|
||||
} else if (releasedButton === 1) {
|
||||
this.hide();
|
||||
@ -3560,6 +3567,7 @@ class BxSelectElement extends HTMLSelectElement {
|
||||
$btnPrev.classList.toggle("bx-inactive", disableButtons), $btnNext.classList.toggle("bx-inactive", disableButtons);
|
||||
for (let i = 0;i < optionsList.length; i++) {
|
||||
let $option2 = optionsList[i], $indicator = indicatorsList[i];
|
||||
if (!$option2 || !$indicator) continue;
|
||||
if (clearDataSet($indicator), $option2.selected) $indicator.dataset.selected = "true";
|
||||
if ($option2.index === visibleIndex) $indicator.dataset.highlighted = "true";
|
||||
}
|
||||
@ -5489,7 +5497,7 @@ class XcloudInterceptor {
|
||||
let PREF_STREAM_TARGET_RESOLUTION = getPref("stream.video.resolution"), PREF_STREAM_PREFERRED_LOCALE = getPref("stream.locale"), url = typeof request === "string" ? request : request.url, parsedUrl = new URL(url), badgeRegion = parsedUrl.host.split(".", 1)[0];
|
||||
for (let regionName in STATES.serverRegions) {
|
||||
let region = STATES.serverRegions[regionName];
|
||||
if (parsedUrl.origin == region.baseUri) {
|
||||
if (region && parsedUrl.origin === region.baseUri) {
|
||||
badgeRegion = regionName;
|
||||
break;
|
||||
}
|
||||
@ -6307,7 +6315,7 @@ class XboxApi {
|
||||
let url = `https://displaycatalog.mp.microsoft.com/v7.0/products/lookup?market=US&languages=en&value=${xboxTitleId}&alternateId=XboxTitleId&fieldsTemplate=browse`, productTitle = (await (await NATIVE_FETCH(url)).json()).Products[0].LocalizedProperties[0].ProductTitle;
|
||||
return XboxApi.CACHED_TITLES[xboxTitleId] = productTitle, productTitle;
|
||||
} catch (e) {}
|
||||
return null;
|
||||
return;
|
||||
}
|
||||
}
|
||||
class RootDialogObserver {
|
||||
|
32
dist/better-xcloud.user.js
vendored
32
dist/better-xcloud.user.js
vendored
@ -40,7 +40,7 @@ try {
|
||||
if (!BX_FLAGS.DeviceInfo.userAgent) BX_FLAGS.DeviceInfo.userAgent = window.navigator.userAgent;
|
||||
BxLogger.info("BxFlags", BX_FLAGS);
|
||||
var NATIVE_FETCH = window.fetch;
|
||||
var SMART_TV_UNIQUE_ID = "FC4A1DA2-711C-4E9C-BC7F-047AF8A672EA", CHROMIUM_VERSION = "123.0.0.0";
|
||||
var SMART_TV_UNIQUE_ID = "FC4A1DA2-711C-4E9C-BC7F-047AF8A672EA", CHROMIUM_VERSION = "125.0.0.0";
|
||||
if (!!window.chrome || window.navigator.userAgent.includes("Chrome")) {
|
||||
let match = window.navigator.userAgent.match(/\s(?:Chrome|Edg)\/([\d\.]+)/);
|
||||
if (match) CHROMIUM_VERSION = match[1];
|
||||
@ -2624,6 +2624,7 @@ class ControllerSettingsTable extends BaseLocalTable {
|
||||
async getControllersData() {
|
||||
let all = await this.getAll(), results = {};
|
||||
for (let key in all) {
|
||||
if (!all[key]) continue;
|
||||
let settings = all[key].data;
|
||||
settings.vibrationIntensity /= 100, results[key] = settings;
|
||||
}
|
||||
@ -3200,8 +3201,14 @@ class EmulatedMkbHandler extends MkbHandler {
|
||||
else this.mouseDataProvider = new PointerLockMouseDataProvider(this);
|
||||
if (this.mouseDataProvider.init(), window.addEventListener("keydown", this.onKeyboardEvent), window.addEventListener("keyup", this.onKeyboardEvent), window.addEventListener(BxEvent.XCLOUD_POLLING_MODE_CHANGED, this.onPollingModeChanged), window.addEventListener(BxEvent.XCLOUD_DIALOG_SHOWN, this.onDialogShown), AppInterface) window.addEventListener(BxEvent.POINTER_LOCK_REQUESTED, this), window.addEventListener(BxEvent.POINTER_LOCK_EXITED, this);
|
||||
else document.addEventListener("pointerlockchange", this.onPointerLockChange), document.addEventListener("pointerlockerror", this.onPointerLockError);
|
||||
if (MkbPopup.getInstance().reset(), AppInterface) Toast.show(t("press-key-to-toggle-mkb", { key: "<b>F8</b>" }), t("virtual-controller"), { html: !0 }), this.waitForMouseData(!1);
|
||||
else this.waitForMouseData(!0);
|
||||
if (MkbPopup.getInstance().reset(), AppInterface) {
|
||||
let shortcutKey = StreamSettings.findKeyboardShortcut("mkb.toggle");
|
||||
if (shortcutKey) {
|
||||
let msg = t("press-key-to-toggle-mkb", { key: `<b>${KeyHelper.codeToKeyName(shortcutKey)}</b>` });
|
||||
Toast.show(msg, t("native-mkb"), { html: !0 });
|
||||
}
|
||||
this.waitForMouseData(!1);
|
||||
} else this.waitForMouseData(!0);
|
||||
}
|
||||
destroy() {
|
||||
if (!this.initialized) return;
|
||||
@ -3418,7 +3425,7 @@ class NavigationDialogManager {
|
||||
if (this.gamepadLastStates[gamepad.index] = null, lastKeyPressed) return;
|
||||
if (this.updateActiveInput("gamepad"), this.handleGamepad(gamepad, releasedButton)) return;
|
||||
if (releasedButton === 0) {
|
||||
document.activeElement && document.activeElement.dispatchEvent(new MouseEvent("click", { bubbles: !0 }));
|
||||
document.activeElement?.dispatchEvent(new MouseEvent("click", { bubbles: !0 }));
|
||||
return;
|
||||
} else if (releasedButton === 1) {
|
||||
this.hide();
|
||||
@ -3869,6 +3876,7 @@ class BxSelectElement extends HTMLSelectElement {
|
||||
$btnPrev.classList.toggle("bx-inactive", disableButtons), $btnNext.classList.toggle("bx-inactive", disableButtons);
|
||||
for (let i = 0;i < optionsList.length; i++) {
|
||||
let $option2 = optionsList[i], $indicator = indicatorsList[i];
|
||||
if (!$option2 || !$indicator) continue;
|
||||
if (clearDataSet($indicator), $option2.selected) $indicator.dataset.selected = "true";
|
||||
if ($option2.index === visibleIndex) $indicator.dataset.highlighted = "true";
|
||||
}
|
||||
@ -4329,7 +4337,9 @@ BxEvent.dispatch(window, BxEvent.XCLOUD_POLLING_MODE_CHANGED);
|
||||
patchXcloudTitleInfo(str) {
|
||||
let text = "async cloudConnect", index = str.indexOf(text);
|
||||
if (index < 0) return !1;
|
||||
let backetIndex = str.indexOf("{", index), titleInfoVar = str.substring(index, backetIndex).match(/\(([^)]+)\)/)[1].split(",")[0], newCode = `
|
||||
let backetIndex = str.indexOf("{", index), params = str.substring(index, backetIndex).match(/\(([^)]+)\)/)[1];
|
||||
if (!params) return !1;
|
||||
let titleInfoVar = params.split(",")[0], newCode = `
|
||||
${titleInfoVar} = window.BX_EXPOSED.modifyTitleInfo(${titleInfoVar});
|
||||
BxLogger.info('patchXcloudTitleInfo', ${titleInfoVar});
|
||||
`;
|
||||
@ -4338,7 +4348,9 @@ BxLogger.info('patchXcloudTitleInfo', ${titleInfoVar});
|
||||
patchRemotePlayMkb(str) {
|
||||
let text = "async homeConsoleConnect", index = str.indexOf(text);
|
||||
if (index < 0) return !1;
|
||||
let backetIndex = str.indexOf("{", index), configsVar = str.substring(index, backetIndex).match(/\(([^)]+)\)/)[1].split(",")[1], newCode = `
|
||||
let backetIndex = str.indexOf("{", index), params = str.substring(index, backetIndex).match(/\(([^)]+)\)/)[1];
|
||||
if (!params) return !1;
|
||||
let configsVar = params.split(",")[1], newCode = `
|
||||
Object.assign(${configsVar}.inputConfiguration, {
|
||||
enableMouseInput: false,
|
||||
enableKeyboardInput: false,
|
||||
@ -7317,7 +7329,7 @@ class XhomeInterceptor {
|
||||
XhomeInterceptor.consoleAddrs = {};
|
||||
for (let pair of pairs) {
|
||||
let [keyAddr, keyPort] = pair;
|
||||
if (serverDetails[keyAddr]) {
|
||||
if (keyAddr && keyPort && serverDetails[keyAddr]) {
|
||||
let port = serverDetails[keyPort], ports = new Set;
|
||||
port && ports.add(port), ports.add(9002), XhomeInterceptor.consoleAddrs[serverDetails[keyAddr]] = Array.from(ports);
|
||||
}
|
||||
@ -7836,7 +7848,7 @@ class XcloudInterceptor {
|
||||
let PREF_STREAM_TARGET_RESOLUTION = getPref("stream.video.resolution"), PREF_STREAM_PREFERRED_LOCALE = getPref("stream.locale"), url = typeof request === "string" ? request : request.url, parsedUrl = new URL(url), badgeRegion = parsedUrl.host.split(".", 1)[0];
|
||||
for (let regionName in STATES.serverRegions) {
|
||||
let region = STATES.serverRegions[regionName];
|
||||
if (parsedUrl.origin == region.baseUri) {
|
||||
if (region && parsedUrl.origin === region.baseUri) {
|
||||
badgeRegion = regionName;
|
||||
break;
|
||||
}
|
||||
@ -8814,7 +8826,7 @@ class XcloudApi {
|
||||
async getTitleInfo(id) {
|
||||
if (id in this.CACHE_TITLES) return this.CACHE_TITLES[id];
|
||||
let baseUri = STATES.selectedRegion.baseUri;
|
||||
if (!baseUri || !STATES.gsToken) return null;
|
||||
if (!baseUri || !STATES.gsToken) return;
|
||||
let json;
|
||||
try {
|
||||
json = (await (await NATIVE_FETCH(`${baseUri}/v2/titles`, {
|
||||
@ -9048,7 +9060,7 @@ class XboxApi {
|
||||
let url = `https://displaycatalog.mp.microsoft.com/v7.0/products/lookup?market=US&languages=en&value=${xboxTitleId}&alternateId=XboxTitleId&fieldsTemplate=browse`, productTitle = (await (await NATIVE_FETCH(url)).json()).Products[0].LocalizedProperties[0].ProductTitle;
|
||||
return XboxApi.CACHED_TITLES[xboxTitleId] = productTitle, productTitle;
|
||||
} catch (e) {}
|
||||
return null;
|
||||
return;
|
||||
}
|
||||
}
|
||||
class RootDialogObserver {
|
||||
|
@ -95,7 +95,7 @@ export class KeyHelper {
|
||||
const tmp = str.split(':');
|
||||
|
||||
const code = tmp[0] as KeyEventInfo['code'];
|
||||
const modifiers = parseInt(tmp[1]);
|
||||
const modifiers = parseInt(tmp[1] as string);
|
||||
|
||||
return {
|
||||
code,
|
||||
|
@ -16,6 +16,8 @@ import { getPref } from "@/utils/settings-storages/global-settings-storage";
|
||||
import { GamepadKey, GamepadStick } from "@/enums/gamepad";
|
||||
import { MkbPopup } from "./mkb-popup";
|
||||
import type { MkbConvertedPresetData } from "@/types/presets";
|
||||
import { StreamSettings } from "@/utils/stream-settings";
|
||||
import { ShortcutAction } from "@/enums/shortcut-actions";
|
||||
|
||||
const PointerToMouseButton = {
|
||||
1: 0,
|
||||
@ -529,7 +531,12 @@ export class EmulatedMkbHandler extends MkbHandler {
|
||||
MkbPopup.getInstance().reset();
|
||||
|
||||
if (AppInterface) {
|
||||
Toast.show(t('press-key-to-toggle-mkb', {key: `<b>F8</b>`}), t('virtual-controller'), {html: true});
|
||||
const shortcutKey = StreamSettings.findKeyboardShortcut(ShortcutAction.MKB_TOGGLE);
|
||||
if (shortcutKey) {
|
||||
const msg = t('press-key-to-toggle-mkb', { key: `<b>${KeyHelper.codeToKeyName(shortcutKey)}</b>` });
|
||||
Toast.show(msg, t('native-mkb'), { html: true });
|
||||
}
|
||||
|
||||
this.waitForMouseData(false);
|
||||
} else {
|
||||
this.waitForMouseData(true);
|
||||
|
@ -480,6 +480,10 @@ BxEvent.dispatch(window, BxEvent.XCLOUD_POLLING_MODE_CHANGED);
|
||||
|
||||
// Get param name
|
||||
const params = str.substring(index, backetIndex).match(/\(([^)]+)\)/)![1];
|
||||
if (!params) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const titleInfoVar = params.split(',')[0];
|
||||
|
||||
const newCode = `
|
||||
@ -502,6 +506,10 @@ BxLogger.info('patchXcloudTitleInfo', ${titleInfoVar});
|
||||
|
||||
// Get param name
|
||||
const params = str.substring(index, backetIndex).match(/\(([^)]+)\)/)![1];
|
||||
if (!params) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const configsVar = params.split(',')[1];
|
||||
|
||||
const newCode = `
|
||||
|
@ -239,7 +239,7 @@ export class TouchController {
|
||||
msg = t('touch-control-layout');
|
||||
}
|
||||
|
||||
layoutChanged && Toast.show(msg, layout.name, {html: html});
|
||||
layoutChanged && Toast.show(msg, layout.name, { html });
|
||||
|
||||
window.setTimeout(() => {
|
||||
// Show gyroscope control in the "More options" dialog if this layout has gyroscope
|
||||
|
@ -393,7 +393,7 @@ export class NavigationDialogManager {
|
||||
}
|
||||
|
||||
if (releasedButton === GamepadKey.A) {
|
||||
document.activeElement && document.activeElement.dispatchEvent(new MouseEvent('click', {bubbles: true}));
|
||||
document.activeElement?.dispatchEvent(new MouseEvent('click', { bubbles: true }));
|
||||
return;
|
||||
} else if (releasedButton === GamepadKey.B) {
|
||||
this.hide();
|
||||
|
@ -32,7 +32,7 @@ export class RemotePlayDialog extends NavigationDialog {
|
||||
}
|
||||
|
||||
private setupDialog() {
|
||||
const $fragment = CE('div', {'class': 'bx-remote-play-container'});
|
||||
const $fragment = CE('div', { class: 'bx-remote-play-container' });
|
||||
|
||||
const $settingNote = CE('p', {});
|
||||
|
||||
|
@ -859,7 +859,7 @@ export class SettingsDialog extends NavigationDialog {
|
||||
|
||||
setting.options[value] = label;
|
||||
|
||||
const $option = CE<HTMLOptionElement>('option', {value: value}, label);
|
||||
const $option = CE<HTMLOptionElement>('option', { value }, label);
|
||||
const continent = continents[region.contintent];
|
||||
if (!continent.children) {
|
||||
continent.children = [];
|
||||
|
@ -28,7 +28,7 @@ export class GameTile {
|
||||
}
|
||||
|
||||
if (typeof totalWaitTime === 'number' && isElementVisible($elm)) {
|
||||
const $div = CE('div', {'class': 'bx-game-tile-wait-time'},
|
||||
const $div = CE('div', { class: 'bx-game-tile-wait-time' },
|
||||
createSvgIcon(BxIcon.PLAYTIME),
|
||||
CE('span', {}, secondsToHms(totalWaitTime)),
|
||||
);
|
||||
|
@ -26,6 +26,10 @@ export class ControllerSettingsTable extends BaseLocalTable<ControllerSettingsRe
|
||||
const results: { [key: string]: ControllerSettingsRecord['data'] } = {};
|
||||
|
||||
for (const key in all) {
|
||||
if (!all[key]) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const settings = all[key].data;
|
||||
// Pre-calculate virabtionIntensity
|
||||
settings.vibrationIntensity /= 100;
|
||||
|
@ -20,7 +20,7 @@ export class ScreenshotManager {
|
||||
|
||||
this.$download = CE<HTMLAnchorElement>('a');
|
||||
|
||||
this.$canvas = CE<HTMLCanvasElement>('canvas', {'class': 'bx-gone'});
|
||||
this.$canvas = CE<HTMLCanvasElement>('canvas', { class: 'bx-gone' });
|
||||
this.canvasContext = this.$canvas.getContext('2d', {
|
||||
alpha: false,
|
||||
willReadFrequently: false,
|
||||
|
@ -41,7 +41,7 @@ export class SettingElement {
|
||||
for (let value in setting.options) {
|
||||
const label = setting.options[value];
|
||||
|
||||
const $option = CE<HTMLOptionElement>('option', {value: value}, label);
|
||||
const $option = CE<HTMLOptionElement>('option', { value }, label);
|
||||
$parent.appendChild($option);
|
||||
}
|
||||
|
||||
@ -75,7 +75,7 @@ export class SettingElement {
|
||||
for (const value in setting.multipleOptions) {
|
||||
const label = setting.multipleOptions[value];
|
||||
|
||||
const $option = CE<HTMLOptionElement>('option', {value: value}, label) as HTMLOptionElement;
|
||||
const $option = CE<HTMLOptionElement>('option', { value }, label) as HTMLOptionElement;
|
||||
$option.selected = currentValue.indexOf(value) > -1;
|
||||
|
||||
$option.addEventListener('mousedown', function(e) {
|
||||
|
@ -9,12 +9,12 @@ type UserAgentConfig = {
|
||||
|
||||
const SMART_TV_UNIQUE_ID = 'FC4A1DA2-711C-4E9C-BC7F-047AF8A672EA';
|
||||
|
||||
let CHROMIUM_VERSION = '123.0.0.0';
|
||||
let CHROMIUM_VERSION = '125.0.0.0';
|
||||
if (!!(window as any).chrome || window.navigator.userAgent.includes('Chrome')) {
|
||||
// Get Chromium version in the original User-Agent value
|
||||
const match = window.navigator.userAgent.match(/\s(?:Chrome|Edg)\/([\d\.]+)/);
|
||||
if (match) {
|
||||
CHROMIUM_VERSION = match[1];
|
||||
CHROMIUM_VERSION = match[1] as string;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ export function parseDetailsPath(path: string) {
|
||||
return;
|
||||
}
|
||||
|
||||
const titleSlug = matches.groups.titleSlug.replaceAll('\%' + '7C', '-');
|
||||
const titleSlug = matches.groups.titleSlug!.replaceAll('\%' + '7C', '-');
|
||||
const productId = matches.groups.productId;
|
||||
|
||||
return { titleSlug, productId };
|
||||
|
@ -3,7 +3,7 @@ import { NATIVE_FETCH } from "./bx-flags"
|
||||
export class XboxApi {
|
||||
private static CACHED_TITLES: Record<string, string> = {};
|
||||
|
||||
static async getProductTitle(xboxTitleId: number | string): Promise<string | null> {
|
||||
static async getProductTitle(xboxTitleId: number | string): Promise<string | undefined> {
|
||||
xboxTitleId = xboxTitleId.toString();
|
||||
if (XboxApi.CACHED_TITLES[xboxTitleId]) {
|
||||
return XboxApi.CACHED_TITLES[xboxTitleId];
|
||||
@ -20,6 +20,6 @@ export class XboxApi {
|
||||
return productTitle;
|
||||
} catch (e) {}
|
||||
|
||||
return null;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -14,14 +14,14 @@ export class XcloudApi {
|
||||
BxLogger.info(this.LOG_TAG, 'constructor()');
|
||||
}
|
||||
|
||||
async getTitleInfo(id: string): Promise<XcloudTitleInfo | null> {
|
||||
async getTitleInfo(id: string): Promise<XcloudTitleInfo | undefined> {
|
||||
if (id in this.CACHE_TITLES) {
|
||||
return this.CACHE_TITLES[id];
|
||||
}
|
||||
|
||||
const baseUri = STATES.selectedRegion.baseUri;
|
||||
if (!baseUri || !STATES.gsToken) {
|
||||
return null;
|
||||
return;
|
||||
}
|
||||
|
||||
let json;
|
||||
|
@ -116,7 +116,7 @@ export class XcloudInterceptor {
|
||||
|
||||
let match = serverRegex.exec(region.baseUri);
|
||||
if (match) {
|
||||
shortName = match[1];
|
||||
shortName = match[1] as string;
|
||||
if (serverExtra[regionName]) {
|
||||
shortName = serverExtra[regionName][0] + ' ' + shortName;
|
||||
region.contintent = serverExtra[regionName][1];
|
||||
@ -155,10 +155,10 @@ export class XcloudInterceptor {
|
||||
const url = (typeof request === 'string') ? request : (request as Request).url;
|
||||
const parsedUrl = new URL(url);
|
||||
|
||||
let badgeRegion: string = parsedUrl.host.split('.', 1)[0];
|
||||
let badgeRegion: string = parsedUrl.host.split('.', 1)[0] as string;
|
||||
for (let regionName in STATES.serverRegions) {
|
||||
const region = STATES.serverRegions[regionName];
|
||||
if (parsedUrl.origin == region.baseUri) {
|
||||
if (region && parsedUrl.origin === region.baseUri) {
|
||||
badgeRegion = regionName;
|
||||
break;
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ export class XhomeInterceptor {
|
||||
XhomeInterceptor.consoleAddrs = {};
|
||||
for (const pair of pairs) {
|
||||
const [keyAddr, keyPort] = pair;
|
||||
if (serverDetails[keyAddr]) {
|
||||
if (keyAddr && keyPort && serverDetails[keyAddr]) {
|
||||
const port = serverDetails[keyPort];
|
||||
// Add port 9002 to the list of ports
|
||||
const ports = new Set<number>();
|
||||
|
@ -260,6 +260,9 @@ export class BxSelectElement extends HTMLSelectElement {
|
||||
for (let i = 0; i < optionsList.length; i++) {
|
||||
const $option = optionsList[i];
|
||||
const $indicator = indicatorsList[i];
|
||||
if (!$option || !$indicator) {
|
||||
continue;
|
||||
}
|
||||
|
||||
clearDataSet($indicator);
|
||||
if ($option.selected) {
|
||||
@ -288,7 +291,7 @@ export class BxSelectElement extends HTMLSelectElement {
|
||||
visibleIndex: currentIndex,
|
||||
} = this;
|
||||
|
||||
const goNext = (e.target as any).closest('button') === $btnNext;
|
||||
const goNext = (e.target as HTMLElement).closest('button') === $btnNext;
|
||||
|
||||
let newIndex = goNext ? currentIndex + 1 : currentIndex - 1;
|
||||
if (newIndex > this.optionsList.length - 1) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user