mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 18:57:03 +02:00
feat: session tracker list
This commit is contained in:
1 parent
6ff2a23ff7
commit
8c041d4eef
6 files changed
+145
-29
No files matched your search
@@ -1,5 +1,6 @@
|
||||
import { deburr } from 'lodash';
|
||||
import { WARGAMING_APPLICATION_ID } from '../../constants/wargamingApplicationID';
|
||||
import { context } from '../blitzkrieg/context';
|
||||
import getWargamingResponse from './getWargamingResponse';
|
||||
|
||||
export type TankType = 'AT-SPG' | 'lightTank' | 'mediumTank' | 'heavyTank';
|
||||
@@ -23,14 +24,16 @@ export interface Tankopedia {
|
||||
|
||||
console.log('Caching tankopedia...');
|
||||
export const tankopedia = fetch(
|
||||
typeof window === 'undefined'
|
||||
context === 'bot'
|
||||
? 'https://www.blitzstars.com/bs-tankopedia.json'
|
||||
: '/api/tankopedia',
|
||||
)
|
||||
.then(async (response) => response.json())
|
||||
.then((wrapperTankopedia) => {
|
||||
console.log('Tankopedia cached');
|
||||
return (wrapperTankopedia as { data: Tankopedia }).data;
|
||||
return context === 'bot'
|
||||
? (wrapperTankopedia as { data: Tankopedia }).data
|
||||
: (wrapperTankopedia as Tankopedia);
|
||||
});
|
||||
const entries = new Promise<TankopediaEntry[]>(async (resolve) => {
|
||||
resolve(Object.entries(await tankopedia).map(([, entry]) => entry));
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
type Context = 'website' | 'bot';
|
||||
|
||||
export const context: Context =
|
||||
typeof window === 'undefined' ? 'bot' : 'website';
|
||||
@@ -1,4 +1,5 @@
|
||||
import { AllStats } from '../../types/accountInfo';
|
||||
import { context } from '../blitzkrieg/context';
|
||||
|
||||
export interface SpecialStats {
|
||||
winrate: number;
|
||||
@@ -82,20 +83,24 @@ export type TankAverages = Record<number, IndividualTankAverage>;
|
||||
|
||||
console.log('Caching tank averages...');
|
||||
export const tankAverages = fetch(
|
||||
'https://www.blitzstars.com/api/tankaverages.json',
|
||||
context === 'bot'
|
||||
? 'https://www.blitzstars.com/api/tankaverages.json'
|
||||
: '/api/tank-averages',
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((individualTankAverages) => {
|
||||
const partialTankAverages: TankAverages = {};
|
||||
.then((json) => {
|
||||
if (context === 'bot') {
|
||||
const partialTankAverages: TankAverages = {};
|
||||
|
||||
(individualTankAverages as IndividualTankAverage[]).forEach(
|
||||
(individualTankAverage) => {
|
||||
(json as IndividualTankAverage[]).forEach((individualTankAverage) => {
|
||||
partialTankAverages[individualTankAverage.tank_id] =
|
||||
individualTankAverage;
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
console.log('Tank averages cached');
|
||||
console.log('Tank averages cached');
|
||||
|
||||
return partialTankAverages;
|
||||
return partialTankAverages;
|
||||
} else {
|
||||
return json as TankAverages;
|
||||
}
|
||||
});
|
||||
Reference in new issue
Block a user