diff --git a/bun.lockb b/bun.lockb index 328ec3011..8bc474e6b 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/docs/changelogs/1.21.0.md b/docs/changelogs/1.21.0.md index 41433d8a2..d27d726bd 100644 --- a/docs/changelogs/1.21.0.md +++ b/docs/changelogs/1.21.0.md @@ -6,9 +6,13 @@ Introducing the Tank performance tool! ## Features -- Added the Tank performance tool +- Added the Tank performance tool which lists all tanks in the game and how players are performing in them + - This tool features the same tank filters as the Tankopedia search page + - The number of players in any given period can be viewed by switching the period from the dropdown + - This list updated daily - The tankopedia search page now loads much faster - - Not all tanks are loaded at once; rather, more tanks are loaded as you scroll down the page + - Not all tanks are loaded at once; rather, more tanks are loaded as you scroll down the page (the same as Tank performance) + - The tank pages also load lightning fast now ## Fixes diff --git a/package.json b/package.json index fde4d6437..656aad5bf 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@nivo/bar": "^0.87.0", "@octokit/plugin-throttling": "^8.2.0", "@octokit/rest": "^20.1.1", - "@prisma/client": "^5.16.1", + "@prisma/client": "^5.16.2", "@radix-ui/colors": "^3.0.0", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/themes": "^3.1.1", @@ -60,7 +60,7 @@ "lz4js": "^0.2.0", "markdown-escape": "^2.0.0", "markdown-to-jsx": "^7.4.7", - "next": "^14.2.4", + "next": "^14.2.5", "parse-dds": "^1.2.1", "pickleparser": "^0.2.1", "postprocessing": "^6.35.6", @@ -104,7 +104,7 @@ "fast-xml-parser": "^4.4.0", "knip": "^3.13.2", "prettier": "^3.3.2", - "prisma": "^5.16.1", + "prisma": "^5.16.2", "typescript": "^5.5.3" }, "packageManager": "yarn@1.22.1", diff --git a/src/app/tools/tank-performance/components/Info.tsx b/src/app/tools/tank-performance/components/Info.tsx index 781fbc2b0..c3a033a73 100644 --- a/src/app/tools/tank-performance/components/Info.tsx +++ b/src/app/tools/tank-performance/components/Info.tsx @@ -20,8 +20,12 @@ export function Info() { Career stats based on {formatCompact(Math.round(samples))} players - with at least 5K career battles and 1 battle in the past 120 days; - updated daily. + with at least 5K career battles and 1 battle in the past 120 days. + Updated{' '} + {Math.floor( + (Date.now() - awaitedAverageDefinitions.time) / (1000 * 60 * 60), + )}{' '} + hours ago. diff --git a/src/app/tools/tankopedia/components/TankCard.css.ts b/src/app/tools/tankopedia/components/TankCard.css.ts index ade257683..66079b886 100644 --- a/src/app/tools/tankopedia/components/TankCard.css.ts +++ b/src/app/tools/tankopedia/components/TankCard.css.ts @@ -30,3 +30,12 @@ export const name = style({ overflow: 'hidden', textOverflow: 'ellipsis', }); + +export const link = style({ + color: 'inherit', + textDecoration: 'none', + + ':hover': { + textDecoration: 'underline', + }, +}); diff --git a/src/app/tools/tankopedia/components/TankCard.tsx b/src/app/tools/tankopedia/components/TankCard.tsx index b2f5a58c4..24a91531d 100644 --- a/src/app/tools/tankopedia/components/TankCard.tsx +++ b/src/app/tools/tankopedia/components/TankCard.tsx @@ -1,8 +1,8 @@ import { Flex, Text } from '@radix-ui/themes'; import { assignInlineVars } from '@vanilla-extract/dynamic'; +import Link from 'next/link'; import { use, useMemo } from 'react'; import { classIcons } from '../../../../components/ClassIcon'; -import { Link } from '../../../../components/Link'; import { resolveNearPenetration } from '../../../../core/blitz/resolveNearPenetration'; import { asset } from '../../../../core/blitzkit/asset'; import { modelDefinitions } from '../../../../core/blitzkit/modelDefinitions'; @@ -132,7 +132,7 @@ export function TankCard({ tank, onSelect }: TankCardProps) { }, [sortBy]); return ( - onSelect(tank) : undefined} className={styles.card} style={assignInlineVars({ [styles.cardBackgroundVar]: `top left / contain no-repeat url(${asset(`flags/scratched/${tank.nation}.webp`)})`, })} > - {tank.name} - - - - - {tank.name} - - + {tank.name} - {discriminator && ( - - {discriminator} - - )} - + + + {tank.name} + + + + {discriminator && ( + + {discriminator} + + )} + + ); } diff --git a/src/components/StickyTableRoot.tsx b/src/components/StickyTableRoot.tsx index f7615fc2e..d5bc18f30 100644 --- a/src/components/StickyTableRoot.tsx +++ b/src/components/StickyTableRoot.tsx @@ -4,7 +4,7 @@ import { Table } from '@radix-ui/themes'; import { RootProps } from '@radix-ui/themes/dist/cjs/components/table'; import { useEffect, useRef } from 'react'; -export function StickyTableRoot(props: RootProps) { +export function StickyTableRoot({ style, ...props }: RootProps) { const table = useRef(null); useEffect(() => { @@ -13,5 +13,11 @@ export function StickyTableRoot(props: RootProps) { ?.style.setProperty('overflow', 'auto'); }, []); - return ; + return ( + + ); }