feat: hide module actions on no upgrades

This commit is contained in:
TrèsAbhi committed 2024-03-31 22:16:29 -05:00
1 parent 7727e64931
commit 65e239a22b
1 file changed
+45 -31
@@ -7,42 +7,56 @@ import { ConfigurationChildWrapper } from './ConfigurationChildWrapper';
export function Modules() { export function Modules() {
const protagonist = useDuel((state) => state.protagonist!); const protagonist = useDuel((state) => state.protagonist!);
const hasUpgrades =
protagonist.tank.turrets.length > 1 ||
protagonist.tank.turrets[0].guns.length > 1 ||
protagonist.tank.engines.length > 1 ||
protagonist.tank.tracks.length > 1;
return ( return (
<ConfigurationChildWrapper> <ConfigurationChildWrapper>
<Flex gap="4" align="center"> <Flex gap="4" align="center">
<Heading size="4">Modules</Heading> <Heading size="4">Modules</Heading>
<Button {hasUpgrades && (
variant="ghost" <>
color="red" <Button
onClick={() => { variant="ghost"
mutateDuel((draft) => { color="red"
draft.protagonist!.turret = draft.protagonist!.tank.turrets[0]; onClick={() => {
draft.protagonist!.gun = draft.protagonist!.turret.guns[0]; mutateDuel((draft) => {
draft.protagonist!.shell = draft.protagonist!.gun.shells[0]; draft.protagonist!.turret =
draft.protagonist!.engine = draft.protagonist!.tank.engines[0]; draft.protagonist!.tank.turrets[0];
draft.protagonist!.track = draft.protagonist!.tank.tracks[0]; draft.protagonist!.gun = draft.protagonist!.turret.guns[0];
}); draft.protagonist!.shell = draft.protagonist!.gun.shells[0];
}} draft.protagonist!.engine =
> draft.protagonist!.tank.engines[0];
Stock draft.protagonist!.track = draft.protagonist!.tank.tracks[0];
</Button> });
<Button }}
variant="ghost" >
onClick={() => { Stock
mutateDuel((draft) => { </Button>
draft.protagonist!.turret = <Button
draft.protagonist!.tank.turrets.at(-1)!; variant="ghost"
draft.protagonist!.gun = draft.protagonist!.turret.guns.at(-1)!; onClick={() => {
draft.protagonist!.shell = draft.protagonist!.gun.shells.at(-1)!; mutateDuel((draft) => {
draft.protagonist!.engine = draft.protagonist!.turret =
draft.protagonist!.tank.engines.at(-1)!; draft.protagonist!.tank.turrets.at(-1)!;
draft.protagonist!.track = draft.protagonist!.tank.tracks.at(-1)!; draft.protagonist!.gun =
}); draft.protagonist!.turret.guns.at(-1)!;
}} draft.protagonist!.shell =
> draft.protagonist!.gun.shells.at(-1)!;
Upgrade draft.protagonist!.engine =
</Button> draft.protagonist!.tank.engines.at(-1)!;
draft.protagonist!.track =
draft.protagonist!.tank.tracks.at(-1)!;
});
}}
>
Upgrade
</Button>
</>
)}
</Flex> </Flex>
<Flex gap="2" wrap="wrap"> <Flex gap="2" wrap="wrap">