update compare

This commit is contained in:
tresabhi committed 2026-08-04 20:28:54 -05:00
1 parent 6e759e52c9
commit 23d2ca9a42
6 files changed
+35 -47

No files matched your search

@@ -1,4 +1,3 @@
import { asset } from "@blitzkit/core";
import { Flex, Heading, IconButton, Table } from "@radix-ui/themes";
import type { TankCharacteristics } from "../../core/blitzkit/tankCharacteristics";
import { useLocale } from "../../hooks/useLocale";
@@ -58,7 +57,7 @@ export function Body({ stats }: BodyProps) {
alt={unwrap(thisShell.name!)}
width={16}
height={16}
src={asset(`icons/shells/${thisShell.icon}.webp`)}
src={`/api/icons/shells/${thisShell.icon}.webp`}
/>
</IconButton>
))}
@@ -1,4 +1,4 @@
import { asset, availableProvisions, permanentSkills } from "@blitzkit/core";
import { availableProvisions, permanentSkills } from "@blitzkit/core";
import { checkConsumableProvisionInclusivity } from "@blitzkit/core/src/blitzkit/checkConsumableProvisionInclusivity";
import { ComponentPlaceholderIcon } from "@radix-ui/react-icons";
import {
@@ -11,10 +11,7 @@ import {
Text,
} from "@radix-ui/themes";
import { times } from "lodash-es";
import { awaitableConsumableDefinitions } from "../../core/awaitables/consumableDefinitions";
import { awaitableEquipmentDefinitions } from "../../core/awaitables/equipmentDefinitions";
import { awaitableProvisionDefinitions } from "../../core/awaitables/provisionDefinitions";
import { awaitableSkillDefinitions } from "../../core/awaitables/skillDefinitions";
import { api } from "../../core/blitzkit/api";
import type { TankCharacteristics } from "../../core/blitzkit/tankCharacteristics";
import { Var } from "../../core/radix/var";
import { useLocale } from "../../hooks/useLocale";
@@ -42,10 +39,10 @@ const [
consumableDefinitions,
provisionDefinitions,
] = await Promise.all([
awaitableSkillDefinitions,
awaitableEquipmentDefinitions,
awaitableConsumableDefinitions,
awaitableProvisionDefinitions,
api.skillDefinitions(),
api.equipmentDefinitions(),
api.consumableDefinitions(),
api.provisionDefinitions(),
]);
export function CompareTable({ stats }: CompareTableProps) {
@@ -234,7 +231,7 @@ export function CompareTable({ stats }: CompareTableProps) {
alt={module}
width={24}
height={24}
src={asset(`icons/modules/${module}.webp`)}
src={`/api/icons/modules/${module}.webp`}
style={{
marginLeft: index > 0 ? -8 : 0,
objectFit: "contain",
@@ -323,9 +320,7 @@ export function CompareTable({ stats }: CompareTableProps) {
.name!,
)}
key={provision}
src={asset(
`/icons/provisions/${provision}.webp`,
)}
src={`/api//icons/provisions/${provision}.webp`}
style={{
left: "50%",
/**
@@ -530,9 +525,7 @@ export function CompareTable({ stats }: CompareTableProps) {
].name!,
)}
key={consumable}
src={asset(
`/icons/consumables/${consumable}.webp`,
)}
src={`/api/icons/consumables/${consumable}.webp`}
style={{
left: "50%",
/**
@@ -624,7 +617,7 @@ export function CompareTable({ stats }: CompareTableProps) {
variant={camouflage ? "solid" : "outline"}
>
<img
src={asset("icons/camo.webp")}
src={`/api/icons/camo.webp`}
style={{
width: "1em",
height: "1em",
@@ -1,6 +1,6 @@
import { PlusIcon, TrashIcon } from "@radix-ui/react-icons";
import { Button, Dialog, Flex, SegmentedControl } from "@radix-ui/themes";
import { awaitableProvisionDefinitions } from "../../core/awaitables/provisionDefinitions";
import { api } from "../../core/blitzkit/api";
import { tankToCompareMember } from "../../core/blitzkit/tankToCompareMember";
import { useLocale } from "../../hooks/useLocale";
import { CompareEphemeral } from "../../stores/compareEphemeral";
@@ -15,7 +15,7 @@ interface ControlsProps {
onAddTankDialogOpenChange: (open: boolean) => void;
}
const provisionDefinitions = await awaitableProvisionDefinitions;
const provisionDefinitions = await api.provisionDefinitions();
export function Controls({
addTankDialogOpen,
@@ -56,7 +56,7 @@ export function Controls({
onSelect={(tank) => {
CompareEphemeral.mutate((draft) => {
draft.members.push(
tankToCompareMember(tank, provisionDefinitions)
tankToCompareMember(tank, provisionDefinitions),
);
draft.sorting = undefined;
});
@@ -67,7 +67,7 @@ export function Controls({
draft.members.push(
...tanks.map((tank) => {
return tankToCompareMember(tank, provisionDefinitions);
})
}),
);
draft.sorting = undefined;
});
@@ -1,7 +1,7 @@
import { ExternalLinkIcon, LoopIcon, TrashIcon } from "@radix-ui/react-icons";
import { Dialog, Flex, IconButton } from "@radix-ui/themes";
import { useState } from "react";
import { awaitableProvisionDefinitions } from "../../core/awaitables/provisionDefinitions";
import { api } from "../../core/blitzkit/api";
import { tankToCompareMember } from "../../core/blitzkit/tankToCompareMember";
import { useLocale } from "../../hooks/useLocale";
import { CompareEphemeral } from "../../stores/compareEphemeral";
@@ -13,7 +13,7 @@ interface TankControlProps {
slug: string;
}
const provisionDefinitions = await awaitableProvisionDefinitions;
const provisionDefinitions = await api.provisionDefinitions();
export function TankControl({ index, slug }: TankControlProps) {
const { locale, strings } = useLocale();
@@ -61,7 +61,7 @@ export function TankControl({ index, slug }: TankControlProps) {
CompareEphemeral.mutate((draft) => {
draft.members[index] = tankToCompareMember(
tank,
provisionDefinitions
provisionDefinitions,
);
draft.sorting = undefined;
});