mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 11:39:50 +02:00
feat: gun type filters
This commit is contained in:
1 parent
2d3e45df73
commit
c4fa6cebfa
7 files changed
+206
-11
No files matched your search
@@ -1,6 +1,12 @@
|
||||
import type { TankClass, TankType, Tier } from '@blitzkit/core';
|
||||
import type { GunDefinition, TankClass, TankType, Tier } from '@blitzkit/core';
|
||||
import { map } from 'nanostores';
|
||||
|
||||
export type CaseType<T> = T extends {
|
||||
gun_type?: { $case: infer U; value: any };
|
||||
}
|
||||
? U
|
||||
: never;
|
||||
|
||||
export interface TankFilters {
|
||||
tiers: Tier[];
|
||||
nations: string[];
|
||||
@@ -9,6 +15,7 @@ export interface TankFilters {
|
||||
testing: 'include' | 'exclude' | 'only';
|
||||
search?: string;
|
||||
searching: boolean;
|
||||
gunType: CaseType<GunDefinition>[];
|
||||
}
|
||||
|
||||
export const initialTankFilters: TankFilters = {
|
||||
@@ -19,6 +26,7 @@ export const initialTankFilters: TankFilters = {
|
||||
testing: 'include',
|
||||
search: undefined,
|
||||
searching: false,
|
||||
gunType: [],
|
||||
};
|
||||
|
||||
export const $tankFilters = map<TankFilters>(initialTankFilters);
|
||||
Reference in new issue
Block a user