mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 19:49:50 +02:00
feat: scanned players
This commit is contained in:
1 parent
db83ac40b4
commit
9edc2cffad
3 files changed
+16
-5
No files matched your search
@@ -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'))
|
||||||
|
|||||||
Reference in new issue
Block a user