From d46d948c66068e4003418f0ba809666a3d1be9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Sat, 6 Apr 2024 17:46:30 -0500 Subject: [PATCH] feat: sort --- src/app/tools/compare/page.tsx | 54 +++++++++++++++++++++++++++++++--- src/stores/compare.ts | 4 +++ 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/src/app/tools/compare/page.tsx b/src/app/tools/compare/page.tsx index 565a2763b..62fba5e97 100644 --- a/src/app/tools/compare/page.tsx +++ b/src/app/tools/compare/page.tsx @@ -1,6 +1,12 @@ 'use client'; -import { PlusIcon, TrashIcon } from '@radix-ui/react-icons'; +import { + CaretLeftIcon, + CaretRightIcon, + CaretSortIcon, + PlusIcon, + TrashIcon, +} from '@radix-ui/react-icons'; import { Button, Dialog, @@ -45,6 +51,7 @@ export default function Page() { const searchParams = useSearchParams(); const members = useCompareTemporary((state) => state.members); const [addTankDialogOpen, setAddTankDialogOpen] = useState(false); + const sorting = useCompareTemporary((state) => state.sorting); const awaitedModelDefinitions = use(modelDefinitions); const awaitedEquipmentDefinitions = use(equipmentDefinitions); const awaitedProvisionDefinitions = use(provisionDefinitions); @@ -132,7 +139,7 @@ export default function Page() { deltaNominalDisplay?: (delta: number) => string | number; }) { const values = stats.map((stat) => - typeof value === 'function' ? value(stat) : (stat[value] as number), + typeof value === 'function' ? value(stat)! : (stat[value] as number), ); return ( @@ -140,18 +147,57 @@ export default function Page() {