fix: remove tooltips in tank filters

This commit is contained in:
TrèsAbhi committed 2024-10-24 15:34:02 -05:00
1 parent 2c0965f437
commit f6cf4a87f9
1 file changed
+13 -89
@@ -6,10 +6,9 @@ import {
TIER_ROMAN_NUMERALS, TIER_ROMAN_NUMERALS,
type Tier, type Tier,
} from '@blitzkit/core'; } from '@blitzkit/core';
import strings from '@blitzkit/core/lang/en-US.json';
import { useStore } from '@nanostores/react'; import { useStore } from '@nanostores/react';
import { ReloadIcon } from '@radix-ui/react-icons'; import { ReloadIcon } from '@radix-ui/react-icons';
import { Box, Flex, IconButton, Text, Tooltip } from '@radix-ui/themes'; import { Box, Flex, IconButton, Text } from '@radix-ui/themes';
import { times } from 'lodash-es'; import { times } from 'lodash-es';
import { $tankFilters, initialTankFilters } from '../../../stores/tankFilters'; import { $tankFilters, initialTankFilters } from '../../../stores/tankFilters';
import { classIcons } from '../../ClassIcon'; import { classIcons } from '../../ClassIcon';
@@ -40,7 +39,6 @@ export function FilterControl({ compact }: FilterControlProps) {
const selected = tankFilters.tiers?.includes(tier); const selected = tankFilters.tiers?.includes(tier);
return ( return (
<Tooltip key={tier} content={`Tier ${tier}`}>
<IconButton <IconButton
key={tier} key={tier}
variant={selected ? 'solid' : 'soft'} variant={selected ? 'solid' : 'soft'}
@@ -54,16 +52,12 @@ export function FilterControl({ compact }: FilterControlProps) {
tankFilters.tiers.filter((t) => t !== tier), tankFilters.tiers.filter((t) => t !== tier),
); );
} else { } else {
$tankFilters.setKey('tiers', [ $tankFilters.setKey('tiers', [...tankFilters.tiers, tier]);
...tankFilters.tiers,
tier,
]);
} }
}} }}
> >
<Text size="2">{TIER_ROMAN_NUMERALS[tier]}</Text> <Text size="2">{TIER_ROMAN_NUMERALS[tier]}</Text>
</IconButton> </IconButton>
</Tooltip>
); );
})} })}
</Flex> </Flex>
@@ -73,7 +67,6 @@ export function FilterControl({ compact }: FilterControlProps) {
const selected = tankFilters.tiers?.includes(tier); const selected = tankFilters.tiers?.includes(tier);
return ( return (
<Tooltip key={tier} content={`Tier ${tier}`}>
<IconButton <IconButton
key={tier} key={tier}
variant={selected ? 'solid' : 'soft'} variant={selected ? 'solid' : 'soft'}
@@ -87,16 +80,12 @@ export function FilterControl({ compact }: FilterControlProps) {
tankFilters.tiers.filter((t) => t !== tier), tankFilters.tiers.filter((t) => t !== tier),
); );
} else { } else {
$tankFilters.setKey('tiers', [ $tankFilters.setKey('tiers', [...tankFilters.tiers, tier]);
...tankFilters.tiers,
tier,
]);
} }
}} }}
> >
<Text size="2">{TIER_ROMAN_NUMERALS[tier]}</Text> <Text size="2">{TIER_ROMAN_NUMERALS[tier]}</Text>
</IconButton> </IconButton>
</Tooltip>
); );
})} })}
</Flex> </Flex>
@@ -114,30 +103,13 @@ export function FilterControl({ compact }: FilterControlProps) {
const selected = tankFilters.nations?.includes(nation); const selected = tankFilters.nations?.includes(nation);
return ( return (
<Tooltip
content={
strings.common.nations[
nation as keyof typeof strings.common.nations
]
}
key={nation}
>
<IconButton <IconButton
key={nation}
variant={selected ? 'solid' : 'soft'} variant={selected ? 'solid' : 'soft'}
color={selected ? undefined : 'gray'} color={selected ? undefined : 'gray'}
highContrast highContrast
radius="none" radius="none"
onClick={() => onClick={() => {
// mutateTankFilters((draft) => {
// if (draft.nations?.includes(nation)) {
// draft.nations = draft.nations?.filter(
// (n) => n !== nation,
// );
// } else {
// draft.nations = [...(draft.nations ?? []), nation];
// }
// })
{
if (tankFilters.nations.includes(nation)) { if (tankFilters.nations.includes(nation)) {
$tankFilters.setKey( $tankFilters.setKey(
'nations', 'nations',
@@ -149,15 +121,13 @@ export function FilterControl({ compact }: FilterControlProps) {
nation, nation,
]); ]);
} }
} }}
}
> >
<img <img
style={{ width: '1em', height: '1em' }} style={{ width: '1em', height: '1em' }}
src={asset(`flags/circle/${nation}.webp`)} src={asset(`flags/circle/${nation}.webp`)}
/> />
</IconButton> </IconButton>
</Tooltip>
); );
})} })}
</Flex> </Flex>
@@ -168,14 +138,6 @@ export function FilterControl({ compact }: FilterControlProps) {
const selected = tankFilters.nations?.includes(nation); const selected = tankFilters.nations?.includes(nation);
return ( return (
<Tooltip
content={
strings.common.nations[
nation as keyof typeof strings.common.nations
]
}
key={nation}
>
<IconButton <IconButton
key={nation} key={nation}
style={{ flex: 1 }} style={{ flex: 1 }}
@@ -183,17 +145,7 @@ export function FilterControl({ compact }: FilterControlProps) {
color={selected ? undefined : 'gray'} color={selected ? undefined : 'gray'}
highContrast highContrast
radius="none" radius="none"
onClick={() => onClick={() => {
// mutateTankFilters((draft) => {
// if (draft.nations?.includes(nation)) {
// draft.nations = draft.nations?.filter(
// (n) => n !== nation,
// );
// } else {
// draft.nations = [...(draft.nations ?? []), nation];
// }
// })
{
if (tankFilters.nations.includes(nation)) { if (tankFilters.nations.includes(nation)) {
$tankFilters.setKey( $tankFilters.setKey(
'nations', 'nations',
@@ -205,15 +157,13 @@ export function FilterControl({ compact }: FilterControlProps) {
nation, nation,
]); ]);
} }
} }}
}
> >
<img <img
style={{ width: '1em', height: '1em' }} style={{ width: '1em', height: '1em' }}
src={asset(`flags/circle/${nation}.webp`)} src={asset(`flags/circle/${nation}.webp`)}
/> />
</IconButton> </IconButton>
</Tooltip>
); );
})} })}
</Flex> </Flex>
@@ -229,11 +179,8 @@ export function FilterControl({ compact }: FilterControlProps) {
const selected = tankFilters.classes?.includes(tankClass); const selected = tankFilters.classes?.includes(tankClass);
return ( return (
<Tooltip
content={strings.common.tank_class_medium[tankClass]}
key={tankClass}
>
<IconButton <IconButton
key={tankClass}
variant={selected ? 'solid' : 'soft'} variant={selected ? 'solid' : 'soft'}
radius="none" radius="none"
color={selected ? undefined : 'gray'} color={selected ? undefined : 'gray'}
@@ -254,7 +201,6 @@ export function FilterControl({ compact }: FilterControlProps) {
> >
<Icon style={{ width: '1em', height: '1em' }} /> <Icon style={{ width: '1em', height: '1em' }} />
</IconButton> </IconButton>
</Tooltip>
); );
})} })}
</Flex> </Flex>
@@ -264,7 +210,6 @@ export function FilterControl({ compact }: FilterControlProps) {
style={{ borderRadius: 'var(--radius-full)' }} style={{ borderRadius: 'var(--radius-full)' }}
direction={compact ? 'column' : { sm: 'row', initial: 'column' }} direction={compact ? 'column' : { sm: 'row', initial: 'column' }}
> >
<Tooltip content="Researchable">
<IconButton <IconButton
variant={ variant={
tankFilters.types?.includes(TankType.RESEARCHABLE) tankFilters.types?.includes(TankType.RESEARCHABLE)
@@ -294,8 +239,6 @@ export function FilterControl({ compact }: FilterControlProps) {
> >
<ResearchedIcon style={{ width: '1em', height: '1em' }} /> <ResearchedIcon style={{ width: '1em', height: '1em' }} />
</IconButton> </IconButton>
</Tooltip>
<Tooltip content="Premium">
<IconButton <IconButton
variant={ variant={
tankFilters.types?.includes(TankType.PREMIUM) ? 'solid' : 'soft' tankFilters.types?.includes(TankType.PREMIUM) ? 'solid' : 'soft'
@@ -330,8 +273,6 @@ export function FilterControl({ compact }: FilterControlProps) {
<ResearchedIcon style={{ width: '1em', height: '1em' }} /> <ResearchedIcon style={{ width: '1em', height: '1em' }} />
</Text> </Text>
</IconButton> </IconButton>
</Tooltip>
<Tooltip content="Collector">
<IconButton <IconButton
variant={ variant={
tankFilters.types?.includes(TankType.COLLECTOR) ? 'solid' : 'soft' tankFilters.types?.includes(TankType.COLLECTOR) ? 'solid' : 'soft'
@@ -366,7 +307,6 @@ export function FilterControl({ compact }: FilterControlProps) {
<ResearchedIcon style={{ width: '1em', height: '1em' }} /> <ResearchedIcon style={{ width: '1em', height: '1em' }} />
</Text> </Text>
</IconButton> </IconButton>
</Tooltip>
</Flex> </Flex>
<Flex <Flex
@@ -374,7 +314,6 @@ export function FilterControl({ compact }: FilterControlProps) {
style={{ borderRadius: 'var(--radius-full)' }} style={{ borderRadius: 'var(--radius-full)' }}
direction={compact ? 'column' : { sm: 'row', initial: 'column' }} direction={compact ? 'column' : { sm: 'row', initial: 'column' }}
> >
<Tooltip content="Include test tank">
<IconButton <IconButton
variant={tankFilters.testing === 'include' ? 'solid' : 'soft'} variant={tankFilters.testing === 'include' ? 'solid' : 'soft'}
radius="none" radius="none"
@@ -388,47 +327,32 @@ export function FilterControl({ compact }: FilterControlProps) {
style={{ width: '1em', height: '1em', color: 'currentColor' }} style={{ width: '1em', height: '1em', color: 'currentColor' }}
/> />
</IconButton> </IconButton>
</Tooltip>
<Tooltip content="Exclude test tank">
<IconButton <IconButton
variant={tankFilters.testing === 'exclude' ? 'solid' : 'soft'} variant={tankFilters.testing === 'exclude' ? 'solid' : 'soft'}
radius="none" radius="none"
color={tankFilters.testing === 'exclude' ? undefined : 'gray'} color={tankFilters.testing === 'exclude' ? undefined : 'gray'}
highContrast highContrast
onClick={() => onClick={() => {
// mutateTankFilters((draft) => {
// draft.testing = 'exclude';
// })
{
$tankFilters.setKey('testing', 'exclude'); $tankFilters.setKey('testing', 'exclude');
} }}
}
> >
<ScienceOffIcon <ScienceOffIcon
style={{ width: '1em', height: '1em', color: 'currentColor' }} style={{ width: '1em', height: '1em', color: 'currentColor' }}
/> />
</IconButton> </IconButton>
</Tooltip>
<Tooltip content="Only test tank">
<IconButton <IconButton
variant={tankFilters.testing === 'only' ? 'solid' : 'soft'} variant={tankFilters.testing === 'only' ? 'solid' : 'soft'}
radius="none" radius="none"
color={tankFilters.testing === 'only' ? undefined : 'gray'} color={tankFilters.testing === 'only' ? undefined : 'gray'}
highContrast highContrast
onClick={() => onClick={() => {
// mutateTankFilters((draft) => {
// draft.testing = 'only';
// })
{
$tankFilters.setKey('testing', 'only'); $tankFilters.setKey('testing', 'only');
} }}
}
> >
<ScienceIcon <ScienceIcon
style={{ width: '1em', height: '1em', color: 'currentColor' }} style={{ width: '1em', height: '1em', color: 'currentColor' }}
/> />
</IconButton> </IconButton>
</Tooltip>
</Flex> </Flex>
<Box> <Box>