mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 19:49:50 +02:00
feat: order
This commit is contained in:
1 parent
f98a4c7caa
commit
8a9d72d0e6
1 file changed
+85
-85
@@ -501,6 +501,91 @@ export default function Page() {
|
|||||||
height: '100%',
|
height: '100%',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
<Popover.Root>
|
||||||
|
<Popover.Trigger>
|
||||||
|
<Button variant="ghost">
|
||||||
|
<Flex align="center">
|
||||||
|
{(
|
||||||
|
[
|
||||||
|
'turret',
|
||||||
|
'gun',
|
||||||
|
'engine',
|
||||||
|
'chassis',
|
||||||
|
] as const
|
||||||
|
).map((module, index) => (
|
||||||
|
<img
|
||||||
|
width={24}
|
||||||
|
height={24}
|
||||||
|
src={asset(
|
||||||
|
`icons/modules/${module}.webp`,
|
||||||
|
)}
|
||||||
|
style={{
|
||||||
|
marginLeft: index > 0 ? -8 : 0,
|
||||||
|
objectFit: 'contain',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</Flex>
|
||||||
|
</Button>
|
||||||
|
</Popover.Trigger>
|
||||||
|
|
||||||
|
<Popover.Content>
|
||||||
|
<ModuleManager
|
||||||
|
tank={tank}
|
||||||
|
turret={turret}
|
||||||
|
gun={gun}
|
||||||
|
shell={shell}
|
||||||
|
engine={engine}
|
||||||
|
track={track}
|
||||||
|
onChange={(modules) => {
|
||||||
|
mutateCompareTemporary((draft) => {
|
||||||
|
draft.members[index] = {
|
||||||
|
...draft.members[index],
|
||||||
|
...modules,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Flex justify="end" mt="4" gap="4">
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
onClick={() => {
|
||||||
|
mutateCompareTemporary((draft) => {
|
||||||
|
const member = draft.members[index];
|
||||||
|
|
||||||
|
member.turret = member.tank.turrets[0];
|
||||||
|
member.gun = member.turret.guns[0];
|
||||||
|
member.shell = member.gun.shells[0];
|
||||||
|
member.engine = member.tank.engines[0];
|
||||||
|
member.track = member.tank.tracks[0];
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Stock
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
onClick={() => {
|
||||||
|
mutateCompareTemporary((draft) => {
|
||||||
|
const member = draft.members[index];
|
||||||
|
|
||||||
|
member.turret =
|
||||||
|
member.tank.turrets.at(-1)!;
|
||||||
|
member.gun = member.turret.guns.at(-1)!;
|
||||||
|
member.shell = member.gun.shells[0];
|
||||||
|
member.engine =
|
||||||
|
member.tank.engines.at(-1)!;
|
||||||
|
member.track = member.tank.tracks.at(-1)!;
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Upgrade
|
||||||
|
</Button>
|
||||||
|
</Flex>
|
||||||
|
</Popover.Content>
|
||||||
|
</Popover.Root>
|
||||||
|
|
||||||
<Flex align="center" justify="center" gap="3">
|
<Flex align="center" justify="center" gap="3">
|
||||||
<Popover.Root>
|
<Popover.Root>
|
||||||
<Popover.Trigger>
|
<Popover.Trigger>
|
||||||
@@ -770,91 +855,6 @@ export default function Page() {
|
|||||||
</Popover.Content>
|
</Popover.Content>
|
||||||
</Popover.Root>
|
</Popover.Root>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
<Popover.Root>
|
|
||||||
<Popover.Trigger>
|
|
||||||
<Button variant="ghost">
|
|
||||||
<Flex align="center">
|
|
||||||
{(
|
|
||||||
[
|
|
||||||
'turret',
|
|
||||||
'gun',
|
|
||||||
'engine',
|
|
||||||
'chassis',
|
|
||||||
] as const
|
|
||||||
).map((module, index) => (
|
|
||||||
<img
|
|
||||||
width={24}
|
|
||||||
height={24}
|
|
||||||
src={asset(
|
|
||||||
`icons/modules/${module}.webp`,
|
|
||||||
)}
|
|
||||||
style={{
|
|
||||||
marginLeft: index > 0 ? -8 : 0,
|
|
||||||
objectFit: 'contain',
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</Flex>
|
|
||||||
</Button>
|
|
||||||
</Popover.Trigger>
|
|
||||||
|
|
||||||
<Popover.Content>
|
|
||||||
<ModuleManager
|
|
||||||
tank={tank}
|
|
||||||
turret={turret}
|
|
||||||
gun={gun}
|
|
||||||
shell={shell}
|
|
||||||
engine={engine}
|
|
||||||
track={track}
|
|
||||||
onChange={(modules) => {
|
|
||||||
mutateCompareTemporary((draft) => {
|
|
||||||
draft.members[index] = {
|
|
||||||
...draft.members[index],
|
|
||||||
...modules,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<Flex justify="end" mt="4" gap="4">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
onClick={() => {
|
|
||||||
mutateCompareTemporary((draft) => {
|
|
||||||
const member = draft.members[index];
|
|
||||||
|
|
||||||
member.turret = member.tank.turrets[0];
|
|
||||||
member.gun = member.turret.guns[0];
|
|
||||||
member.shell = member.gun.shells[0];
|
|
||||||
member.engine = member.tank.engines[0];
|
|
||||||
member.track = member.tank.tracks[0];
|
|
||||||
});
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Stock
|
|
||||||
</Button>
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
onClick={() => {
|
|
||||||
mutateCompareTemporary((draft) => {
|
|
||||||
const member = draft.members[index];
|
|
||||||
|
|
||||||
member.turret =
|
|
||||||
member.tank.turrets.at(-1)!;
|
|
||||||
member.gun = member.turret.guns.at(-1)!;
|
|
||||||
member.shell = member.gun.shells[0];
|
|
||||||
member.engine =
|
|
||||||
member.tank.engines.at(-1)!;
|
|
||||||
member.track = member.tank.tracks.at(-1)!;
|
|
||||||
});
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Upgrade
|
|
||||||
</Button>
|
|
||||||
</Flex>
|
|
||||||
</Popover.Content>
|
|
||||||
</Popover.Root>
|
|
||||||
</Flex>
|
</Flex>
|
||||||
</Table.Cell>
|
</Table.Cell>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in new issue
Block a user