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() {
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 (
<ConfigurationChildWrapper>
<Flex gap="4" align="center">
<Heading size="4">Modules</Heading>
<Button
variant="ghost"
color="red"
onClick={() => {
mutateDuel((draft) => {
draft.protagonist!.turret = draft.protagonist!.tank.turrets[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];
draft.protagonist!.track = draft.protagonist!.tank.tracks[0];
});
}}
>
Stock
</Button>
<Button
variant="ghost"
onClick={() => {
mutateDuel((draft) => {
draft.protagonist!.turret =
draft.protagonist!.tank.turrets.at(-1)!;
draft.protagonist!.gun = draft.protagonist!.turret.guns.at(-1)!;
draft.protagonist!.shell = draft.protagonist!.gun.shells.at(-1)!;
draft.protagonist!.engine =
draft.protagonist!.tank.engines.at(-1)!;
draft.protagonist!.track = draft.protagonist!.tank.tracks.at(-1)!;
});
}}
>
Upgrade
</Button>
{hasUpgrades && (
<>
<Button
variant="ghost"
color="red"
onClick={() => {
mutateDuel((draft) => {
draft.protagonist!.turret =
draft.protagonist!.tank.turrets[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];
draft.protagonist!.track = draft.protagonist!.tank.tracks[0];
});
}}
>
Stock
</Button>
<Button
variant="ghost"
onClick={() => {
mutateDuel((draft) => {
draft.protagonist!.turret =
draft.protagonist!.tank.turrets.at(-1)!;
draft.protagonist!.gun =
draft.protagonist!.turret.guns.at(-1)!;
draft.protagonist!.shell =
draft.protagonist!.gun.shells.at(-1)!;
draft.protagonist!.engine =
draft.protagonist!.tank.engines.at(-1)!;
draft.protagonist!.track =
draft.protagonist!.tank.tracks.at(-1)!;
});
}}
>
Upgrade
</Button>
</>
)}
</Flex>
<Flex gap="2" wrap="wrap">