feat: gun type filters

This commit is contained in:
tresabhi committed 2024-11-09 19:05:23 -06:00
1 parent 2d3e45df73
commit c4fa6cebfa
7 files changed
+206 -11

No files matched your search

+9 -1
View File
@@ -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);