diff --git a/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx b/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx index 0e0a4bde0..deca9b5df 100644 --- a/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx +++ b/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx @@ -502,7 +502,7 @@ export function Characteristics() { Maneuverability - + {stats.speedForwards} diff --git a/src/app/tools/tankopedia/components/Results.tsx b/src/app/tools/tankopedia/components/Results.tsx index c1c48b989..2af2a8ee3 100644 --- a/src/app/tools/tankopedia/components/Results.tsx +++ b/src/app/tools/tankopedia/components/Results.tsx @@ -1,4 +1,4 @@ -import { Callout, Flex } from '@radix-ui/themes'; +import { Callout, Flex, Text } from '@radix-ui/themes'; import { go } from 'fuzzysort'; import { times } from 'lodash'; import { memo, use, useMemo } from 'react'; @@ -18,6 +18,7 @@ import { } from '../../../../core/blitzkit/tankDefinitions'; import { tankopediaFilterTank } from '../../../../core/blitzkit/tankopediaFilterTank'; import { unionBoundingBox } from '../../../../core/blitzkit/unionBoundingBox'; +import { SORT_NAMES, SORT_UNITS } from '../../../../stores/tankopedia'; import { useTankopediaFilters } from '../../../../stores/tankopediaFilters'; import { FilterControl } from './FilterControl'; import { NoResults } from './NoResults'; @@ -351,6 +352,18 @@ export const Results = memo(() => { {!filters.search && !filters.searching && } + {filters.sort.by !== 'meta.none' && ( + + + Sorting by {SORT_NAMES[filters.sort.by]} + {SORT_UNITS[filters.sort.by] === undefined + ? '' + : ` (${SORT_UNITS[filters.sort.by]})`} + , {filters.sort.direction} + + + )} + {filters.testing === 'only' && ( diff --git a/src/stores/tankopedia.ts b/src/stores/tankopedia.ts index 8c86eeffa..4cdd1da0e 100644 --- a/src/stores/tankopedia.ts +++ b/src/stores/tankopedia.ts @@ -134,6 +134,35 @@ export const SORT_NAMES = { 'maneuverability.traverseSpeed': 'traverse speed', } as const; +export const SORT_UNITS: Record = { + 'meta.none': undefined, + 'survivability.health': 'hp', + 'fire.aimTime': 's', + 'fire.caliber': 'mm', + 'fire.damage': 'hp', + 'fire.dispersionMoving': 'm', + 'fire.dispersionStill': 'm', + 'fire.dpm': undefined, + 'fire.gunDepression': '°', + 'fire.gunElevation': '°', + 'fire.premiumPenetration': 'mm', + 'fire.reload': 's', + 'fire.shellVelocity': 'm/s', + 'fire.standardPenetration': 'mm', + 'maneuverability.backwardsSpeed': 'kph', + 'maneuverability.forwardsSpeed': 'kph', + 'maneuverability.power': 'hp', + 'maneuverability.powerToWeight': 'hp/tn', + 'maneuverability.traverseSpeed': '°/s', + 'maneuverability.weight': 'tn', + 'survivability.camouflageMoving': '%', + 'survivability.camouflageShooting': '%', + 'survivability.camouflageStill': '%', + 'survivability.length': 'm', + 'survivability.viewRange': 'm', + 'survivability.volume': 'm^3', +}; + export const useTankopediaPersistent = create()( persist( subscribeWithSelector(() => ({