ai can you do this? probably not

This commit is contained in:
tresabhi committed 2026-10-31 17:06:00 -05:00
1 parent 234d927313
commit 01e3763f1e
4 files changed
+63 -62

No files matched your search

@@ -23,7 +23,8 @@
} }
.Item, .Item,
.CheckboxItem { .CheckboxItem,
.RadioItem {
position: relative; position: relative;
background-color: var(--gray-3); background-color: var(--gray-3);
@@ -1,5 +1,6 @@
.filters { .filters {
display: flex; display: flex;
flex-wrap: wrap;
gap: var(--space-3); gap: var(--space-3);
@@ -5,9 +5,9 @@ import locales from "@blitzkit/i18n/locales.json";
import { ShellType, TankType } from "@blitzkit/protos"; import { ShellType, TankType } from "@blitzkit/protos";
import { import {
CheckIcon, CheckIcon,
DotFilledIcon,
LockClosedIcon, LockClosedIcon,
LockOpen2Icon, LockOpen2Icon,
ResetIcon,
TrashIcon, TrashIcon,
} from "@radix-ui/react-icons"; } from "@radix-ui/react-icons";
import { Fragment } from "react"; import { Fragment } from "react";
@@ -27,7 +27,6 @@ import { MissingShellIcon } from "../MissingShellIcon";
import { ResearchedIcon } from "../ResearchedIcon"; import { ResearchedIcon } from "../ResearchedIcon";
import { ScienceIcon } from "../ScienceIcon"; import { ScienceIcon } from "../ScienceIcon";
import { ScienceOffIcon } from "../ScienceOffIcon"; import { ScienceOffIcon } from "../ScienceOffIcon";
import { Text } from "../Text";
import { Tooltip } from "../Tooltip"; import { Tooltip } from "../Tooltip";
import styles from "./index.module.css"; import styles from "./index.module.css";
@@ -163,13 +162,13 @@ export function TankSearchFilters() {
<TestFilter /> <TestFilter />
<GunTypeFilter /> <GunTypeFilter />
{/* <ShellFilter /> <ShellFilter />
<ConsumablesFilter /> <ConsumablesFilter />
<ProvisionsFilter /> <ProvisionsFilter />
<GameModeAbilitiesFilter /> <GameModeAbilitiesFilter />
<ResetButton /> */} <ResetButton />
</div> </div>
); );
} }
@@ -183,7 +182,7 @@ function ResetButton() {
TankFilters.set(TankFilters.initial); TankFilters.set(TankFilters.initial);
}} }}
> >
<ResetIcon /> <TrashIcon />
</IconButton> </IconButton>
); );
} }
@@ -586,11 +585,11 @@ function TypeFilter() {
function ShellFilter() { function ShellFilter() {
return ( return (
<Flex> <div className={styles.grouped}>
<IndividualShellFilter index={0} /> <IndividualShellFilter index={0} />
<IndividualShellFilter index={1} premium /> <IndividualShellFilter index={1} premium />
<IndividualShellFilter index={2} /> <IndividualShellFilter index={2} />
</Flex> </div>
); );
} }
@@ -607,15 +606,13 @@ function IndividualShellFilter({
return ( return (
<DropdownMenu.Root modal={false}> <DropdownMenu.Root modal={false}>
<DropdownMenu.Trigger asChild> <DropdownMenu.Trigger asChild>
<IconButton listChild variant="surface" color="gray"> <IconButton listChild="horizontal" variant="soft" color="gray">
{shells[index] === null && ( {shells[index] === null && (
<Text lowContrast className={styles["shell-icon"]}> <MissingShellIcon width="1em" height="1em" />
<MissingShellIcon width="1em" height="1em" />
</Text>
)} )}
{shells[index] !== null && ( {shells[index] !== null && (
<img <img
style={{ width: "1em", height: "1em" }}
src={alias( src={alias(
"api", "api",
`/icons/shells/${shellTypeIcons[shells[index]]}${premium ? "_premium" : ""}.webp`, `/icons/shells/${shellTypeIcons[shells[index]]}${premium ? "_premium" : ""}.webp`,
@@ -649,15 +646,9 @@ function IndividualShellFilter({
}} }}
color={selected ? undefined : "gray"} color={selected ? undefined : "gray"}
> >
<img <DropdownMenu.ItemIndicator>
src={alias( <DotFilledIcon />
"api", </DropdownMenu.ItemIndicator>
`/icons/shells/${shellTypeIcons[shellType]}${
premium ? "_premium" : ""
}.webp`,
)}
style={{ width: "1.25em", height: "1.25em" }}
/>
{ {
strings.common.shells[ strings.common.shells[
@@ -666,6 +657,15 @@ function IndividualShellFilter({
] as keyof typeof strings.common.shells ] as keyof typeof strings.common.shells
] ]
} }
<img
src={alias(
"api",
`/icons/shells/${shellTypeIcons[shellType]}${
premium ? "_premium" : ""
}.webp`,
)}
/>
</DropdownMenu.RadioItem> </DropdownMenu.RadioItem>
); );
})} })}
@@ -686,8 +686,9 @@ function IndividualShellFilter({
}); });
}} }}
> >
<TrashIcon />
{strings.website.common.tank_search.clear} {strings.website.common.tank_search.clear}
<TrashIcon />
</DropdownMenu.Item> </DropdownMenu.Item>
</DropdownMenu.RadioGroup> </DropdownMenu.RadioGroup>
</DropdownMenu.Content> </DropdownMenu.Content>
@@ -821,8 +822,8 @@ function ConsumablesFilter() {
return ( return (
<DropdownMenu.Root modal={false}> <DropdownMenu.Root modal={false}>
<DropdownMenu.Trigger asChild> <DropdownMenu.Trigger asChild>
<Button color="gray" variant="surface"> <Button color="gray" variant="soft">
{consumables.slice(0, MAX_ICONS).map((consumable, index) => ( {consumables.slice(0, MAX_ICONS).map((consumable) => (
<img <img
key={consumable} key={consumable}
className={styles.icon} className={styles.icon}
@@ -864,16 +865,15 @@ function ConsumablesFilter() {
checked={selected} checked={selected}
key={consumable} key={consumable}
> >
<img <DropdownMenu.ItemIndicator>
style={{ <CheckIcon />
width: "1.25em", </DropdownMenu.ItemIndicator>
height: "1.25em",
objectFit: "contain",
}}
src={alias("api", `/icons/consumables/${consumable}.webp`)}
/>
{unwrap(consumableDefinition.name!)} {unwrap(consumableDefinition.name!)}
<img
src={alias("api", `/icons/consumables/${consumable}.webp`)}
/>
</DropdownMenu.CheckboxItem> </DropdownMenu.CheckboxItem>
); );
})} })}
@@ -890,8 +890,9 @@ function ConsumablesFilter() {
}); });
}} }}
> >
<TrashIcon />
{strings.website.common.tank_search.clear} {strings.website.common.tank_search.clear}
<TrashIcon />
</DropdownMenu.Item> </DropdownMenu.Item>
</DropdownMenu.Content> </DropdownMenu.Content>
</DropdownMenu.Root> </DropdownMenu.Root>
@@ -908,8 +909,8 @@ function ProvisionsFilter() {
return ( return (
<DropdownMenu.Root modal={false}> <DropdownMenu.Root modal={false}>
<DropdownMenu.Trigger asChild> <DropdownMenu.Trigger asChild>
<Button color="gray" variant="surface"> <Button color="gray" variant="soft">
{provisions.slice(0, MAX_ICONS).map((provision, index) => ( {provisions.slice(0, MAX_ICONS).map((provision) => (
<img <img
key={provision} key={provision}
className={styles.icon} className={styles.icon}
@@ -951,16 +952,13 @@ function ProvisionsFilter() {
checked={selected} checked={selected}
key={provision} key={provision}
> >
<img <DropdownMenu.ItemIndicator>
style={{ <CheckIcon />
width: "1.25em", </DropdownMenu.ItemIndicator>
height: "1.25em",
objectFit: "contain",
}}
src={alias("api", `/icons/provisions/${provision}.webp`)}
/>
{unwrap(provisionDefinition.name!)} {unwrap(provisionDefinition.name!)}
<img src={alias("api", `/icons/provisions/${provision}.webp`)} />
</DropdownMenu.CheckboxItem> </DropdownMenu.CheckboxItem>
); );
})} })}
@@ -977,8 +975,9 @@ function ProvisionsFilter() {
}); });
}} }}
> >
<TrashIcon />
{strings.website.common.tank_search.clear} {strings.website.common.tank_search.clear}
<TrashIcon />
</DropdownMenu.Item> </DropdownMenu.Item>
</DropdownMenu.Content> </DropdownMenu.Content>
</DropdownMenu.Root> </DropdownMenu.Root>
@@ -1010,8 +1009,8 @@ function GameModeAbilitiesFilter() {
return ( return (
<DropdownMenu.Root modal={false}> <DropdownMenu.Root modal={false}>
<DropdownMenu.Trigger asChild> <DropdownMenu.Trigger asChild>
<Button color="gray" variant="surface"> <Button color="gray" variant="soft">
{icons.slice(0, MAX_ICONS).map((icon, index) => ( {icons.slice(0, MAX_ICONS).map((icon) => (
<img key={icon} className={styles.icon} src={icon} /> <img key={icon} className={styles.icon} src={icon} />
))} ))}
@@ -1071,19 +1070,18 @@ function GameModeAbilitiesFilter() {
checked={selected} checked={selected}
key={consumable} key={consumable}
> >
<DropdownMenu.ItemIndicator>
<CheckIcon />
</DropdownMenu.ItemIndicator>
{unwrap(abilityDefinition.name!)}
<img <img
style={{
width: "1.25em",
height: "1.25em",
objectFit: "contain",
}}
src={alias( src={alias(
"api", "api",
`/icons/consumables/${consumable}.webp`, `/icons/consumables/${consumable}.webp`,
)} )}
/> />
{unwrap(abilityDefinition.name!)}
</DropdownMenu.CheckboxItem> </DropdownMenu.CheckboxItem>
); );
} }
@@ -1123,19 +1121,18 @@ function GameModeAbilitiesFilter() {
checked={selected} checked={selected}
key={provision} key={provision}
> >
<DropdownMenu.ItemIndicator>
<CheckIcon />
</DropdownMenu.ItemIndicator>
{unwrap(powerDefinition.name!)}
<img <img
style={{
width: "1.25em",
height: "1.25em",
objectFit: "contain",
}}
src={alias( src={alias(
"api", "api",
`/icons/provisions/${provision}.webp`, `/icons/provisions/${provision}.webp`,
)} )}
/> />
{unwrap(powerDefinition.name!)}
</DropdownMenu.CheckboxItem> </DropdownMenu.CheckboxItem>
); );
} }
@@ -1157,8 +1154,9 @@ function GameModeAbilitiesFilter() {
}); });
}} }}
> >
<TrashIcon />
{strings.website.common.tank_search.clear} {strings.website.common.tank_search.clear}
<TrashIcon />
</DropdownMenu.Item> </DropdownMenu.Item>
</DropdownMenu.Content> </DropdownMenu.Content>
</DropdownMenu.Root> </DropdownMenu.Root>
@@ -14,6 +14,7 @@ const { locale } = Astro.props;
<BaseLayout {locale} accent="purple"> <BaseLayout {locale} accent="purple">
<ColorScale color="blue" /> <ColorScale color="blue" />
<ColorScale color="amber" /> <ColorScale color="amber" />
<ColorScale color="red" />
<ToolBanner {locale} tool={tools.tanks} slot="pre-app" /> <ToolBanner {locale} tool={tools.tanks} slot="pre-app" />