From 2f2996a40c82aa62f658aea53e8954554ae87a09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:52:41 -0500 Subject: [PATCH] feat: equipment popover --- src/app/tools/compare/page.tsx | 161 +++++++++++++++++++--- src/components/EquipmentMatrixCompact.tsx | 61 -------- 2 files changed, 144 insertions(+), 78 deletions(-) delete mode 100644 src/components/EquipmentMatrixCompact.tsx diff --git a/src/app/tools/compare/page.tsx b/src/app/tools/compare/page.tsx index d676e4577..130c043e6 100644 --- a/src/app/tools/compare/page.tsx +++ b/src/app/tools/compare/page.tsx @@ -6,13 +6,15 @@ import { Dialog, Flex, Heading, + Popover, SegmentedControl, Table, Text, } from '@radix-ui/themes'; +import { times } from 'lodash'; import { usePathname, useRouter, useSearchParams } from 'next/navigation'; import { use, useCallback, useEffect, useMemo, useState } from 'react'; -import { EquipmentMatrixCompact } from '../../../components/EquipmentMatrixCompact'; +import { EquipmentButton } from '../../../components/ModuleButtons/EquipmentButton'; import PageWrapper from '../../../components/PageWrapper'; import { equipmentDefinitions } from '../../../core/blitzkrieg/equipmentDefinitions'; import { modelDefinitions } from '../../../core/blitzkrieg/modelDefinitions'; @@ -343,22 +345,147 @@ export default function Page() { - {members.map(({ equipmentMatrix }) => ( - - - - - - ))} + {members.map(({ equipmentMatrix, tank }) => { + const equipmentRows = + awaitedEquipmentDefinitions.presets[tank.equipment]; + + return ( + + + + + + + + + + {equipmentRows.map((equipmentRow, rowIndex) => ( + + {equipmentRow.map( + (equipment, columnIndex) => ( + + { + // mutateDuel((draft) => { + // if ( + // equipmentMatrix[rowIndex][ + // columnIndex + // ] === -1 + // ) { + // draft.protagonist!.equipmentMatrix[ + // rowIndex + // ][columnIndex] = 0; + // } else { + // draft.protagonist!.equipmentMatrix[ + // rowIndex + // ][columnIndex] = -1; + // } + // }); + }} + /> + { + // mutateDuel((draft) => { + // if ( + // equipmentMatrix[rowIndex][ + // columnIndex + // ] === 1 + // ) { + // draft.protagonist!.equipmentMatrix[ + // rowIndex + // ][columnIndex] = 0; + // } else { + // draft.protagonist!.equipmentMatrix[ + // rowIndex + // ][columnIndex] = 1; + // } + // }); + }} + /> + + ), + )} + + ))} + + + + + + ); + })} diff --git a/src/components/EquipmentMatrixCompact.tsx b/src/components/EquipmentMatrixCompact.tsx deleted file mode 100644 index d4e5cabe9..000000000 --- a/src/components/EquipmentMatrixCompact.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { Button, Flex } from '@radix-ui/themes'; -import { times } from 'lodash'; -import { theme } from '../stitches.config'; -import { EquipmentMatrix } from '../stores/duel'; - -interface EquipmentMatrixCompactProps { - equipmentMatrix: EquipmentMatrix; -} - -export function EquipmentMatrixCompact({ - equipmentMatrix, -}: EquipmentMatrixCompactProps) { - return ( - - ); -}