Files
blitzkit/packages/website/src/components/Performance/PlayerCountControl.tsx
T

48 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-07-12 13:53:11 -05:00
import { Flex, Select, Text } from '@radix-ui/themes';
2024-10-21 21:03:49 -05:00
import {
PlayerCountPeriod,
TankPerformanceEphemeral,
} from '../../stores/tankPerformanceEphemeral';
2024-07-12 13:53:11 -05:00
export function PlayerCountControl() {
2024-10-21 21:03:49 -05:00
const playerCountPeriod = TankPerformanceEphemeral.use(
2024-07-12 13:53:11 -05:00
(state) => state.playerCountPeriod,
);
2024-10-21 21:03:49 -05:00
const mutateTankPerformanceSort = TankPerformanceEphemeral.useMutation();
2024-07-12 13:53:11 -05:00
return (
<Flex justify="center" align="center" gap="2">
<Text>Player count</Text>
<Select.Root
value={playerCountPeriod}
onValueChange={(period) => {
mutateTankPerformanceSort((draft) => {
draft.playerCountPeriod = period as PlayerCountPeriod;
});
}}
>
<Select.Trigger />
<Select.Content>
<Select.Item value={PlayerCountPeriod.Past120Days}>
Past 120 days
</Select.Item>
<Select.Item value={PlayerCountPeriod.Past90Days}>
Past 90 days
</Select.Item>
<Select.Item value={PlayerCountPeriod.Past60Days}>
Past 60 days
</Select.Item>
<Select.Item value={PlayerCountPeriod.ThisMonth}>
This month
</Select.Item>
<Select.Item value={PlayerCountPeriod.ThisWeek}>
This week
</Select.Item>
<Select.Item value={PlayerCountPeriod.Yesterday}>
Yesterday
</Select.Item>
</Select.Content>
</Select.Root>
</Flex>
);
}