feat: test tank filters

This commit is contained in:
TrèsAbhi committed 2023-12-06 10:34:43 -06:00
1 parent 2ce083222e
commit 604e751bf4
6 files changed
+43 -5

No files matched your search

@@ -19,6 +19,7 @@ import {
import mutateTankopedia, {
TankopediaSortBy,
TankopediaSortDirection,
TankopediaTestTankDisplay,
useTankopedia,
} from '../../../../stores/tankopedia';
@@ -27,8 +28,8 @@ export function Options() {
const tankopediaState = useTankopedia();
return (
<Flex justify="center" wrap="wrap" gap="4">
<Flex gap="2">
<Flex justify="center" wrap="wrap" gap="2">
<Flex gap="1">
<DropdownMenu.Root>
<DropdownMenu.Trigger>
<Button variant="soft">
@@ -78,6 +79,33 @@ export function Options() {
</DropdownMenu.Root>
</Flex>
<DropdownMenu.Root>
<DropdownMenu.Trigger>
<Button variant="soft">
Test tanks
<CaretDownIcon />
</Button>
</DropdownMenu.Trigger>
<DropdownMenu.Content>
<DropdownMenu.RadioGroup
value={tankopediaState.filters.test}
onValueChange={(value) =>
mutateTankopedia((draft) => {
draft.filters.test = value as TankopediaTestTankDisplay;
})
}
>
<DropdownMenu.RadioItem value="include">
Include
</DropdownMenu.RadioItem>
<DropdownMenu.RadioItem value="exclude">
Exclude
</DropdownMenu.RadioItem>
<DropdownMenu.RadioItem value="only">Only</DropdownMenu.RadioItem>
</DropdownMenu.RadioGroup>
</DropdownMenu.Content>
</DropdownMenu.Root>
<Flex>
{[...TIERS].reverse().map((tier, index) => (
<Button
@@ -236,6 +264,7 @@ export function Options() {
tiers: [],
treeTypes: [],
types: [],
test: 'include',
},
})
}
+6 -1
View File
@@ -44,7 +44,12 @@ export default function Page() {
: tankopediaState.filters.treeTypes.includes(tank.tree_type)) &&
(tankopediaState.filters.nations.length === 0
? true
: tankopediaState.filters.nations.includes(tank.nation)),
: tankopediaState.filters.nations.includes(tank.nation)) &&
(tankopediaState.filters.test === 'include'
? true
: tankopediaState.filters.test === 'exclude'
? !tank.testing
: tank.testing),
)
.sort((a, b) => {
let diff = 0;