feat: scanned players

This commit is contained in:
TrèsAbhi committed 2024-06-30 21:43:21 -05:00
1 parent db83ac40b4
commit 9edc2cffad
3 files changed
+16 -5

No files matched your search

+2 -1
View File
@@ -4,7 +4,8 @@ package blitzkit;
message AverageDefinitions { message AverageDefinitions {
map<uint32, Tank> averages = 1; map<uint32, Tank> averages = 1;
uint32 players = 2; uint32 sampled_players = 2;
uint32 scanned_players = 3;
} }
message Tank { message Tank {
@@ -4,9 +4,14 @@ import { InfoCircledIcon } from '@radix-ui/react-icons';
import { Callout, Flex } from '@radix-ui/themes'; import { Callout, Flex } from '@radix-ui/themes';
import { use } from 'react'; import { use } from 'react';
import { averageDefinitions } from '../../../../core/blitzkit/averageDefinitions'; import { averageDefinitions } from '../../../../core/blitzkit/averageDefinitions';
import { discoveredIdsDefinitions } from '../../../../core/blitzkit/discoveredIdDefinitions';
export function Info() { export function Info() {
const awaitedAverageDefinitions = use(averageDefinitions); const awaitedAverageDefinitions = use(averageDefinitions);
const awaitedDiscoveredIdsDefinitions = use(discoveredIdsDefinitions);
const ratio =
awaitedDiscoveredIdsDefinitions.count /
awaitedAverageDefinitions.scanned_players;
return ( return (
<Flex justify="center"> <Flex justify="center">
@@ -15,9 +20,13 @@ export function Info() {
<InfoCircledIcon /> <InfoCircledIcon />
</Callout.Icon> </Callout.Icon>
<Callout.Text> <Callout.Text>
Based on {awaitedAverageDefinitions.players.toLocaleString()} players Based on{' '}
with at least 5,000 career battles and 1 battle in the past 120 days. {Math.round(
Player counts are less than real values. Updated daily. ratio * awaitedAverageDefinitions.sampled_players,
).toLocaleString()}{' '}
players with at least 5,000 career battles and 1 battle in the past
120 days. {awaitedDiscoveredIdsDefinitions.count.toLocaleString()}{' '}
scanned in total. Updated daily.
</Callout.Text> </Callout.Text>
</Callout.Root> </Callout.Root>
</Flex> </Flex>
@@ -22,7 +22,8 @@ export interface AverageDefinitionsEntrySubPartial {
export interface AverageDefinitions { export interface AverageDefinitions {
averages: Record<number, AverageDefinitionsEntry>; averages: Record<number, AverageDefinitionsEntry>;
players: number; sampled_players: number;
scanned_players: number;
} }
export const averageDefinitions = fetch(asset('definitions/averages.pb')) export const averageDefinitions = fetch(asset('definitions/averages.pb'))