From 46441d74d8d190be2b069170adc921df15c1654e Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sun, 4 May 2025 13:08:28 -0500 Subject: [PATCH 01/21] feat: some baswork --- packages/i18n/strings/en.json | 7 ++ .../public/assets/images/tools/guess.webp | Bin 0 -> 192642 bytes .../TankSandbox/components/Control.tsx | 14 ++- packages/website/src/constants/tools.ts | 7 ++ .../website/src/pages/[...locale]/index.astro | 16 +-- .../pages/[...locale]/tools/guess/_index.tsx | 92 ++++++++++++++++++ .../tools/guess/components/GuessRenderer.tsx | 56 +++++++++++ .../pages/[...locale]/tools/guess/index.astro | 13 +++ 8 files changed, 196 insertions(+), 9 deletions(-) create mode 100644 packages/website/public/assets/images/tools/guess.webp create mode 100644 packages/website/src/pages/[...locale]/tools/guess/_index.tsx create mode 100644 packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx create mode 100644 packages/website/src/pages/[...locale]/tools/guess/index.astro diff --git a/packages/i18n/strings/en.json b/packages/i18n/strings/en.json index 81c900bc9..f94d49d59 100644 --- a/packages/i18n/strings/en.json +++ b/packages/i18n/strings/en.json @@ -853,6 +853,13 @@ }, "tools": { + "guess": { + "name": "Guess the tank", + "button": "Guess away", + "description": "Silhouette mini-game", + "seo_description": "Play a tank guessing game with a silhouette in World of Tanks Blitz" + }, + "tankopedia": { "name": "Tankopedia", "button": "Find tanks", diff --git a/packages/website/public/assets/images/tools/guess.webp b/packages/website/public/assets/images/tools/guess.webp new file mode 100644 index 0000000000000000000000000000000000000000..3453b25f9908a4d756326eb4afba2de3882a2448 GIT binary patch literal 192642 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
  • UBqtH(@h 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 O`Nsm4Jfx0Y^nd^$ir(P> literal 0 HcmV?d00001 diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx index 35fa2ff39..2d457af59 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx @@ -33,9 +33,17 @@ const ARCADE_MODE_FOV = 54; interface ControlsProps { naked?: boolean; + autoRotate?: boolean; + zoomable?: boolean; + enableRotate?: boolean; } -export function Controls({ naked }: ControlsProps) { +export function Controls({ + naked, + autoRotate = true, + zoomable = true, + enableRotate = true, +}: ControlsProps) { const mutateTankopediaEphemeral = TankopediaEphemeral.useMutation(); const display = TankopediaEphemeral.use((state) => state.display); const duelStore = Duel.useStore(); @@ -342,12 +350,14 @@ export function Controls({ naked }: ControlsProps) { return ( ); diff --git a/packages/website/src/constants/tools.ts b/packages/website/src/constants/tools.ts index c8e9b87be..b51aeff4c 100644 --- a/packages/website/src/constants/tools.ts +++ b/packages/website/src/constants/tools.ts @@ -117,6 +117,12 @@ export const chartsTool: Tool = { button: { color: 'bronze', }, + branches: ['main', 'dev'], +}; + +export const guessTool: Tool = { + id: 'guess', + button: { color: 'cyan' }, branches: ['main', 'dev', 'opentest', 'preview'], }; @@ -124,6 +130,7 @@ export const TOOLS: Tool[] = [ tankopediaTool, compareTool, performanceTool, + guessTool, // chartsTool, galleryTool, sessionTool, diff --git a/packages/website/src/pages/[...locale]/index.astro b/packages/website/src/pages/[...locale]/index.astro index a15019fc0..8473658aa 100644 --- a/packages/website/src/pages/[...locale]/index.astro +++ b/packages/website/src/pages/[...locale]/index.astro @@ -17,6 +17,7 @@ import { discordTool, embedTool, galleryTool, + guessTool, moreTool, performanceTool, sessionTool, @@ -118,21 +119,22 @@ export const getStaticPaths = (() => { + + + + - - - + + + - - - - + diff --git a/packages/website/src/pages/[...locale]/tools/guess/_index.tsx b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx new file mode 100644 index 000000000..3d8def1f8 --- /dev/null +++ b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx @@ -0,0 +1,92 @@ +import { Box, Flex } from '@radix-ui/themes'; +import { awaitableModelDefinitions } from '../../../../core/awaitables/modelDefinitions'; +import { awaitableProvisionDefinitions } from '../../../../core/awaitables/provisionDefinitions'; +import { awaitableTankDefinitions } from '../../../../core/awaitables/tankDefinitions'; +import { Var } from '../../../../core/radix/var'; +import { Duel } from '../../../../stores/duel'; +import { TankopediaEphemeral } from '../../../../stores/tankopediaEphemeral'; +import { GuessRenderer } from './components/GuessRenderer'; + +const [tankDefinitions, modelDefinitions, provisionDefinitions] = + await Promise.all([ + awaitableTankDefinitions, + awaitableModelDefinitions, + awaitableProvisionDefinitions, + ]); + +const ids = Object.keys(tankDefinitions.tanks); + +export function Page() { + const id = Number(ids[Math.floor(Math.random() * ids.length)]); + const tank = tankDefinitions.tanks[id]; + const model = modelDefinitions.models[id]; + + return ( + + + + + + ); +} + +function Content() { + return ( + + + + + + + + + + + b + + + ); +} diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx new file mode 100644 index 000000000..ee8dfcd81 --- /dev/null +++ b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx @@ -0,0 +1,56 @@ +import { Canvas, invalidate } from '@react-three/fiber'; +import { useCallback, useEffect, useRef } from 'react'; +import { Fog } from 'three'; +import { Controls } from '../../../../../components/Tankopedia/HeroSection/components/TankSandbox/components/Control'; +import { Lighting } from '../../../../../components/Tankopedia/HeroSection/components/TankSandbox/components/Lighting'; +import { TankModel } from '../../../../../components/Tankopedia/HeroSection/components/TankSandbox/components/TankModel'; +import { Var } from '../../../../../core/radix/var'; +import { TankopediaDisplay } from '../../../../../stores/tankopediaPersistent/constants'; + +const nearConcealed = -40; +const farConcealed = 22; +const nearRevealed = 20; +const farRevealed = 22; +const animationDuration = 1; + +export function GuessRenderer() { + const fog = useRef(new Fog('black', nearConcealed, farConcealed)); + const reveal = useCallback(() => { + const t0 = Date.now() / 1000; + + function frame() { + const t = Date.now() / 1000; + const x = (t - t0) / animationDuration; + const y = Math.sqrt(x); + const near = nearConcealed * (1 - y) + nearRevealed * y; + const far = farConcealed * (1 - y) + farRevealed * y; + + fog.current.near = near; + fog.current.far = far; + + invalidate(); + + if (y < 1) requestAnimationFrame(frame); + } + + requestAnimationFrame(frame); + }, []); + + useEffect(() => { + setTimeout(reveal, 2000); + }, []); + + return ( + + + + + + ); +} diff --git a/packages/website/src/pages/[...locale]/tools/guess/index.astro b/packages/website/src/pages/[...locale]/tools/guess/index.astro new file mode 100644 index 000000000..b53bd7755 --- /dev/null +++ b/packages/website/src/pages/[...locale]/tools/guess/index.astro @@ -0,0 +1,13 @@ +--- +import { PageWrapper } from '../../../../components/PageWrapper'; +import BaseLayout from '../../../../layouts/BaseLayout.astro'; +import { Page } from './_index'; + +export { getStaticPaths } from '../../index.astro'; +--- + + + + + + From 232f24181ffaa14a9cdca676ba6a08b790b2b84b Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sun, 4 May 2025 21:02:50 -0500 Subject: [PATCH 02/21] feat: some guessing mechanics --- bun.lockb | Bin 449718 -> 450105 bytes package.json | 5 +- packages/i18n/strings/en.json | 7 +- .../src/components/Embeds/GenerateURL.tsx | 20 +-- .../website/src/components/SearchResults.tsx | 34 ++++ .../TankSandbox/components/Control.tsx | 10 +- .../pages/[...locale]/tools/guess/_index.tsx | 78 ++++----- .../tools/guess/components/GuessRenderer.tsx | 30 +++- .../tools/guess/components/Guesser.tsx | 151 ++++++++++++++++++ .../pages/[...locale]/tools/guess/index.astro | 6 +- 10 files changed, 265 insertions(+), 76 deletions(-) create mode 100644 packages/website/src/components/SearchResults.tsx create mode 100644 packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx diff --git a/bun.lockb b/bun.lockb index 8f11b01683be10c24507114269c2ffd59298cda7..8beb97ef4488af9ec4722018e29f93e5c2140201 100644 GIT binary patch delta 88145 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 TT%l>lPM+=BIeB)nJQe>RH9k?m delta 87665 zcmeFZdsJ1`{{Ow#)~$P`n3g4IWLB0`Se6Nfu+36I#Y<^|MTJU&iWks?%CNgubX(aJ zi^@}-G>_dasjTcKly<*>MP*m5tgI}ptmpM!bAg;QI(?tt7~kLX$1~icz2Ecmnzzrq zuDRC2YM$!$SWUMZdMA~|uR32q0ph|Ol+0&2KGT{F7|=wBiIL55I7|Oiv_Tc4KkDm z8O}lz;pu31v==IeI-y`%}RXkQ`~Uysdy z3o7`jh$HYaiCy$rR1piwrIyZ}TQnII`V?CQ%`TM{3RRIwb|R&!WpQXn^jo+px`rQ> z`#jyGo+`{QojGqtD6|qod<`l`rp%mG;a6~5knnS2<;d08`=J-3s%Q$TmR>@^aℜ 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۴lRR@2?SNveEt{fQOm>r=@CS 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 jb0t%IZ#WZey*b92JEe*q-d1 diff --git a/package.json b/package.json index a47611087..e46eb0ea3 100644 --- a/package.json +++ b/package.json @@ -40,9 +40,10 @@ }, "license": "MIT", "dependencies": { - "sharp": "^0.33.5", "googleapis": "^144.0.0", - "lodash-es": "^4.17.21" + "lodash-es": "^4.17.21", + "quicklime": "^1.2.0", + "sharp": "^0.33.5" }, "devDependencies": { "@types/bun": "latest", diff --git a/packages/i18n/strings/en.json b/packages/i18n/strings/en.json index f94d49d59..5633a9794 100644 --- a/packages/i18n/strings/en.json +++ b/packages/i18n/strings/en.json @@ -857,7 +857,12 @@ "name": "Guess the tank", "button": "Guess away", "description": "Silhouette mini-game", - "seo_description": "Play a tank guessing game with a silhouette in World of Tanks Blitz" + "seo_description": "Play a tank guessing game with a silhouette in World of Tanks Blitz", + "search": { + "placeholder": "Type to guess...", + "button": "Guess", + "no_results": "No results" + } }, "tankopedia": { diff --git a/packages/website/src/components/Embeds/GenerateURL.tsx b/packages/website/src/components/Embeds/GenerateURL.tsx index fcbca17c8..eef5bfeae 100644 --- a/packages/website/src/components/Embeds/GenerateURL.tsx +++ b/packages/website/src/components/Embeds/GenerateURL.tsx @@ -6,7 +6,6 @@ import { import { literals } from '@blitzkit/i18n/src/literals'; import { CaretLeftIcon, Link2Icon, PersonIcon } from '@radix-ui/react-icons'; import { - Badge, Button, Dialog, Flex, @@ -22,6 +21,7 @@ import type { embedConfigurations } from '../../constants/embeds'; import { useLocale } from '../../hooks/useLocale'; import { EmbedState, type EmbedStateStore } from '../../stores/embedState'; import { CopyButton } from '../CopyButton'; +import { SearchResults } from '../SearchResults'; interface GenerateURLProps { embed: keyof typeof embedConfigurations; @@ -118,25 +118,19 @@ export function GenerateURL({ embed }: GenerateURLProps) { )} {!searching && results.length > 0 && ( - + {results.map((result) => ( - + /> ))} - + )} diff --git a/packages/website/src/components/SearchResults.tsx b/packages/website/src/components/SearchResults.tsx new file mode 100644 index 000000000..821394068 --- /dev/null +++ b/packages/website/src/components/SearchResults.tsx @@ -0,0 +1,34 @@ +import { + Badge, + Button, + Flex, + type ButtonProps, + type FlexProps, +} from '@radix-ui/themes'; +import type { ReactNode } from 'react'; + +function Root(props: FlexProps) { + return ; +} + +interface ItemProps extends ButtonProps { + text: string; + discriminator?: ReactNode; +} + +function Item({ text, discriminator, ...props }: ItemProps) { + return ( + + ); +} + +export const SearchResults = { Root, Item }; diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx index 2d457af59..90221f211 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx @@ -36,6 +36,7 @@ interface ControlsProps { autoRotate?: boolean; zoomable?: boolean; enableRotate?: boolean; + distanceScale?: number; } export function Controls({ @@ -43,6 +44,7 @@ export function Controls({ autoRotate = true, zoomable = true, enableRotate = true, + distanceScale = 1, }: ControlsProps) { const mutateTankopediaEphemeral = TankopediaEphemeral.useMutation(); const display = TankopediaEphemeral.use((state) => state.display); @@ -94,11 +96,11 @@ export function Controls({ protagonistHullOrigin.y + protagonistTurretOrigin.y + protagonistGunOrigin.y; - const inspectModeInitialPosition = [ + const inspectModeInitialPosition = new Vector3( -8, gunHeight + (naked ? 10 : 2), -13, - ] as const; + ).multiplyScalar(distanceScale); const protagonistGunOriginOnlyY = new Vector3( 0, protagonistTurretModelDefinition.gun_origin.y, @@ -203,7 +205,7 @@ export function Controls({ } case Pose.Default: { - camera.position.set(...inspectModeInitialPosition); + camera.position.copy(inspectModeInitialPosition); orbitControls.current?.target.set(0, 1.25, 0); break; } @@ -312,7 +314,7 @@ export function Controls({ .add(shellOrigin); } } else { - camera.position.set(...inspectModeInitialPosition); + camera.position.copy(inspectModeInitialPosition); orbitControls.current.target.set(0, gunHeight / (naked ? 4 : 2), 0); orbitControls.current.enablePan = true; orbitControls.current.enableZoom = true; diff --git a/packages/website/src/pages/[...locale]/tools/guess/_index.tsx b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx index 3d8def1f8..7ef48b173 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/_index.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx @@ -3,9 +3,14 @@ import { awaitableModelDefinitions } from '../../../../core/awaitables/modelDefi import { awaitableProvisionDefinitions } from '../../../../core/awaitables/provisionDefinitions'; import { awaitableTankDefinitions } from '../../../../core/awaitables/tankDefinitions'; import { Var } from '../../../../core/radix/var'; +import { + LocaleProvider, + type LocaleAcceptorProps, +} from '../../../../hooks/useLocale'; import { Duel } from '../../../../stores/duel'; import { TankopediaEphemeral } from '../../../../stores/tankopediaEphemeral'; import { GuessRenderer } from './components/GuessRenderer'; +import { Guesser } from './components/Guesser'; const [tankDefinitions, modelDefinitions, provisionDefinitions] = await Promise.all([ @@ -16,17 +21,19 @@ const [tankDefinitions, modelDefinitions, provisionDefinitions] = const ids = Object.keys(tankDefinitions.tanks); -export function Page() { +export function Page({ locale }: LocaleAcceptorProps) { const id = Number(ids[Math.floor(Math.random() * ids.length)]); const tank = tankDefinitions.tanks[id]; const model = modelDefinitions.models[id]; return ( - - - - - + + + + + + + ); } @@ -39,54 +46,31 @@ function Content() { backgroundColor: Var('cyan-3'), }} > - - - - - - - - - - b - + /> + + + + + + ); } diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx index ee8dfcd81..9efb18f3a 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx @@ -1,4 +1,5 @@ import { Canvas, invalidate } from '@react-three/fiber'; +import { type QuicklimeCallback, Quicklime } from 'quicklime'; import { useCallback, useEffect, useRef } from 'react'; import { Fog } from 'three'; import { Controls } from '../../../../../components/Tankopedia/HeroSection/components/TankSandbox/components/Control'; @@ -7,15 +8,17 @@ import { TankModel } from '../../../../../components/Tankopedia/HeroSection/comp import { Var } from '../../../../../core/radix/var'; import { TankopediaDisplay } from '../../../../../stores/tankopediaPersistent/constants'; -const nearConcealed = -40; +const nearConcealed = -45; const farConcealed = 22; -const nearRevealed = 20; -const farRevealed = 22; +const nearRevealed = 25; +const farRevealed = 25; const animationDuration = 1; +export const revealEvent = new Quicklime(); + export function GuessRenderer() { const fog = useRef(new Fog('black', nearConcealed, farConcealed)); - const reveal = useCallback(() => { + const reveal = useCallback((show: boolean) => { const t0 = Date.now() / 1000; function frame() { @@ -30,14 +33,27 @@ export function GuessRenderer() { invalidate(); - if (y < 1) requestAnimationFrame(frame); + if (y < 1) { + requestAnimationFrame(frame); + } else { + fog.current.near = nearRevealed; + fog.current.far = farRevealed; + } } requestAnimationFrame(frame); }, []); useEffect(() => { - setTimeout(reveal, 2000); + const handleRevealEvent: QuicklimeCallback = ({ data }) => { + reveal(data); + }; + + revealEvent.on(handleRevealEvent); + + return () => { + revealEvent.off(handleRevealEvent); + }; }, []); return ( @@ -48,7 +64,7 @@ export function GuessRenderer() { camera={{ position: [-5, 5, -5] }} scene={{ fog: fog.current }} > - + diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx new file mode 100644 index 000000000..17bb18d07 --- /dev/null +++ b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx @@ -0,0 +1,151 @@ +import { + SEARCH_KEYS, + TankDefinition, + TIER_ROMAN_NUMERALS, +} from '@blitzkit/core'; +import { MagnifyingGlassIcon, PaperPlaneIcon } from '@radix-ui/react-icons'; +import { + Box, + Button, + Card, + Flex, + Spinner, + Text, + TextField, +} from '@radix-ui/themes'; +import fuzzysort from 'fuzzysort'; +import { debounce } from 'lodash-es'; +import { useCallback, useRef, useState } from 'react'; +import { classIcons } from '../../../../../components/ClassIcon'; +import { SearchResults } from '../../../../../components/SearchResults'; +import { awaitableTankDefinitions } from '../../../../../core/awaitables/tankDefinitions'; +import { awaitableTankNames } from '../../../../../core/awaitables/tankNames'; +import { useLocale } from '../../../../../hooks/useLocale'; +import { revealEvent } from './GuessRenderer'; + +const { go } = fuzzysort; + +const [tankNames, tankDefinitions] = await Promise.all([ + awaitableTankNames, + awaitableTankDefinitions, +]); + +export function Guesser() { + const { strings, unwrap } = useLocale(); + const input = useRef(null); + const [searching, setSearching] = useState(false); + const [results, setResults] = useState(null); + const [selected, setSelected] = useState(null); + + const requestSearch = useCallback(() => { + setSelected(null); + setSearching(true); + search(); + }, []); + const search = useCallback( + debounce(() => { + if (!input.current) return; + + setSearching(false); + const trimmed = input.current.value.trim(); + + if (trimmed.length === 0) { + setResults(null); + return; + } + + const searchResults = go(trimmed, tankNames, { + keys: SEARCH_KEYS, + limit: 6, + }); + + setResults( + searchResults.map((result) => tankDefinitions.tanks[result.obj.id]), + ); + }, 500), + [], + ); + + return ( + + {results !== null && ( + + + {results.length === 0 && ( + + + {strings.website.tools.guess.search.no_results} + + + )} + + + {results.map((result) => { + const Icon = classIcons[result.class]; + + return ( + { + if (!input.current) return; + + input.current.value = unwrap(result.name); + setSelected(result); + setResults(null); + }} + text={unwrap(result.name)} + discriminator={ + + + {TIER_ROMAN_NUMERALS[result.tier]} + + } + /> + ); + })} + + + + )} + + + + + {searching ? : } + + + + + + + ); +} diff --git a/packages/website/src/pages/[...locale]/tools/guess/index.astro b/packages/website/src/pages/[...locale]/tools/guess/index.astro index b53bd7755..0aeff805e 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/index.astro +++ b/packages/website/src/pages/[...locale]/tools/guess/index.astro @@ -4,10 +4,12 @@ import BaseLayout from '../../../../layouts/BaseLayout.astro'; import { Page } from './_index'; export { getStaticPaths } from '../../index.astro'; + +const { locale } = Astro.params; --- - - + + From c8cb490b488cb3d8629c0d502bd6ebc1a4690558 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sun, 4 May 2025 21:39:09 -0500 Subject: [PATCH 03/21] feat: full logic --- packages/i18n/strings/en.json | 3 +- .../pages/[...locale]/tools/guess/_index.tsx | 69 ++++++++--------- .../guess/components/Background/index.css | 14 ++++ .../guess/components/Background/index.tsx | 76 +++++++++++++++++++ .../tools/guess/components/GuessRenderer.tsx | 7 ++ .../guess/components/GuessRendererLoader.tsx | 14 ++++ .../tools/guess/components/Guesser.tsx | 51 ++++++++++++- packages/website/src/stores/guessEphemeral.ts | 20 +++++ 8 files changed, 210 insertions(+), 44 deletions(-) create mode 100644 packages/website/src/pages/[...locale]/tools/guess/components/Background/index.css create mode 100644 packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx create mode 100644 packages/website/src/pages/[...locale]/tools/guess/components/GuessRendererLoader.tsx create mode 100644 packages/website/src/stores/guessEphemeral.ts diff --git a/packages/i18n/strings/en.json b/packages/i18n/strings/en.json index 5633a9794..44e40c25f 100644 --- a/packages/i18n/strings/en.json +++ b/packages/i18n/strings/en.json @@ -860,7 +860,8 @@ "seo_description": "Play a tank guessing game with a silhouette in World of Tanks Blitz", "search": { "placeholder": "Type to guess...", - "button": "Guess", + "guess": "Guess", + "next": "Next", "no_results": "No results" } }, diff --git a/packages/website/src/pages/[...locale]/tools/guess/_index.tsx b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx index 7ef48b173..3c72e704b 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/_index.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx @@ -1,16 +1,19 @@ import { Box, Flex } from '@radix-ui/themes'; +import { Suspense } from 'react'; import { awaitableModelDefinitions } from '../../../../core/awaitables/modelDefinitions'; import { awaitableProvisionDefinitions } from '../../../../core/awaitables/provisionDefinitions'; import { awaitableTankDefinitions } from '../../../../core/awaitables/tankDefinitions'; -import { Var } from '../../../../core/radix/var'; import { LocaleProvider, type LocaleAcceptorProps, } from '../../../../hooks/useLocale'; import { Duel } from '../../../../stores/duel'; +import { GuessEphemeral } from '../../../../stores/guessEphemeral'; import { TankopediaEphemeral } from '../../../../stores/tankopediaEphemeral'; -import { GuessRenderer } from './components/GuessRenderer'; +import { Background } from './components/Background'; import { Guesser } from './components/Guesser'; +import { GuessRenderer } from './components/GuessRenderer'; +import { GuessRendererLoader } from './components/GuessRendererLoader'; const [tankDefinitions, modelDefinitions, provisionDefinitions] = await Promise.all([ @@ -22,52 +25,40 @@ const [tankDefinitions, modelDefinitions, provisionDefinitions] = const ids = Object.keys(tankDefinitions.tanks); export function Page({ locale }: LocaleAcceptorProps) { - const id = Number(ids[Math.floor(Math.random() * ids.length)]); - const tank = tankDefinitions.tanks[id]; - const model = modelDefinitions.models[id]; + const initialId = Number(ids[Math.floor(Math.random() * ids.length)]); + const initialTank = tankDefinitions.tanks[initialId]; return ( - - - - - - - + + + + + + ); +} + +function Page2() { + const tank = GuessEphemeral.use((state) => state.tank); + const model = modelDefinitions.models[tank.id]; + + return ( + + + + + ); } function Content() { return ( - - + + - + }> + + diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.css b/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.css new file mode 100644 index 000000000..27600f511 --- /dev/null +++ b/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.css @@ -0,0 +1,14 @@ +.guess-background { + animation: moveBackground 180s linear infinite; +} + +@keyframes moveBackground { + from { + top: 0; + left: 0; + } + to { + top: -100%; + left: -100%; + } +} diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx new file mode 100644 index 000000000..009574341 --- /dev/null +++ b/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx @@ -0,0 +1,76 @@ +import { Box } from '@radix-ui/themes'; +import { useEffect } from 'react'; +import { awaitableModelDefinitions } from '../../../../../../core/awaitables/modelDefinitions'; +import { awaitableProvisionDefinitions } from '../../../../../../core/awaitables/provisionDefinitions'; +import { tankToDuelMember } from '../../../../../../core/blitzkit/tankToDuelMember'; +import { Var } from '../../../../../../core/radix/var'; +import { Duel } from '../../../../../../stores/duel'; +import { GuessEphemeral } from '../../../../../../stores/guessEphemeral'; +import { TankopediaEphemeral } from '../../../../../../stores/tankopediaEphemeral'; +import './index.css'; + +const [modelDefinitions, provisionDefinitions] = await Promise.all([ + awaitableModelDefinitions, + awaitableProvisionDefinitions, +]); + +export function Background() { + const state = GuessEphemeral.use((state) => state.guessState); + const tank = GuessEphemeral.use((state) => state.tank); + const mutateDuel = Duel.useMutation(); + const mutateTankopediaEphemeral = TankopediaEphemeral.useMutation(); + + useEffect(() => { + mutateDuel((state) => { + const model = modelDefinitions.models[tank.id]; + state.protagonist = tankToDuelMember(tank, model, provisionDefinitions); + }); + mutateTankopediaEphemeral((state) => { + state.model = modelDefinitions.models[tank.id]; + }); + }, [tank]); + + return ( + <> + + + + + + + ); +} diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx index 9efb18f3a..266bff97e 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRenderer.tsx @@ -19,6 +19,13 @@ export const revealEvent = new Quicklime(); export function GuessRenderer() { const fog = useRef(new Fog('black', nearConcealed, farConcealed)); const reveal = useCallback((show: boolean) => { + if (!show) { + fog.current.near = nearConcealed; + fog.current.far = farConcealed; + invalidate(); + return; + } + const t0 = Date.now() / 1000; function frame() { diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/GuessRendererLoader.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRendererLoader.tsx new file mode 100644 index 000000000..da9479e91 --- /dev/null +++ b/packages/website/src/pages/[...locale]/tools/guess/components/GuessRendererLoader.tsx @@ -0,0 +1,14 @@ +import { Box, Spinner } from '@radix-ui/themes'; + +export function GuessRendererLoader() { + return ( + + + + ); +} diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx index 17bb18d07..9f20b20d9 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx @@ -3,7 +3,11 @@ import { TankDefinition, TIER_ROMAN_NUMERALS, } from '@blitzkit/core'; -import { MagnifyingGlassIcon, PaperPlaneIcon } from '@radix-ui/react-icons'; +import { + ArrowRightIcon, + MagnifyingGlassIcon, + PaperPlaneIcon, +} from '@radix-ui/react-icons'; import { Box, Button, @@ -21,6 +25,7 @@ import { SearchResults } from '../../../../../components/SearchResults'; import { awaitableTankDefinitions } from '../../../../../core/awaitables/tankDefinitions'; import { awaitableTankNames } from '../../../../../core/awaitables/tankNames'; import { useLocale } from '../../../../../hooks/useLocale'; +import { GuessEphemeral } from '../../../../../stores/guessEphemeral'; import { revealEvent } from './GuessRenderer'; const { go } = fuzzysort; @@ -30,12 +35,17 @@ const [tankNames, tankDefinitions] = await Promise.all([ awaitableTankDefinitions, ]); +const ids = Object.keys(tankDefinitions.tanks); + export function Guesser() { + const tank = GuessEphemeral.use((state) => state.tank); + const guessState = GuessEphemeral.use((state) => state.guessState); const { strings, unwrap } = useLocale(); const input = useRef(null); const [searching, setSearching] = useState(false); const [results, setResults] = useState(null); const [selected, setSelected] = useState(null); + const mutateGuessEphemeral = GuessEphemeral.useMutation(); const requestSearch = useCallback(() => { setSelected(null); @@ -124,6 +134,7 @@ export function Guesser() { { - revealEvent.dispatch(true); + if (guessState === null) { + console.log('what'); + const correct = selected!.id === tank.id; + + revealEvent.dispatch(true); + mutateGuessEphemeral((draft) => { + draft.guessState = correct; + draft.totalSeen++; + draft.correct += correct ? 1 : 0; + }); + } else { + const id = Number(ids[Math.floor(Math.random() * ids.length)]); + const tank = tankDefinitions.tanks[id]; + + revealEvent.dispatch(false); + mutateGuessEphemeral((draft) => { + if (!input.current) return; + + draft.tank = tank; + draft.guessState = null; + input.current.value = ''; + }); + } }} > - {strings.website.tools.guess.search.button} + {guessState === null ? ( + <> + {strings.website.tools.guess.search.guess} + + + ) : ( + <> + {strings.website.tools.guess.search.next} + + + )} diff --git a/packages/website/src/stores/guessEphemeral.ts b/packages/website/src/stores/guessEphemeral.ts new file mode 100644 index 000000000..106f481be --- /dev/null +++ b/packages/website/src/stores/guessEphemeral.ts @@ -0,0 +1,20 @@ +import type { TankDefinition } from '@blitzkit/core'; +import { create } from 'zustand'; +import { createContextualStore } from '../core/zustand/createContextualStore'; + +export interface GuessEphemeral { + tank: TankDefinition; + // true = correct, false = incorrect, null = not guessed + guessState: boolean | null; + totalSeen: number; + correct: number; +} + +export const GuessEphemeral = createContextualStore((tank: TankDefinition) => + create()(() => ({ + tank, + guessState: null, + totalSeen: 0, + correct: 0, + })), +); From 57971453ade3eedff1fe28d960ab150242eee3c1 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sun, 4 May 2025 21:45:38 -0500 Subject: [PATCH 04/21] feat: stats --- packages/i18n/strings/en.json | 3 ++- .../tools/guess/components/Guesser.tsx | 16 ++++++++++++++-- packages/website/src/stores/guessEphemeral.ts | 8 ++++---- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/packages/i18n/strings/en.json b/packages/i18n/strings/en.json index 44e40c25f..76335bd5c 100644 --- a/packages/i18n/strings/en.json +++ b/packages/i18n/strings/en.json @@ -863,7 +863,8 @@ "guess": "Guess", "next": "Next", "no_results": "No results" - } + }, + "stats": "%s1 / %s2 guessed correctly" }, "tankopedia": { diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx index 9f20b20d9..0646be04b 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx @@ -3,6 +3,7 @@ import { TankDefinition, TIER_ROMAN_NUMERALS, } from '@blitzkit/core'; +import { literals } from '@blitzkit/i18n'; import { ArrowRightIcon, MagnifyingGlassIcon, @@ -40,6 +41,8 @@ const ids = Object.keys(tankDefinitions.tanks); export function Guesser() { const tank = GuessEphemeral.use((state) => state.tank); const guessState = GuessEphemeral.use((state) => state.guessState); + const correctGuesses = GuessEphemeral.use((state) => state.correctGuesses); + const totalGuesses = GuessEphemeral.use((state) => state.totalGuesses); const { strings, unwrap } = useLocale(); const input = useRef(null); const [searching, setSearching] = useState(false); @@ -132,6 +135,15 @@ export function Guesser() { )} + + + {literals(strings.website.tools.guess.stats, [ + `${correctGuesses}`, + `${totalGuesses}`, + ])} + + + { draft.guessState = correct; - draft.totalSeen++; - draft.correct += correct ? 1 : 0; + draft.totalGuesses++; + draft.correctGuesses += correct ? 1 : 0; }); } else { const id = Number(ids[Math.floor(Math.random() * ids.length)]); diff --git a/packages/website/src/stores/guessEphemeral.ts b/packages/website/src/stores/guessEphemeral.ts index 106f481be..2f841ba6d 100644 --- a/packages/website/src/stores/guessEphemeral.ts +++ b/packages/website/src/stores/guessEphemeral.ts @@ -6,15 +6,15 @@ export interface GuessEphemeral { tank: TankDefinition; // true = correct, false = incorrect, null = not guessed guessState: boolean | null; - totalSeen: number; - correct: number; + totalGuesses: number; + correctGuesses: number; } export const GuessEphemeral = createContextualStore((tank: TankDefinition) => create()(() => ({ tank, guessState: null, - totalSeen: 0, - correct: 0, + totalGuesses: 0, + correctGuesses: 0, })), ); From fb47ab3e6425ab173f189225970a59ccccffd46e Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sun, 4 May 2025 22:11:41 -0500 Subject: [PATCH 05/21] feat: new auto rotate animation --- .../TankSandbox/components/Control.tsx | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx index 90221f211..93ac896c6 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx @@ -1,3 +1,4 @@ +import { I_HAT, J_HAT } from '@blitzkit/core'; import { OrbitControls } from '@react-three/drei'; import { invalidate, useThree } from '@react-three/fiber'; import { clamp } from 'lodash-es'; @@ -92,6 +93,7 @@ export function Controls({ antagonistModelDefinition.turret_origin.y + antagonistTurretModelDefinition.gun_origin.y; const disturbed = TankopediaEphemeral.use((state) => state.disturbed); + const doAutoRotate = autoRotate && !disturbed; const gunHeight = protagonistHullOrigin.y + protagonistTurretOrigin.y + @@ -111,6 +113,34 @@ export function Controls({ .add(protagonistTurretOrigin) .add(protagonistGunOriginOnlyY); + useEffect(() => { + if (!orbitControls.current || !doAutoRotate) return; + + const t0 = Date.now() / 1000; + let cancel = false; + const position = inspectModeInitialPosition.clone(); + + function frame() { + if (!cancel) requestAnimationFrame(frame); + + const now = Date.now() / 1000; + const t = now - t0; + + camera.position + .copy(inspectModeInitialPosition) + .applyAxisAngle(I_HAT, (Math.PI / 16) * Math.sin(t / 9)) + .applyAxisAngle(J_HAT, (-Math.PI / 4) * Math.sin(t / 7)); + + invalidate(); + } + + frame(); + + return () => { + cancel = true; + }; + }, [doAutoRotate, camera]); + useEffect(() => { const unsubscribeTankopediaEphemeral = tankopediaEphemeralStore.subscribe( (state) => state.controlsEnabled, @@ -359,7 +389,6 @@ export function Controls({ ref={orbitControls} enabled={tankopediaEphemeralStore.getState().controlsEnabled} enableDamping={false} - autoRotate={autoRotate && !disturbed} autoRotateSpeed={1 / 4} /> ); From 4165533838f3631a817bd574cb5634ea03adfa83 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Mon, 5 May 2025 21:05:46 -0500 Subject: [PATCH 06/21] feat: simplier hiding --- .../guess/components/Background/index.tsx | 23 +++---- .../tools/guess/components/GuessRenderer.tsx | 69 +++---------------- .../tools/guess/components/Guesser.tsx | 3 - 3 files changed, 20 insertions(+), 75 deletions(-) diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx index 009574341..a0116d98b 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx @@ -15,7 +15,7 @@ const [modelDefinitions, provisionDefinitions] = await Promise.all([ ]); export function Background() { - const state = GuessEphemeral.use((state) => state.guessState); + const guessState = GuessEphemeral.use((state) => state.guessState); const tank = GuessEphemeral.use((state) => state.tank); const mutateDuel = Duel.useMutation(); const mutateTankopediaEphemeral = TankopediaEphemeral.useMutation(); @@ -39,19 +39,16 @@ export function Background() { top="0" left="0" style={{ - backgroundColor: Var(`${state ? 'jade' : 'tomato'}-3`), + transitionDuration: '2s', + backgroundColor: Var( + guessState === null + ? 'accent-2' + : guessState + ? 'jade-3' + : 'tomato-3', + ), }} - > - - + /> (); +const BRIGHTNESS = 2 ** -5; +const CONTRAST = 2 ** 2; export function GuessRenderer() { - const fog = useRef(new Fog('black', nearConcealed, farConcealed)); - const reveal = useCallback((show: boolean) => { - if (!show) { - fog.current.near = nearConcealed; - fog.current.far = farConcealed; - invalidate(); - return; - } - - const t0 = Date.now() / 1000; - - function frame() { - const t = Date.now() / 1000; - const x = (t - t0) / animationDuration; - const y = Math.sqrt(x); - const near = nearConcealed * (1 - y) + nearRevealed * y; - const far = farConcealed * (1 - y) + farRevealed * y; - - fog.current.near = near; - fog.current.far = far; - - invalidate(); - - if (y < 1) { - requestAnimationFrame(frame); - } else { - fog.current.near = nearRevealed; - fog.current.far = farRevealed; - } - } - - requestAnimationFrame(frame); - }, []); - - useEffect(() => { - const handleRevealEvent: QuicklimeCallback = ({ data }) => { - reveal(data); - }; - - revealEvent.on(handleRevealEvent); - - return () => { - revealEvent.off(handleRevealEvent); - }; - }, []); + const guessState = GuessEphemeral.use((state) => state.guessState); + const isRevealed = guessState !== null; return ( diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx index 0646be04b..8e9493f55 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/components/Guesser.tsx @@ -27,7 +27,6 @@ import { awaitableTankDefinitions } from '../../../../../core/awaitables/tankDef import { awaitableTankNames } from '../../../../../core/awaitables/tankNames'; import { useLocale } from '../../../../../hooks/useLocale'; import { GuessEphemeral } from '../../../../../stores/guessEphemeral'; -import { revealEvent } from './GuessRenderer'; const { go } = fuzzysort; @@ -167,7 +166,6 @@ export function Guesser() { console.log('what'); const correct = selected!.id === tank.id; - revealEvent.dispatch(true); mutateGuessEphemeral((draft) => { draft.guessState = correct; draft.totalGuesses++; @@ -177,7 +175,6 @@ export function Guesser() { const id = Number(ids[Math.floor(Math.random() * ids.length)]); const tank = tankDefinitions.tanks[id]; - revealEvent.dispatch(false); mutateGuessEphemeral((draft) => { if (!input.current) return; From fbbfa5307c23b1f55043b571d7ee8e4ba198736b Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Mon, 5 May 2025 21:22:05 -0500 Subject: [PATCH 07/21] feat: skip --- packages/i18n/strings/en.json | 1 + .../website/src/components/PageWrapper.tsx | 2 +- .../guess/components/Background/index.tsx | 10 +++++++++- .../tools/guess/components/Guesser.tsx | 19 +++++++++++++------ 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/packages/i18n/strings/en.json b/packages/i18n/strings/en.json index 76335bd5c..1de35c052 100644 --- a/packages/i18n/strings/en.json +++ b/packages/i18n/strings/en.json @@ -860,6 +860,7 @@ "seo_description": "Play a tank guessing game with a silhouette in World of Tanks Blitz", "search": { "placeholder": "Type to guess...", + "skip": "Skip", "guess": "Guess", "next": "Next", "no_results": "No results" diff --git a/packages/website/src/components/PageWrapper.tsx b/packages/website/src/components/PageWrapper.tsx index f78b1dd8b..f8d3894e5 100644 --- a/packages/website/src/components/PageWrapper.tsx +++ b/packages/website/src/components/PageWrapper.tsx @@ -28,7 +28,7 @@ export function PageWrapper({ style={{ flex: noFlex1 ? undefined : 1, display: 'flex', - minHeight: noMinHeight ? 'unset' : `calc(100dvh - ${NAVBAR_HEIGHT}px)`, + minHeight: noMinHeight ? 'unset' : `calc(100svh - ${NAVBAR_HEIGHT}px)`, flexDirection: 'column', ...containerProps?.style, }} diff --git a/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx b/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx index a0116d98b..fadef8605 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/components/Background/index.tsx @@ -48,7 +48,15 @@ export function Background() { : 'tomato-3', ), }} - /> + > + + { + if (guessState !== null) setSelected(null); + }, [guessState]); + return ( { if (guessState === null) { - console.log('what'); - const correct = selected!.id === tank.id; + const correct = selected !== null && selected.id === tank.id; mutateGuessEphemeral((draft) => { draft.guessState = correct; @@ -187,8 +190,12 @@ export function Guesser() { > {guessState === null ? ( <> - {strings.website.tools.guess.search.guess} - + { + strings.website.tools.guess.search[ + selected === null ? 'skip' : 'guess' + ] + } + {selected === null ? : } ) : ( <> From b409e26ca55a06a8acccbc3c99626fb6301e0dda Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Mon, 5 May 2025 21:41:45 -0500 Subject: [PATCH 08/21] feat: reveal titles --- .../pages/[...locale]/tools/guess/_index.tsx | 60 ++++++++++++++++++- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/packages/website/src/pages/[...locale]/tools/guess/_index.tsx b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx index 3c72e704b..47778fb66 100644 --- a/packages/website/src/pages/[...locale]/tools/guess/_index.tsx +++ b/packages/website/src/pages/[...locale]/tools/guess/_index.tsx @@ -1,10 +1,12 @@ -import { Box, Flex } from '@radix-ui/themes'; +import { Box, Flex, Heading } from '@radix-ui/themes'; import { Suspense } from 'react'; import { awaitableModelDefinitions } from '../../../../core/awaitables/modelDefinitions'; import { awaitableProvisionDefinitions } from '../../../../core/awaitables/provisionDefinitions'; import { awaitableTankDefinitions } from '../../../../core/awaitables/tankDefinitions'; +import { Var } from '../../../../core/radix/var'; import { LocaleProvider, + useLocale, type LocaleAcceptorProps, } from '../../../../hooks/useLocale'; import { Duel } from '../../../../stores/duel'; @@ -51,16 +53,70 @@ function Page2() { } function Content() { + const { unwrap } = useLocale(); + const tank = GuessEphemeral.use((state) => state.tank); + const guessState = GuessEphemeral.use((state) => state.guessState); + const isRevealed = guessState !== null; + return ( - + + + {unwrap(tank.name)} + + + + }> + + + {unwrap(tank.name)} + + + ); From ad8cbb96b77c0ed00f7ac281d42de21acdb2047e Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Mon, 5 May 2025 22:54:39 -0500 Subject: [PATCH 09/21] feat: nerd time --- .../HeroSection/components/Options/index.tsx | 7 +- .../components/TankSandbox/Title.tsx | 55 +++++ .../TankSandbox/components/Control.tsx | 4 +- .../components/TankSandbox/index.tsx | 3 +- .../Tankopedia/HeroSection/index.tsx | 188 +++--------------- 5 files changed, 85 insertions(+), 172 deletions(-) create mode 100644 packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx index 47e408f3f..18f01b69a 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx @@ -90,10 +90,11 @@ export function Options({ thicknessRange, canvas, skeleton }: OptionsProps) { const mutateTankopediaPersistent = TankopediaPersistent.useMutation(); const mutateTankopediaEphemeral = TankopediaEphemeral.useMutation(); const { strings, unwrap } = useLocale(); + const disturbed = TankopediaEphemeral.use((state) => state.disturbed); return ( <> - + {disturbed && } {display === TankopediaDisplay.ShootingRange && ( state.protagonist.tank); + const disturbed = TankopediaEphemeral.use((state) => state.disturbed); + const revealed = TankopediaEphemeral.use((state) => state.revealed); + const treeColor = + protagonist.type === TankType.COLLECTOR + ? 'blue' + : protagonist.type === TankType.PREMIUM + ? 'amber' + : undefined; + const name = unwrap(protagonist.name); + + return ( + + {name} + + ); +} diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx index 93ac896c6..a0400ac9b 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx @@ -128,8 +128,8 @@ export function Controls({ camera.position .copy(inspectModeInitialPosition) - .applyAxisAngle(I_HAT, (Math.PI / 16) * Math.sin(t / 9)) - .applyAxisAngle(J_HAT, (-Math.PI / 4) * Math.sin(t / 7)); + .applyAxisAngle(I_HAT, (Math.PI / 32) * Math.sin(t / 9)) + .applyAxisAngle(J_HAT, (-Math.PI / 16) * Math.sin(t / 7)); invalidate(); } diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx index 7133ca8a0..b6fa880d8 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx @@ -30,7 +30,6 @@ import { AutoClear } from './components/AutoClear'; import { Controls } from './components/Control'; import { InitialFogReveal } from './components/InitialFogReveal'; import { Lighting } from './components/Lighting'; -import { SceneProps } from './components/SceneProps'; import { TankModel } from './components/TankModel'; import { TransitionSkeleton } from './components/TransitionSkeleton'; @@ -234,7 +233,7 @@ export const TankSandbox = forwardRef( outline: naked ? '1rem red solid' : undefined, }} > - {!naked && } + {/* {!naked && } */} {(display === TankopediaDisplay.Model || (display === TankopediaDisplay.DynamicArmor && !hideTankModelUnderArmor)) && } diff --git a/packages/website/src/components/Tankopedia/HeroSection/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/index.tsx index e387a04ca..075e5fa14 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/index.tsx @@ -1,14 +1,11 @@ -import { assertSecret, TankType } from '@blitzkit/core'; -import { CaretLeftIcon, MixIcon, UpdateIcon } from '@radix-ui/react-icons'; -import { Box, Dialog, Flex, Heading, Link, Spinner } from '@radix-ui/themes'; +import { TankType } from '@blitzkit/core'; +import { Box, Flex } from '@radix-ui/themes'; import { times } from 'lodash-es'; import { Suspense, useEffect, useMemo, useRef, useState } from 'react'; import { NAVBAR_HEIGHT } from '../../../constants/navbar'; import { awaitableModelDefinitions } from '../../../core/awaitables/modelDefinitions'; import { awaitableProvisionDefinitions } from '../../../core/awaitables/provisionDefinitions'; import { awaitableTankDefinitions } from '../../../core/awaitables/tankDefinitions'; -import { tankToDuelMember } from '../../../core/blitzkit/tankToDuelMember'; -import { Var } from '../../../core/radix/var'; import { useFullScreen } from '../../../hooks/useFullScreen'; import { useLocale } from '../../../hooks/useLocale'; import { Duel } from '../../../stores/duel'; @@ -16,10 +13,9 @@ import { TankopediaEphemeral } from '../../../stores/tankopediaEphemeral'; import type { MaybeSkeletonComponentProps } from '../../../types/maybeSkeletonComponentProps'; import type { ThicknessRange } from '../../Armor/components/StaticArmor'; import { classIcons } from '../../ClassIcon'; -import { ScienceIcon } from '../../ScienceIcon'; -import { TankSearch } from '../../TankSearch'; import { Options } from './components/Options'; import { TankSandbox } from './components/TankSandbox'; +import { Title } from './components/TankSandbox/Title'; const [provisionDefinitions, modelDefinitions, tankDefinitions] = await Promise.all([ @@ -110,6 +106,8 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { top={isFullScreen ? '0' : undefined} left={isFullScreen ? '0' : undefined} > + + <Box className="tank-sandbox-container" flexGrow="1" @@ -122,10 +120,11 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { width="100%" height="100%" position="relative" - left={disturbed ? '0' : { initial: '0', md: '12.5%' }} - style={{ transitionDuration: '200ms' }} + style={{ + transitionDuration: '1s', + }} > - {!revealed && ( + {/* {!revealed && ( <Spinner style={{ position: 'absolute', @@ -136,13 +135,22 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { height: Var('space-6'), }} /> - )} + )} */} {/* {skeleton && <TankSandboxLoader id={protagonist.id} />} */} - <Suspense> - <TankSandbox ref={canvas} thicknessRange={thicknessRange} /> - </Suspense> + <Box + style={{ + width: '100%', + height: '100%', + transitionDuration: '2s', + opacity: revealed ? 1 : 0, + }} + > + <Suspense> + <TankSandbox ref={canvas} thicknessRange={thicknessRange} /> + </Suspense> + </Box> </Box> <Options @@ -153,157 +161,7 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { </Box> </Box> - <Flex - className="tankopedia-title-bar" - justify="center" - position={{ initial: 'static', md: 'absolute' }} - left={{ - initial: '0', - md: disturbed ? '3' : '5', - lg: disturbed ? '7' : '9', - }} - pt="7" - pb="4" - top={{ initial: '8', md: '50%' }} - mt={{ initial: '0', md: '-9' }} - style={{ - transitionDuration: '200ms', - userSelect: 'none', - // background: 'red', - }} - direction="column" - align="center" - gap="2" - > - <Flex - align="center" - gap="3" - width="100%" - justify={{ initial: 'center', md: 'start' }} - > - <Heading - color={treeColor} - trim="end" - size={ - disturbed - ? { initial: '6', lg: '7' } - : { initial: '7', lg: '8' } - } - style={{ transitionDuration: '200ms', position: 'relative' }} - > - <Icon width="1em" height="1em" /> - </Heading> - - <Heading - weight="medium" - size={ - disturbed - ? { initial: '7', lg: '8' } - : { initial: '8', lg: '9' } - } - style={{ transitionDuration: '200ms' }} - wrap="nowrap" - color={treeColor} - > - {unwrap(protagonist.name)} - </Heading> - </Flex> - - <Flex - gap="4" - ml={disturbed ? '0' : '-2'} - style={{ transitionDuration: '200ms' }} - > - <Link color="gray" underline="always" href="/tools/tankopedia"> - <Flex align="center" gap="1"> - <CaretLeftIcon /> - {strings.website.tools.tankopedia.meta.back} - </Flex> - </Link> - - <Link - color="gray" - underline="always" - href={`/tools/compare?tanks=${compareTanks.join('%2C')}`} - > - <Flex align="center" gap="1"> - <MixIcon /> - {strings.website.tools.tankopedia.meta.compare} - </Flex> - </Link> - - <Dialog.Root open={showSwapDialog} onOpenChange={setShowSwapDialog}> - <Dialog.Trigger> - <Link - color="gray" - underline="always" - href="#" - onClick={(event) => { - event.preventDefault(); - setShowSwapDialog(true); - }} - > - <Flex align="center" gap="1"> - <UpdateIcon /> - {strings.website.tools.tankopedia.meta.swap.button} - </Flex> - </Link> - </Dialog.Trigger> - - <Dialog.Content> - <Dialog.Title> - {strings.website.tools.tankopedia.meta.swap.title} - </Dialog.Title> - - <TankSearch - compact - onSelect={(tank) => { - const model = modelDefinitions.models[tank.id]; - - setShowSwapDialog(false); - mutateTankopediaEphemeral((draft) => { - draft.model = modelDefinitions.models[tank.id]; - }); - mutateDuel((draft) => { - draft.protagonist = tankToDuelMember( - tank, - model, - provisionDefinitions, - ); - }); - - window.history.replaceState( - null, - '', - `/tools/tankopedia/${tank.id}`, - ); - }} - /> - </Dialog.Content> - </Dialog.Root> - - {assertSecret(import.meta.env.PUBLIC_PROMOTE_OPENTEST) === - 'true' && ( - <Link - color="jade" - href={`https://${ - assertSecret(import.meta.env.PUBLIC_ASSET_BRANCH) === - 'opentest' - ? '' - : 'opentest.' - }blitzkit.app/tools/tankopedia/${protagonist.id}`} - > - <Flex align="center" gap="1"> - <ScienceIcon width="1.25em" height="1.25em" /> - {assertSecret(import.meta.env.PUBLIC_ASSET_BRANCH) === - 'opentest' - ? strings.website.tools.tankopedia.meta.vanilla - : strings.website.tools.tankopedia.meta.opentest} - </Flex> - </Link> - )} - </Flex> - </Flex> + <Title outline /> </Flex> </Flex> ); From c764564a967cff40ba46d3cae3ea55a0d2213dea Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Tue, 6 May 2025 13:29:40 -0500 Subject: [PATCH 10/21] feat: outline title --- packages/website/src/components/Navbar.astro | 15 ++- .../Options/components/QuickInputs/index.css | 4 +- .../Options/components/QuickInputs/index.tsx | 7 +- .../components/ScrollHint/index.css | 27 ++++++ .../components/ScrollHint/index.tsx | 37 ++++++++ .../components/TankSandbox/Title.tsx | 95 ++++++++++++------- .../TankSandbox/components/Control.tsx | 1 + .../components/SceneProps/index.tsx | 3 + .../components/TankSandbox/index.tsx | 3 +- .../Tankopedia/HeroSection/index.tsx | 52 ++++++++-- .../Tankopedia/MetaSection/index.tsx | 4 +- packages/website/src/core/radix/var.ts | 2 +- packages/website/src/layouts/BaseLayout.astro | 5 +- .../tools/tankopedia/[id]/_index.tsx | 2 +- 14 files changed, 205 insertions(+), 52 deletions(-) create mode 100644 packages/website/src/components/Tankopedia/HeroSection/components/ScrollHint/index.css create mode 100644 packages/website/src/components/Tankopedia/HeroSection/components/ScrollHint/index.tsx diff --git a/packages/website/src/components/Navbar.astro b/packages/website/src/components/Navbar.astro index 5eb5cf180..49a510cb1 100644 --- a/packages/website/src/components/Navbar.astro +++ b/packages/website/src/components/Navbar.astro @@ -21,6 +21,19 @@ const strings = getStrings(locale); --- <style> + .navbar, + .padder { + transition-duration: 1s; + } + + body.no-navbar .navbar { + transform: translateY(-100%); + } + + body.no-navbar .padder { + height: 0; + } + .navbar[data-expanded='false'] *[data-expanded] { display: none; } @@ -49,7 +62,7 @@ const strings = getStrings(locale); }); </script> -<Box height={{ initial: '3.5rem', sm: '3rem' }} /> +<Box className="padder" height={{ initial: '3.5rem', sm: '3rem' }} /> <Flex direction="column" diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.css b/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.css index 7ea935b3e..81a69216d 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.css +++ b/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.css @@ -1,8 +1,8 @@ .quick-inputs { - top: -2rem; + left: -5rem; } .quick-inputs:focus-within, .tank-sandbox-container:hover .quick-inputs { - top: 1rem; + left: 1rem; } diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.tsx index 1aac73d42..e5975e638 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.tsx @@ -66,12 +66,13 @@ export function QuickInputs() { <Flex align="center" gap="2" - width="10rem" + width="5rem" + direction="column" style={{ pointerEvents: 'auto', position: 'absolute', - left: '50%', - transform: 'translateX(-50%)', + top: '50%', + transform: 'translateY(-50%)', transitionDuration: '0.2s', }} className="quick-inputs" diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/ScrollHint/index.css b/packages/website/src/components/Tankopedia/HeroSection/components/ScrollHint/index.css new file mode 100644 index 000000000..cca875423 --- /dev/null +++ b/packages/website/src/components/Tankopedia/HeroSection/components/ScrollHint/index.css @@ -0,0 +1,27 @@ +.scroll-hint { + position: absolute; + animation: dropFade 1s ease-in-out infinite; +} + +@keyframes dropFade { + 0% { + top: 0; + opacity: 1; + } + 20% { + top: 0; + opacity: 1; + } + 80% { + top: 50%; + opacity: 1; + } + 99% { + top: 50%; + opacity: 0; + } + 100% { + top: 0; + opacity: 1; + } +} diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/ScrollHint/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/ScrollHint/index.tsx new file mode 100644 index 000000000..a3bc49eda --- /dev/null +++ b/packages/website/src/components/Tankopedia/HeroSection/components/ScrollHint/index.tsx @@ -0,0 +1,37 @@ +import { Box } from '@radix-ui/themes'; +import { Var } from '../../../../../core/radix/var'; +import { TankopediaEphemeral } from '../../../../../stores/tankopediaEphemeral'; +import './index.css'; + +export function ScrollHint() { + const disturbed = TankopediaEphemeral.use((state) => state.disturbed); + + if (disturbed) return null; + + return ( + <Box + position="absolute" + bottom="0" + mb="5" + right="50%" + height="2rem" + width="1rem" + style={{ + borderRadius: '0.5rem', + outline: `2px solid ${Var('gray-11')}`, + transform: 'translateX(-50%)', + }} + > + <Box + className="scroll-hint" + width="0.75rem" + height="0.75rem" + m="0.125rem" + style={{ + borderRadius: '50%', + backgroundColor: Var('gray-12'), + }} + /> + </Box> + ); +} diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx index d31a10ff7..37517e404 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx @@ -1,55 +1,86 @@ import { TankType } from '@blitzkit/core'; -import { Heading } from '@radix-ui/themes'; -import { clamp } from 'three/src/math/MathUtils.js'; -import { Var, type VarName } from '../../../../../core/radix/var'; +import { Box, Heading } from '@radix-ui/themes'; +import { Var } from '../../../../../core/radix/var'; import { useLocale } from '../../../../../hooks/useLocale'; import { Duel } from '../../../../../stores/duel'; +import type { RadixColor } from '../../../../../stores/embedState'; import { TankopediaEphemeral } from '../../../../../stores/tankopediaEphemeral'; interface TitleProps { outline?: boolean; } +export const NATION_COLORS: Record< + string, + { + text: RadixColor; + background: RadixColor[]; + } +> = { + france: { text: 'mint', background: ['mint', 'cyan', 'jade'] }, + germany: { text: 'sage', background: ['slate', 'sage', 'mauve'] }, + usa: { text: 'gold', background: ['brown', 'gold', 'gray'] }, + european: { text: 'gold', background: ['bronze', 'gold', 'brown'] }, + ussr: { text: 'bronze', background: ['bronze', 'tomato', 'bronze'] }, + uk: { text: 'gold', background: ['bronze', 'gold', 'brown'] }, + japan: { text: 'jade', background: ['green', 'teal', 'jade'] }, + china: { text: 'teal', background: ['green', 'teal', 'jade'] }, + other: { text: 'amber', background: ['amber', 'yellow', 'gray'] }, +}; + export function Title({ outline }: TitleProps) { const { unwrap } = useLocale(); const protagonist = Duel.use((state) => state.protagonist.tank); const disturbed = TankopediaEphemeral.use((state) => state.disturbed); const revealed = TankopediaEphemeral.use((state) => state.revealed); - const treeColor = - protagonist.type === TankType.COLLECTOR - ? 'blue' - : protagonist.type === TankType.PREMIUM - ? 'amber' - : undefined; + const nationColors = NATION_COLORS[protagonist.nation]; + const color = Var( + disturbed + ? protagonist.type === TankType.COLLECTOR + ? 'blue-11' + : protagonist.type === TankType.PREMIUM + ? 'amber-11' + : 'gray-12' + : `${nationColors.text}-12`, + ); const name = unwrap(protagonist.name); return ( - <Heading - weight="bold" + <Box + position="absolute" + top={disturbed ? '8' : '50%'} + left="50%" style={{ - position: 'absolute', - top: '50%', - marginLeft: disturbed ? '2rem' : 0, - left: disturbed ? 0 : '50%', - transform: disturbed ? 'translate(0, -50%)' : 'translate(-50%, -50%)', - userSelect: 'none', - pointerEvents: 'none', transitionDuration: '1s', - fontSize: disturbed - ? '3rem' - : `${16 * clamp(12 / name.length, 0, 1)}rem`, - color: outline ? Var('gray-a7') : undefined, - WebkitTextStroke: outline - ? `${disturbed ? '1px' : '2px'} ${Var( - `${treeColor ? (`${treeColor}-11` satisfies VarName) : 'gray-12'}`, - )}` - : undefined, - letterSpacing: disturbed ? 0 : '-0.06em', + transform: 'translate(-50%, -50%)', }} - color={treeColor} - wrap="nowrap" > - {name} - </Heading> + <Heading + weight="bold" + style={{ + userSelect: 'none', + pointerEvents: 'none', + fontSize: revealed + ? disturbed + ? '2rem' + : `${125 / name.length}vw` + : `${75 / name.length}vw`, + whiteSpace: 'nowrap', + color: outline ? 'transparent' : color, + WebkitTextStroke: outline + ? `${revealed ? (disturbed ? '1px' : 'min(2px, 0.2vw)') : 0} ${color}` + : undefined, + letterSpacing: disturbed || !revealed ? 0 : '-0.03em', + transition: ` + letter-spacing 1s ease ${disturbed ? '0s' : '1s'}, + font-size 1s, + -webkit-text-stroke 1.5s + `, + }} + wrap="nowrap" + > + {name} + </Heading> + </Box> ); } diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx index a0400ac9b..4df0a0426 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx @@ -385,6 +385,7 @@ export function Controls({ enableRotate={enableRotate} maxDistance={20} minDistance={5} + enableZoom={zoomable} zoomSpeed={zoomable ? undefined : 0} ref={orbitControls} enabled={tankopediaEphemeralStore.getState().controlsEnabled} diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/SceneProps/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/SceneProps/index.tsx index 18a06121a..15b6a60de 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/SceneProps/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/SceneProps/index.tsx @@ -35,6 +35,7 @@ const [modelDefinitions, equipmentDefinitions, provisionDefinitions] = const emptyVector = new Vector2(); export function SceneProps() { + const disturbed = TankopediaEphemeral.use((state) => state.disturbed); const targetCircleWrapper = useRef<Group>(null); const clientTargetCircle = useRef<HTMLDivElement>(null); const serverTargetCircle = useRef<HTMLDivElement>(null); @@ -233,6 +234,8 @@ export function SceneProps() { serverTargetCircle.current.style.height = targetCircleDotsSize; }); + if (!disturbed) return null; + return ( <> {display !== TankopediaDisplay.ShootingRange && ( diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx index b6fa880d8..7133ca8a0 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx @@ -30,6 +30,7 @@ import { AutoClear } from './components/AutoClear'; import { Controls } from './components/Control'; import { InitialFogReveal } from './components/InitialFogReveal'; import { Lighting } from './components/Lighting'; +import { SceneProps } from './components/SceneProps'; import { TankModel } from './components/TankModel'; import { TransitionSkeleton } from './components/TransitionSkeleton'; @@ -233,7 +234,7 @@ export const TankSandbox = forwardRef<HTMLCanvasElement, TankSandboxProps>( outline: naked ? '1rem red solid' : undefined, }} > - {/* {!naked && <SceneProps />} */} + {!naked && <SceneProps />} {(display === TankopediaDisplay.Model || (display === TankopediaDisplay.DynamicArmor && !hideTankModelUnderArmor)) && <TankModel />} diff --git a/packages/website/src/components/Tankopedia/HeroSection/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/index.tsx index 075e5fa14..616398f4f 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/index.tsx @@ -2,10 +2,10 @@ import { TankType } from '@blitzkit/core'; import { Box, Flex } from '@radix-ui/themes'; import { times } from 'lodash-es'; import { Suspense, useEffect, useMemo, useRef, useState } from 'react'; -import { NAVBAR_HEIGHT } from '../../../constants/navbar'; import { awaitableModelDefinitions } from '../../../core/awaitables/modelDefinitions'; import { awaitableProvisionDefinitions } from '../../../core/awaitables/provisionDefinitions'; import { awaitableTankDefinitions } from '../../../core/awaitables/tankDefinitions'; +import { Var, type VarName } from '../../../core/radix/var'; import { useFullScreen } from '../../../hooks/useFullScreen'; import { useLocale } from '../../../hooks/useLocale'; import { Duel } from '../../../stores/duel'; @@ -14,8 +14,9 @@ import type { MaybeSkeletonComponentProps } from '../../../types/maybeSkeletonCo import type { ThicknessRange } from '../../Armor/components/StaticArmor'; import { classIcons } from '../../ClassIcon'; import { Options } from './components/Options'; +import { ScrollHint } from './components/ScrollHint'; import { TankSandbox } from './components/TankSandbox'; -import { Title } from './components/TankSandbox/Title'; +import { NATION_COLORS, Title } from './components/TankSandbox/Title'; const [provisionDefinitions, modelDefinitions, tankDefinitions] = await Promise.all([ @@ -65,6 +66,13 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { const duelStore = Duel.useStore(); const mutateDuel = Duel.useMutation(); const mutateTankopediaEphemeral = TankopediaEphemeral.useMutation(); + const nationColors = NATION_COLORS[protagonist.nation]; + + useEffect(() => { + if (disturbed) { + document.body.classList.remove('no-navbar'); + } + }, [disturbed]); useEffect(() => { function handleKeyDown(event: KeyboardEvent) { @@ -88,16 +96,46 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { }, []); return ( - <Flex justify="center"> + <Flex + justify="center" + style={{ + backgroundColor: 'black', + }} + position="relative" + onWheel={() => { + mutateTankopediaEphemeral((draft) => { + draft.disturbed = true; + }); + }} + > + <Box + position="absolute" + width="100%" + height="100%" + top="0" + left="0" + style={{ + opacity: disturbed ? 0 : 1, + background: `linear-gradient(${nationColors.background + .map((color, index) => + Var( + `${color}-${Math.round(3 * (1 - index / nationColors.background.length))}` as VarName, + ), + ) + .join(',')})`, + transitionDuration: '1s', + }} + /> + + <ScrollHint /> + <Flex direction={{ initial: 'column-reverse', md: 'row' }} style={{ zIndex: isFullScreen ? 2 : undefined, - backgroundColor: 'black', + transitionDuration: '1s', }} - height={ - isFullScreen ? '100vh' : `calc(100vh - ${NAVBAR_HEIGHT}px - 8rem)` - } + height="calc(100vh - 6rem)" maxHeight={isFullScreen ? undefined : '60rem'} maxWidth={isFullScreen ? undefined : '120rem'} flexGrow="1" diff --git a/packages/website/src/components/Tankopedia/MetaSection/index.tsx b/packages/website/src/components/Tankopedia/MetaSection/index.tsx index 56b53b7c6..76b35a3b9 100644 --- a/packages/website/src/components/Tankopedia/MetaSection/index.tsx +++ b/packages/website/src/components/Tankopedia/MetaSection/index.tsx @@ -25,7 +25,7 @@ export function MetaSection() { const { locale, strings } = useLocale(); return ( - <Flex justify="center"> + <Flex justify="center" mt="-9"> <Box style={{ background: `url(/assets/images/national-wallpapers/${protagonist.nation}.jpg)`, @@ -50,7 +50,7 @@ export function MetaSection() { align="center" py="6rem" style={{ - background: `linear-gradient(${Var('gray-1')}, ${Var('black-a8')}, ${Var('black-a8')}, ${Var('gray-1')})`, + background: `linear-gradient(${Var('black-a8')}, ${Var('black-a8')}, ${Var('gray-1')})`, }} > <Flex direction="column" align="center" gap="6"> diff --git a/packages/website/src/core/radix/var.ts b/packages/website/src/core/radix/var.ts index 903c6177e..29b986ba8 100644 --- a/packages/website/src/core/radix/var.ts +++ b/packages/website/src/core/radix/var.ts @@ -2,7 +2,7 @@ import * as ColorsRaw from '@radix-ui/colors'; type ExcludeSuffix<T> = T extends `${string}${'A' | `${'P3' | 'Dark'}${'' | 'A'}`}` ? never : T; -type RadixColor = ExcludeSuffix<keyof typeof ColorsRaw>; +export type RadixColor = ExcludeSuffix<keyof typeof ColorsRaw>; export type VarName = | `color-${'background' | `panel-${'solid' | 'translucent'}` | 'surface' | 'overlay'}` diff --git a/packages/website/src/layouts/BaseLayout.astro b/packages/website/src/layouts/BaseLayout.astro index 31ab8bcd3..900c8a9e0 100644 --- a/packages/website/src/layouts/BaseLayout.astro +++ b/packages/website/src/layouts/BaseLayout.astro @@ -10,9 +10,10 @@ import { DEFAULT_LOCALE } from '@blitzkit/i18n'; export interface Props { noFooter?: boolean; + noNavbar?: boolean; } -const { noFooter } = Astro.props; +const { noFooter, noNavbar } = Astro.props; const locale = Astro.params.locale ?? DEFAULT_LOCALE; --- @@ -53,7 +54,7 @@ const locale = Astro.params.locale ?? DEFAULT_LOCALE; </script> </head> - <body> + <body class={noNavbar ? 'no-navbar' : ''}> <BlitzKitTheme> <Flex direction="column" minHeight="100vh"> <Navbar /> diff --git a/packages/website/src/pages/[...locale]/tools/tankopedia/[id]/_index.tsx b/packages/website/src/pages/[...locale]/tools/tankopedia/[id]/_index.tsx index b7c1441d4..660b97de4 100644 --- a/packages/website/src/pages/[...locale]/tools/tankopedia/[id]/_index.tsx +++ b/packages/website/src/pages/[...locale]/tools/tankopedia/[id]/_index.tsx @@ -46,8 +46,8 @@ export function Page({ id, skeleton, locale }: PageProps) { > <PageWrapper p="0" maxWidth="unset" color="purple" gap="9" pb="9"> <HeroSection skeleton={skeleton} /> - <CalloutsSection /> <MetaSection /> + <CalloutsSection /> {tank.type === TankType.RESEARCHABLE && !tank.deprecated && ( <TechTreeSection skeleton={skeleton} /> )} From 8649d09a948be6cb44b64f7c1d4d5995dad9370f Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Tue, 6 May 2025 13:39:07 -0500 Subject: [PATCH 11/21] feat: shadow --- .../Tankopedia/HeroSection/index.tsx | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/packages/website/src/components/Tankopedia/HeroSection/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/index.tsx index 616398f4f..97e8dc089 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/index.tsx @@ -5,7 +5,7 @@ import { Suspense, useEffect, useMemo, useRef, useState } from 'react'; import { awaitableModelDefinitions } from '../../../core/awaitables/modelDefinitions'; import { awaitableProvisionDefinitions } from '../../../core/awaitables/provisionDefinitions'; import { awaitableTankDefinitions } from '../../../core/awaitables/tankDefinitions'; -import { Var, type VarName } from '../../../core/radix/var'; +import { Var } from '../../../core/radix/var'; import { useFullScreen } from '../../../hooks/useFullScreen'; import { useLocale } from '../../../hooks/useLocale'; import { Duel } from '../../../stores/duel'; @@ -97,6 +97,7 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { return ( <Flex + overflow="hidden" justify="center" style={{ backgroundColor: 'black', @@ -117,11 +118,7 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { style={{ opacity: disturbed ? 0 : 1, background: `linear-gradient(${nationColors.background - .map((color, index) => - Var( - `${color}-${Math.round(3 * (1 - index / nationColors.background.length))}` as VarName, - ), - ) + .map((color) => Var(`${color}-2`)) .join(',')})`, transitionDuration: '1s', }} @@ -162,27 +159,13 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { transitionDuration: '1s', }} > - {/* {!revealed && ( - <Spinner - style={{ - position: 'absolute', - top: '50%', - left: '50%', - transform: 'translate(-50%, -50%)', - width: Var('space-6'), - height: Var('space-6'), - }} - /> - )} */} - - {/* {skeleton && <TankSandboxLoader id={protagonist.id} />} */} - <Box style={{ width: '100%', height: '100%', transitionDuration: '2s', opacity: revealed ? 1 : 0, + filter: disturbed ? undefined : `drop-shadow(0 0 1rem black)`, }} > <Suspense> From c840086c116350f9b658bc7ecb74cbb404dc23a6 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Tue, 6 May 2025 13:56:56 -0500 Subject: [PATCH 12/21] feat: tints --- .../components/TankSandbox/Title.tsx | 57 +++++++++++++++---- .../Tankopedia/HeroSection/index.tsx | 2 +- 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx index 37517e404..5ee030142 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx @@ -15,17 +15,54 @@ export const NATION_COLORS: Record< { text: RadixColor; background: RadixColor[]; + tint: RadixColor; } > = { - france: { text: 'mint', background: ['mint', 'cyan', 'jade'] }, - germany: { text: 'sage', background: ['slate', 'sage', 'mauve'] }, - usa: { text: 'gold', background: ['brown', 'gold', 'gray'] }, - european: { text: 'gold', background: ['bronze', 'gold', 'brown'] }, - ussr: { text: 'bronze', background: ['bronze', 'tomato', 'bronze'] }, - uk: { text: 'gold', background: ['bronze', 'gold', 'brown'] }, - japan: { text: 'jade', background: ['green', 'teal', 'jade'] }, - china: { text: 'teal', background: ['green', 'teal', 'jade'] }, - other: { text: 'amber', background: ['amber', 'yellow', 'gray'] }, + france: { + text: 'mint', + tint: 'purple', + background: ['mint', 'cyan', 'jade'], + }, + germany: { + text: 'sage', + tint: 'blue', + background: ['slate', 'sage', 'mauve'], + }, + usa: { + text: 'gold', + tint: 'red', + background: ['brown', 'gold', 'gray'], + }, + european: { + text: 'cyan', + tint: 'mint', + background: ['cyan', 'blue', 'indigo'], + }, + ussr: { + text: 'bronze', + tint: 'red', + background: ['bronze', 'tomato', 'bronze'], + }, + uk: { + text: 'gold', + tint: 'red', + background: ['bronze', 'gold', 'brown'], + }, + japan: { + text: 'jade', + tint: 'violet', + background: ['green', 'teal', 'jade'], + }, + china: { + text: 'teal', + tint: 'pink', + background: ['green', 'teal', 'jade'], + }, + other: { + text: 'amber', + tint: 'sky', + background: ['amber', 'yellow', 'gray'], + }, }; export function Title({ outline }: TitleProps) { @@ -66,7 +103,7 @@ export function Title({ outline }: TitleProps) { : `${125 / name.length}vw` : `${75 / name.length}vw`, whiteSpace: 'nowrap', - color: outline ? 'transparent' : color, + color: outline ? Var(`${nationColors.tint}-a2`) : color, WebkitTextStroke: outline ? `${revealed ? (disturbed ? '1px' : 'min(2px, 0.2vw)') : 0} ${color}` : undefined, diff --git a/packages/website/src/components/Tankopedia/HeroSection/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/index.tsx index 97e8dc089..c5c040b74 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/index.tsx @@ -165,7 +165,7 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { height: '100%', transitionDuration: '2s', opacity: revealed ? 1 : 0, - filter: disturbed ? undefined : `drop-shadow(0 0 1rem black)`, + filter: disturbed ? undefined : `drop-shadow(0 0 2rem black)`, }} > <Suspense> From 7c497ab681753846de993a870586acb6a72c0239 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Tue, 6 May 2025 13:59:41 -0500 Subject: [PATCH 13/21] feat: more tintgs --- .../components/Options/components/QuickInputs/index.tsx | 2 +- .../HeroSection/components/TankSandbox/Title.tsx | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.tsx index e5975e638..6db7e7edd 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/Options/components/QuickInputs/index.tsx @@ -66,7 +66,7 @@ export function QuickInputs() { <Flex align="center" gap="2" - width="5rem" + width="4rem" direction="column" style={{ pointerEvents: 'auto', diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx index 5ee030142..dbea4720d 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx @@ -34,8 +34,8 @@ export const NATION_COLORS: Record< background: ['brown', 'gold', 'gray'], }, european: { - text: 'cyan', - tint: 'mint', + text: 'sky', + tint: 'violet', background: ['cyan', 'blue', 'indigo'], }, ussr: { @@ -49,12 +49,12 @@ export const NATION_COLORS: Record< background: ['bronze', 'gold', 'brown'], }, japan: { - text: 'jade', + text: 'mint', tint: 'violet', background: ['green', 'teal', 'jade'], }, china: { - text: 'teal', + text: 'mint', tint: 'pink', background: ['green', 'teal', 'jade'], }, From f9c182e68c576343fcd56994c6576a548565f876 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Tue, 6 May 2025 21:30:35 -0500 Subject: [PATCH 14/21] feat: hide guess --- packages/website/src/components/Navbar.astro | 14 +++++++-- .../components/TankSandbox/Title.tsx | 10 +++---- .../Tankopedia/HeroSection/index.tsx | 29 +++++++++++++++---- packages/website/src/constants/tools.ts | 2 +- packages/website/src/layouts/BaseLayout.astro | 5 ++-- .../website/src/pages/[...locale]/index.astro | 17 +++++------ .../tools/tankopedia/[id]/index.astro | 2 +- 7 files changed, 53 insertions(+), 26 deletions(-) diff --git a/packages/website/src/components/Navbar.astro b/packages/website/src/components/Navbar.astro index 49a510cb1..43de65183 100644 --- a/packages/website/src/components/Navbar.astro +++ b/packages/website/src/components/Navbar.astro @@ -13,6 +13,11 @@ import { getStrings } from '../core/i18n/getStrings'; import { Var } from '../core/radix/var'; import { LinkI18n } from './LinkI18n'; +export interface Props { + integrated?: boolean; +} + +const { integrated } = Astro.props; const toolsFiltered = TOOLS.filter((tool) => !('href' in tool)); const { locale } = Astro.params; const branchName = resolveBranchName(locale); @@ -62,7 +67,11 @@ const strings = getStrings(locale); }); </script> -<Box className="padder" height={{ initial: '3.5rem', sm: '3rem' }} /> +{ + !integrated && ( + <Box className="padder" height={{ initial: '3.5rem', sm: '3rem' }} /> + ) +} <Flex direction="column" @@ -74,6 +83,7 @@ const strings = getStrings(locale); position="fixed" style={{ zIndex: 1, + backdropFilter: 'blur(4rem)', }} > <Flex @@ -81,7 +91,7 @@ const strings = getStrings(locale); p={{ initial: '4', sm: '3' }} direction="column" align="center" - style={{ backgroundColor: Var('gray-1') }} + style={{ backgroundColor: integrated ? undefined : Var('gray-1') }} > <Flex gap="4" direction="column" maxWidth="80rem" width="100%"> <Flex align="center"> diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx index dbea4720d..50881c446 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx @@ -85,7 +85,7 @@ export function Title({ outline }: TitleProps) { return ( <Box position="absolute" - top={disturbed ? '8' : '50%'} + top={disturbed ? '6rem' : '50%'} left="50%" style={{ transitionDuration: '1s', @@ -109,10 +109,10 @@ export function Title({ outline }: TitleProps) { : undefined, letterSpacing: disturbed || !revealed ? 0 : '-0.03em', transition: ` - letter-spacing 1s ease ${disturbed ? '0s' : '1s'}, - font-size 1s, - -webkit-text-stroke 1.5s - `, + letter-spacing 1s ${disturbed ? '0s' : '1s'}, + font-size 1s, + -webkit-text-stroke 1.5s + `, }} wrap="nowrap" > diff --git a/packages/website/src/components/Tankopedia/HeroSection/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/index.tsx index c5c040b74..925272606 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/index.tsx @@ -103,11 +103,6 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { backgroundColor: 'black', }} position="relative" - onWheel={() => { - mutateTankopediaEphemeral((draft) => { - draft.disturbed = true; - }); - }} > <Box position="absolute" @@ -132,7 +127,7 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { zIndex: isFullScreen ? 2 : undefined, transitionDuration: '1s', }} - height="calc(100vh - 6rem)" + height={disturbed && !isFullScreen ? 'calc(100vh - 6rem)' : '100vh'} maxHeight={isFullScreen ? undefined : '60rem'} maxWidth={isFullScreen ? undefined : '120rem'} flexGrow="1" @@ -184,6 +179,28 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { <Title outline /> </Flex> + + {!disturbed && ( + <Box + onPointerDown={(event) => { + event.stopPropagation(); + mutateTankopediaEphemeral((draft) => { + draft.disturbed = true; + }); + }} + onWheel={(event) => { + event.stopPropagation(); + mutateTankopediaEphemeral((draft) => { + draft.disturbed = true; + }); + }} + position="absolute" + width="100%" + height="100%" + top="0" + left="0" + /> + )} </Flex> ); } diff --git a/packages/website/src/constants/tools.ts b/packages/website/src/constants/tools.ts index b51aeff4c..395fe9604 100644 --- a/packages/website/src/constants/tools.ts +++ b/packages/website/src/constants/tools.ts @@ -130,7 +130,7 @@ export const TOOLS: Tool[] = [ tankopediaTool, compareTool, performanceTool, - guessTool, + // guessTool, // chartsTool, galleryTool, sessionTool, diff --git a/packages/website/src/layouts/BaseLayout.astro b/packages/website/src/layouts/BaseLayout.astro index 900c8a9e0..340d5a80e 100644 --- a/packages/website/src/layouts/BaseLayout.astro +++ b/packages/website/src/layouts/BaseLayout.astro @@ -11,9 +11,10 @@ import { DEFAULT_LOCALE } from '@blitzkit/i18n'; export interface Props { noFooter?: boolean; noNavbar?: boolean; + integrated?: boolean; } -const { noFooter, noNavbar } = Astro.props; +const { noFooter, noNavbar, integrated } = Astro.props; const locale = Astro.params.locale ?? DEFAULT_LOCALE; --- @@ -57,7 +58,7 @@ const locale = Astro.params.locale ?? DEFAULT_LOCALE; <body class={noNavbar ? 'no-navbar' : ''}> <BlitzKitTheme> <Flex direction="column" minHeight="100vh"> - <Navbar /> + <Navbar {integrated} /> <Checks {locale} client:only="react" /> diff --git a/packages/website/src/pages/[...locale]/index.astro b/packages/website/src/pages/[...locale]/index.astro index 8473658aa..1fadf56f4 100644 --- a/packages/website/src/pages/[...locale]/index.astro +++ b/packages/website/src/pages/[...locale]/index.astro @@ -17,7 +17,6 @@ import { discordTool, embedTool, galleryTool, - guessTool, moreTool, performanceTool, sessionTool, @@ -119,22 +118,22 @@ export const getStaticPaths = (() => { <Flex gap="4" direction={{ initial: 'column', sm: 'row' }}> <!-- <ToolCard tool={chartsTool} /> --> - <ToolCard tool={guessTool} /> + <!-- <ToolCard tool={guessTool} /> --> <ToolCard tool={galleryTool} /> - </Flex> - - <Flex gap="4" direction={{ initial: 'column', sm: 'row' }}> <ToolCard tool={sessionTool} /> + </Flex> + + <Flex gap="4" direction={{ initial: 'column', sm: 'row' }}> <ToolCard tool={discordTool} /> - </Flex> - - <Flex gap="4" direction={{ initial: 'column', sm: 'row' }}> <ToolCard tool={tierListTool} /> - <ToolCard tool={embedTool} /> </Flex> <Flex gap="4" direction={{ initial: 'column', sm: 'row' }}> + <ToolCard tool={embedTool} /> <ToolCard tool={moreTool} /> + </Flex> + + <Flex gap="4" direction={{ initial: 'column', sm: 'row' }}> <Box flexGrow="1" /> </Flex> diff --git a/packages/website/src/pages/[...locale]/tools/tankopedia/[id]/index.astro b/packages/website/src/pages/[...locale]/tools/tankopedia/[id]/index.astro index 7fd1cd27d..5b17aaa8c 100644 --- a/packages/website/src/pages/[...locale]/tools/tankopedia/[id]/index.astro +++ b/packages/website/src/pages/[...locale]/tools/tankopedia/[id]/index.astro @@ -107,7 +107,7 @@ const description = literals( <meta name="twitter:card" content="summary" /> <meta name="twitter:image:src" content={icon} /> -<BaseLayout> +<BaseLayout integrated> <Page {locale} id={id} client:only="react"> <Page {locale} id={id} skeleton slot="fallback" /> </Page> From d2e7a477bb75984b679e632c21acf32dea7ab077 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 7 May 2025 19:16:10 -0500 Subject: [PATCH 15/21] feat: fullscreen --- .../HeroSection/components/Options/index.tsx | 346 ++++++++++-------- .../Tankopedia/HeroSection/index.tsx | 12 +- 2 files changed, 191 insertions(+), 167 deletions(-) diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx index 18f01b69a..db01ff3b4 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx @@ -90,6 +90,7 @@ export function Options({ thicknessRange, canvas, skeleton }: OptionsProps) { const mutateTankopediaPersistent = TankopediaPersistent.useMutation(); const mutateTankopediaEphemeral = TankopediaEphemeral.useMutation(); const { strings, unwrap } = useLocale(); + const revealed = TankopediaEphemeral.use((state) => state.revealed); const disturbed = TankopediaEphemeral.use((state) => state.disturbed); return ( @@ -324,7 +325,7 @@ export function Options({ thicknessRange, canvas, skeleton }: OptionsProps) { direction="column" align="center" position="absolute" - bottom={disturbed ? '4' : '-100%'} + bottom={revealed ? '4' : '-100%'} left="50%" style={{ transform: 'translateX(-50%)', transitionDuration: '200ms' }} > @@ -401,7 +402,7 @@ export function Options({ thicknessRange, canvas, skeleton }: OptionsProps) { <Flex gap="3" align="center" mt="2"> <SegmentedControl.Root - value={`${display}`} + value={`${disturbed ? display : -1}`} onValueChange={(value) => { mutateTankopediaEphemeral((draft) => { draft.disturbed = true; @@ -455,185 +456,214 @@ export function Options({ thicknessRange, canvas, skeleton }: OptionsProps) { </SegmentedControl.Item> */} </SegmentedControl.Root> - <DropdownMenu.Root> - <DropdownMenu.Trigger> - <IconButton variant="ghost" color="gray"> - <EyeOpenIcon /> - </IconButton> - </DropdownMenu.Trigger> + {disturbed && ( + <> + <DropdownMenu.Root> + <DropdownMenu.Trigger> + <IconButton variant="ghost" color="gray"> + <EyeOpenIcon /> + </IconButton> + </DropdownMenu.Trigger> - <DropdownMenu.Content> - <DropdownMenu.Item onClick={() => poseEvent.emit(Pose.HullDown)}> - {strings.website.tools.tankopedia.sandbox.poses.hull_down} - </DropdownMenu.Item> + <DropdownMenu.Content> + <DropdownMenu.Item + onClick={() => poseEvent.emit(Pose.HullDown)} + > + {strings.website.tools.tankopedia.sandbox.poses.hull_down} + </DropdownMenu.Item> - <DropdownMenu.Item onClick={() => poseEvent.emit(Pose.FaceHug)}> - {strings.website.tools.tankopedia.sandbox.poses.face_hug} - </DropdownMenu.Item> + <DropdownMenu.Item + onClick={() => poseEvent.emit(Pose.FaceHug)} + > + {strings.website.tools.tankopedia.sandbox.poses.face_hug} + </DropdownMenu.Item> - <DropdownMenu.Item onClick={() => poseEvent.emit(Pose.Default)}> - {strings.website.tools.tankopedia.sandbox.poses.default} - </DropdownMenu.Item> - </DropdownMenu.Content> - </DropdownMenu.Root> + <DropdownMenu.Item + onClick={() => poseEvent.emit(Pose.Default)} + > + {strings.website.tools.tankopedia.sandbox.poses.default} + </DropdownMenu.Item> + </DropdownMenu.Content> + </DropdownMenu.Root> - <DropdownMenu.Root> - <DropdownMenu.Trigger> - <IconButton variant="ghost" color="gray"> - <GearIcon /> - </IconButton> - </DropdownMenu.Trigger> + <DropdownMenu.Root> + <DropdownMenu.Trigger> + <IconButton variant="ghost" color="gray"> + <GearIcon /> + </IconButton> + </DropdownMenu.Trigger> + + <DropdownMenu.Content> + {display === TankopediaDisplay.DynamicArmor && ( + <> + <DropdownMenu.Label> + { + strings.website.tools.tankopedia.sandbox.settings + .armor + } + </DropdownMenu.Label> + + <DropdownMenu.CheckboxItem + checked={greenPenetration} + onCheckedChange={(checked) => { + mutateTankopediaPersistent((draft) => { + draft.greenPenetration = checked; + }); + }} + > + { + strings.website.tools.tankopedia.sandbox.settings + .green_penetration + } + </DropdownMenu.CheckboxItem> + + <DropdownMenu.CheckboxItem + checked={hideTankModelUnderArmor} + onCheckedChange={(checked) => { + mutateTankopediaPersistent((draft) => { + draft.hideTankModelUnderArmor = checked; + }); + }} + > + { + strings.website.tools.tankopedia.sandbox.settings + .hide_model_under_armor + } + </DropdownMenu.CheckboxItem> + + <DropdownMenu.CheckboxItem + checked={opaque} + onCheckedChange={(checked) => { + mutateTankopediaPersistent((draft) => { + draft.opaque = checked; + }); + }} + > + { + strings.website.tools.tankopedia.sandbox.settings + .opaque + } + </DropdownMenu.CheckboxItem> + + {developerMode && ( + <DropdownMenu.CheckboxItem + checked={wireframe} + onCheckedChange={(checked) => { + mutateTankopediaPersistent((draft) => { + draft.wireframe = checked; + }); + }} + > + { + strings.website.tools.tankopedia.sandbox.settings + .dev_wireframe + } + </DropdownMenu.CheckboxItem> + )} + </> + )} - <DropdownMenu.Content> - {display === TankopediaDisplay.DynamicArmor && ( - <> <DropdownMenu.Label> - {strings.website.tools.tankopedia.sandbox.settings.armor} + { + strings.website.tools.tankopedia.sandbox.settings + .environment + } </DropdownMenu.Label> <DropdownMenu.CheckboxItem - checked={greenPenetration} + checked={showGrid} onCheckedChange={(checked) => { mutateTankopediaPersistent((draft) => { - draft.greenPenetration = checked; + draft.showGrid = checked; }); }} > { strings.website.tools.tankopedia.sandbox.settings - .green_penetration + .show_grid } </DropdownMenu.CheckboxItem> + </DropdownMenu.Content> + </DropdownMenu.Root> - <DropdownMenu.CheckboxItem - checked={hideTankModelUnderArmor} - onCheckedChange={(checked) => { - mutateTankopediaPersistent((draft) => { - draft.hideTankModelUnderArmor = checked; - }); - }} - > - { - strings.website.tools.tankopedia.sandbox.settings - .hide_model_under_armor - } - </DropdownMenu.CheckboxItem> + <Popover.Root> + <Popover.Trigger> + <IconButton color="gray" variant="ghost"> + <CameraIcon /> + </IconButton> + </Popover.Trigger> - <DropdownMenu.CheckboxItem - checked={opaque} - onCheckedChange={(checked) => { - mutateTankopediaPersistent((draft) => { - draft.opaque = checked; - }); - }} - > - {strings.website.tools.tankopedia.sandbox.settings.opaque} - </DropdownMenu.CheckboxItem> + <Popover.Content> + <Flex direction="column" gap="2"> + <Popover.Close> + <Button + onClick={() => { + if (!canvas.current) return; - {developerMode && ( - <DropdownMenu.CheckboxItem - checked={wireframe} - onCheckedChange={(checked) => { - mutateTankopediaPersistent((draft) => { - draft.wireframe = checked; - }); - }} - > - { - strings.website.tools.tankopedia.sandbox.settings - .dev_wireframe - } - </DropdownMenu.CheckboxItem> + const anchor = document.createElement('a'); + + anchor.setAttribute( + 'download', + `${protagonistTank.name}.png`, + ); + anchor.setAttribute( + 'href', + canvas.current.toDataURL('image/png'), + ); + anchor.click(); + }} + > + <DownloadIcon /> + { + strings.website.tools.tankopedia.sandbox.screenshot + .download + } + </Button> + </Popover.Close> + <Popover.Close> + <Button + variant="outline" + onClick={() => { + if (!canvas.current) return; + + canvas.current.toBlob((blob) => { + if (!blob) return; + + navigator.clipboard.write([ + new ClipboardItem({ 'image/png': blob }), + ]); + }); + }} + > + <CopyIcon /> + { + strings.website.tools.tankopedia.sandbox.screenshot + .copy + } + </Button> + </Popover.Close> + </Flex> + </Popover.Content> + </Popover.Root> + + {fullScreenAvailable && ( + <IconButton + color="gray" + variant="ghost" + onClick={() => { + if (isFullScreen) { + document.exitFullscreen(); + } else document.body.requestFullscreen(); + }} + > + {isFullScreen ? ( + <ExitFullScreenIcon /> + ) : ( + <EnterFullScreenIcon /> )} - </> + </IconButton> )} - - <DropdownMenu.Label> - {strings.website.tools.tankopedia.sandbox.settings.environment} - </DropdownMenu.Label> - - <DropdownMenu.CheckboxItem - checked={showGrid} - onCheckedChange={(checked) => { - mutateTankopediaPersistent((draft) => { - draft.showGrid = checked; - }); - }} - > - {strings.website.tools.tankopedia.sandbox.settings.show_grid} - </DropdownMenu.CheckboxItem> - </DropdownMenu.Content> - </DropdownMenu.Root> - - <Popover.Root> - <Popover.Trigger> - <IconButton color="gray" variant="ghost"> - <CameraIcon /> - </IconButton> - </Popover.Trigger> - - <Popover.Content> - <Flex direction="column" gap="2"> - <Popover.Close> - <Button - onClick={() => { - if (!canvas.current) return; - - const anchor = document.createElement('a'); - - anchor.setAttribute( - 'download', - `${protagonistTank.name}.png`, - ); - anchor.setAttribute( - 'href', - canvas.current.toDataURL('image/png'), - ); - anchor.click(); - }} - > - <DownloadIcon /> - { - strings.website.tools.tankopedia.sandbox.screenshot - .download - } - </Button> - </Popover.Close> - <Popover.Close> - <Button - variant="outline" - onClick={() => { - if (!canvas.current) return; - - canvas.current.toBlob((blob) => { - if (!blob) return; - - navigator.clipboard.write([ - new ClipboardItem({ 'image/png': blob }), - ]); - }); - }} - > - <CopyIcon /> - {strings.website.tools.tankopedia.sandbox.screenshot.copy} - </Button> - </Popover.Close> - </Flex> - </Popover.Content> - </Popover.Root> - - {fullScreenAvailable && ( - <IconButton - color="gray" - variant="ghost" - onClick={() => { - if (isFullScreen) { - document.exitFullscreen(); - } else document.body.requestFullscreen(); - }} - > - {isFullScreen ? <ExitFullScreenIcon /> : <EnterFullScreenIcon />} - </IconButton> + </> )} </Flex> </Flex> diff --git a/packages/website/src/components/Tankopedia/HeroSection/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/index.tsx index 925272606..bc3a28308 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/index.tsx @@ -14,7 +14,6 @@ import type { MaybeSkeletonComponentProps } from '../../../types/maybeSkeletonCo import type { ThicknessRange } from '../../Armor/components/StaticArmor'; import { classIcons } from '../../ClassIcon'; import { Options } from './components/Options'; -import { ScrollHint } from './components/ScrollHint'; import { TankSandbox } from './components/TankSandbox'; import { NATION_COLORS, Title } from './components/TankSandbox/Title'; @@ -119,13 +118,14 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { }} /> - <ScrollHint /> + {/* <ScrollHint /> */} <Flex direction={{ initial: 'column-reverse', md: 'row' }} style={{ zIndex: isFullScreen ? 2 : undefined, transitionDuration: '1s', + background: isFullScreen ? 'black' : undefined, }} height={disturbed && !isFullScreen ? 'calc(100vh - 6rem)' : '100vh'} maxHeight={isFullScreen ? undefined : '60rem'} @@ -182,13 +182,7 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { {!disturbed && ( <Box - onPointerDown={(event) => { - event.stopPropagation(); - mutateTankopediaEphemeral((draft) => { - draft.disturbed = true; - }); - }} - onWheel={(event) => { + onClick={(event) => { event.stopPropagation(); mutateTankopediaEphemeral((draft) => { draft.disturbed = true; From b86b6e09d0ecb77db3d55ee51e616d50d211a269 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 7 May 2025 19:32:18 -0500 Subject: [PATCH 16/21] feat: font --- bun.lockb | Bin 450105 -> 450464 bytes packages/website/package.json | 1 + .../HeroSection/components/Options/index.tsx | 2 +- .../components/TankSandbox/Title.tsx | 8 +++++--- packages/website/src/layouts/BaseLayout.astro | 1 + packages/website/src/layouts/base.css | 4 ++++ 6 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bun.lockb b/bun.lockb index 8beb97ef4488af9ec4722018e29f93e5c2140201..5b16a7ccd464c59d9d3b62a74437d8cc7b4450c3 100644 GIT binary patch delta 72113 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 PQoih#mOn!-^W^^ld0iD$ delta 71932 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 diff --git a/packages/website/package.json b/packages/website/package.json index d3602e71d..c824bdaa6 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -14,6 +14,7 @@ "@astrolib/seo": "^1.0.0-beta.8", "@blitzkit/core": "workspace:*", "@blitzkit/i18n": "workspace:*", + "@fontsource/inter": "^5.2.5", "@nanostores/persistent": "^0.10.2", "@nanostores/react": "^0.7.3", "@nivo/bar": "^0.87.0", diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx index db01ff3b4..cde316378 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/Options/index.tsx @@ -120,7 +120,7 @@ export function Options({ thicknessRange, canvas, skeleton }: OptionsProps) { gap="2" direction="column" top="50%" - right={display === TankopediaDisplay.DynamicArmor ? '3' : '-3rem'} + right={display === TankopediaDisplay.DynamicArmor ? '3' : '-4rem'} style={{ position: 'absolute', transform: 'translateY(-50%)', diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx index 50881c446..5841efd91 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx @@ -93,8 +93,8 @@ export function Title({ outline }: TitleProps) { }} > <Heading - weight="bold" style={{ + fontWeight: 900, userSelect: 'none', pointerEvents: 'none', fontSize: revealed @@ -104,14 +104,16 @@ export function Title({ outline }: TitleProps) { : `${75 / name.length}vw`, whiteSpace: 'nowrap', color: outline ? Var(`${nationColors.tint}-a2`) : color, + opacity: outline && disturbed ? 0 : 1, WebkitTextStroke: outline ? `${revealed ? (disturbed ? '1px' : 'min(2px, 0.2vw)') : 0} ${color}` : undefined, letterSpacing: disturbed || !revealed ? 0 : '-0.03em', transition: ` - letter-spacing 1s ${disturbed ? '0s' : '1s'}, + letter-spacing 1.5s cubic-bezier(.81,-2,.68,1), font-size 1s, - -webkit-text-stroke 1.5s + -webkit-text-stroke 2s, + opacity 1s `, }} wrap="nowrap" diff --git a/packages/website/src/layouts/BaseLayout.astro b/packages/website/src/layouts/BaseLayout.astro index 340d5a80e..b7cabe664 100644 --- a/packages/website/src/layouts/BaseLayout.astro +++ b/packages/website/src/layouts/BaseLayout.astro @@ -1,4 +1,5 @@ --- +import '@fontsource/inter'; import { Flex } from '@radix-ui/themes'; import { BlitzKitTheme } from '../components/BlitzKitTheme'; import { Checks } from '../components/Checks'; diff --git a/packages/website/src/layouts/base.css b/packages/website/src/layouts/base.css index a3de75274..f9ee0a77e 100644 --- a/packages/website/src/layouts/base.css +++ b/packages/website/src/layouts/base.css @@ -1,5 +1,9 @@ @import '@radix-ui/themes/styles.css'; +.radix-themes { + --default-font-family: 'Inter'; +} + body { margin: 0; } From b911f648476911f8fef7b6327b69c5638c71fb66 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 7 May 2025 19:41:47 -0500 Subject: [PATCH 17/21] feat: out animation --- .../components/TankSandbox/Title.tsx | 2 +- .../components/Tankopedia/VideoSection.tsx | 33 ------------------- 2 files changed, 1 insertion(+), 34 deletions(-) diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx index 5841efd91..27e516783 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx @@ -110,7 +110,7 @@ export function Title({ outline }: TitleProps) { : undefined, letterSpacing: disturbed || !revealed ? 0 : '-0.03em', transition: ` - letter-spacing 1.5s cubic-bezier(.81,-2,.68,1), + letter-spacing 1.5s ${disturbed ? '' : 'cubic-bezier(.81,-2,.68,1)'}, font-size 1s, -webkit-text-stroke 2s, opacity 1s diff --git a/packages/website/src/components/Tankopedia/VideoSection.tsx b/packages/website/src/components/Tankopedia/VideoSection.tsx index f3e0ea55b..aa2353a52 100644 --- a/packages/website/src/components/Tankopedia/VideoSection.tsx +++ b/packages/website/src/components/Tankopedia/VideoSection.tsx @@ -1,5 +1,4 @@ import { youtubers } from '@blitzkit/core'; -import { literals } from '@blitzkit/i18n/src/literals'; import { Box, Flex, Heading, Link, Skeleton, Text } from '@radix-ui/themes'; import { awaitableReviews } from '../../core/awaitables/reviews'; import { Var } from '../../core/radix/var'; @@ -91,38 +90,6 @@ export function VideoSection({ skeleton }: MaybeSkeletonComponentProps) { </Link> ); })} - - <Link - href="https://discord.gg/nDt7AjGJQH" - target="_blank" - color="gray" - highContrast - > - <Flex - align="center" - justify="center" - gap="2" - p="3" - direction="column" - height="100%" - style={{ - backgroundColor: Var('color-panel-solid'), - borderRadius: Var('radius-3'), - }} - > - <VerifiedIcon /> - <Text - align="center" - style={{ - width: '9rem', - }} - > - {literals(strings.website.tools.tankopedia.review.join, [ - 'BlitzKit', - ])} - </Text> - </Flex> - </Link> </Flex> </Flex> </PageWrapper> From 4064f163ec17aca2c9f9088553ef08b3068e9b6f Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 7 May 2025 19:42:49 -0500 Subject: [PATCH 18/21] feat: remove plug --- packages/website/src/pages/[...locale]/index.astro | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/website/src/pages/[...locale]/index.astro b/packages/website/src/pages/[...locale]/index.astro index 1fadf56f4..913074677 100644 --- a/packages/website/src/pages/[...locale]/index.astro +++ b/packages/website/src/pages/[...locale]/index.astro @@ -6,8 +6,6 @@ import { literals } from '@blitzkit/i18n/src/literals'; import { Box, Flex, Heading, Link } from '@radix-ui/themes'; import type { GetStaticPaths } from 'astro'; import { AesonPlug } from '../../components/AesonPlug'; -import { DiscordPlug } from '../../components/Discord'; -import { HomeLocaleSwitcher } from '../../components/Home/HomeLocaleSwitcher'; import HomeHero from '../../components/HomeHero.astro'; import { HomePageHotTanks } from '../../components/HomePageHotTanks'; import { Plugs } from '../../components/Plugs'; @@ -57,7 +55,7 @@ export const getStaticPaths = (() => { <BaseLayout> <HomeHero /> - <Flex justify="center" py="6" px="4" justify="center"> + <!-- <Flex justify="center" py="6" px="4" justify="center"> <Flex wrap="wrap" justify="between" @@ -71,7 +69,7 @@ export const getStaticPaths = (() => { <DiscordPlug {locale} skeleton slot="fallback" /> </DiscordPlug> </Flex> - </Flex> + </Flex> --> { locale !== DEFAULT_LOCALE && ( From 4e4f0703682503cac81f47cb89ce9eebe3b7f2c7 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 7 May 2025 19:43:40 -0500 Subject: [PATCH 19/21] feat: shinier --- .../website/src/components/HomeHero.astro | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/website/src/components/HomeHero.astro b/packages/website/src/components/HomeHero.astro index 3105cc0e9..b97d3e91b 100644 --- a/packages/website/src/components/HomeHero.astro +++ b/packages/website/src/components/HomeHero.astro @@ -16,24 +16,24 @@ const strings = getStrings(locale); --p-2: 0%; --p-3: 0%; --p-4: 0%; - --p-5: 0%; + --p-7: 0%; --g-1-dark: var(--blue-3); - --g-1-light: var(--blue-5); + --g-1-light: var(--blue-7); --g-2-dark: var(--violet-3); - --g-2-light: var(--violet-5); + --g-2-light: var(--violet-7); --g-3-dark: var(--purple-3); - --g-3-light: var(--purple-5); + --g-3-light: var(--purple-7); --g-4-dark: var(--crimson-3); - --g-4-light: var(--crimson-5); - --g-5-dark: var(--tomato-3); - --g-5-light: var(--tomato-5); + --g-4-light: var(--crimson-7); + --g-7-dark: var(--tomato-3); + --g-7-light: var(--tomato-7); --g-1: color-mix(in srgb, var(--g-1-dark), var(--g-1-light) var(--p-1)); --g-2: color-mix(in srgb, var(--g-2-dark), var(--g-2-light) var(--p-2)); --g-3: color-mix(in srgb, var(--g-3-dark), var(--g-3-light) var(--p-3)); --g-4: color-mix(in srgb, var(--g-4-dark), var(--g-4-light) var(--p-4)); - --g-5: color-mix(in srgb, var(--g-5-dark), var(--g-5-light) var(--p-5)); + --g-7: color-mix(in srgb, var(--g-7-dark), var(--g-7-light) var(--p-7)); background: linear-gradient( 45deg, @@ -41,34 +41,34 @@ const strings = getStrings(locale); var(--g-2), var(--g-3), var(--g-4), - var(--g-5) + var(--g-7) ); } #home-hero[data-variant='pride'] { --g-1-dark: var(--crimson-3); - --g-1-light: var(--crimson-5); + --g-1-light: var(--crimson-7); --g-2-dark: var(--orange-3); - --g-2-light: var(--orange-5); + --g-2-light: var(--orange-7); --g-3-dark: var(--yellow-3); - --g-3-light: var(--yellow-5); + --g-3-light: var(--yellow-7); --g-4-dark: var(--blue-3); - --g-4-light: var(--blue-5); - --g-5-dark: var(--purple-3); - --g-5-light: var(--purple-5); + --g-4-light: var(--blue-7); + --g-7-dark: var(--purple-3); + --g-7-light: var(--purple-7); } #home-hero[data-variant='spooky'] { --g-1-dark: var(--orange-3); - --g-1-light: var(--orange-5); + --g-1-light: var(--orange-7); --g-2-dark: var(--tomato-3); - --g-2-light: var(--tomato-5); + --g-2-light: var(--tomato-7); --g-3-dark: var(--orange-3); - --g-3-light: var(--orange-5); + --g-3-light: var(--orange-7); --g-4-dark: var(--tomato-3); - --g-4-light: var(--tomato-5); - --g-5-dark: var(--orange-3); - --g-5-light: var(--orange-5); + --g-4-light: var(--tomato-7); + --g-7-dark: var(--orange-3); + --g-7-light: var(--orange-7); } </style> From 17713243b52efc79e0f401dc5336d567d98afafa Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 7 May 2025 20:51:52 -0500 Subject: [PATCH 20/21] feat: final stuff --- .../website/src/components/TankCard/index.css | 2 +- .../TankSearch/components/TankCardWrapper.tsx | 6 +++--- .../HeroSection/components/TankSandbox/Title.tsx | 4 ++-- .../components/Tankopedia/HeroSection/index.tsx | 16 ---------------- 4 files changed, 6 insertions(+), 22 deletions(-) diff --git a/packages/website/src/components/TankCard/index.css b/packages/website/src/components/TankCard/index.css index 029c21222..6cc92e4a2 100644 --- a/packages/website/src/components/TankCard/index.css +++ b/packages/website/src/components/TankCard/index.css @@ -23,7 +23,7 @@ .tank-search-card .image { width: 100%; - height: 6rem; + height: 8rem; object-position: center right; object-fit: contain; filter: drop-shadow(-1px -1px 4px black); diff --git a/packages/website/src/components/TankSearch/components/TankCardWrapper.tsx b/packages/website/src/components/TankSearch/components/TankCardWrapper.tsx index aff972c67..d3ec6aa27 100644 --- a/packages/website/src/components/TankSearch/components/TankCardWrapper.tsx +++ b/packages/website/src/components/TankSearch/components/TankCardWrapper.tsx @@ -6,11 +6,11 @@ export function TankCardWrapper(props: GridProps) { py="4" columns={{ initial: 'repeat(auto-fill, minmax(6rem, 1fr))', - sm: 'repeat(auto-fill, minmax(8rem, 1fr))', + sm: 'repeat(auto-fill, minmax(10rem, 1fr))', }} flow="dense" - gap="2" - gapY="6" + gap="4" + gapY="8" {...props} /> ); diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx index 27e516783..677e19b99 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/Title.tsx @@ -100,8 +100,8 @@ export function Title({ outline }: TitleProps) { fontSize: revealed ? disturbed ? '2rem' - : `${125 / name.length}vw` - : `${75 / name.length}vw`, + : `min(65vh, ${125 / name.length}vw)` + : `min(48vh, ${75 / name.length}vw)`, whiteSpace: 'nowrap', color: outline ? Var(`${nationColors.tint}-a2`) : color, opacity: outline && disturbed ? 0 : 1, diff --git a/packages/website/src/components/Tankopedia/HeroSection/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/index.tsx index bc3a28308..3339ce548 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/index.tsx @@ -179,22 +179,6 @@ export function HeroSection({ skeleton }: MaybeSkeletonComponentProps) { <Title outline /> </Flex> - - {!disturbed && ( - <Box - onClick={(event) => { - event.stopPropagation(); - mutateTankopediaEphemeral((draft) => { - draft.disturbed = true; - }); - }} - position="absolute" - width="100%" - height="100%" - top="0" - left="0" - /> - )} </Flex> ); } From 753c06eee89982f87020be767127bfcdb04da930 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 7 May 2025 20:54:24 -0500 Subject: [PATCH 21/21] feat: logs --- docs/changelogs/1.27.8.md | 12 ++++++++++++ package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 docs/changelogs/1.27.8.md diff --git a/docs/changelogs/1.27.8.md b/docs/changelogs/1.27.8.md new file mode 100644 index 000000000..6e30229d0 --- /dev/null +++ b/docs/changelogs/1.27.8.md @@ -0,0 +1,12 @@ +# BlitzKit 1.27.8 + +![](https://i.imgur.com/WO5MS94.png) + +## Features + +- The website now uses Inter as the font +- Added a cool new non-disturbed state for the Tankopedia because why not + +## Changes + +- Removed the Discord plug and language changer from the homepage diff --git a/package.json b/package.json index e46eb0ea3..1ab0e1e2c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "blitzkit", "private": true, - "version": "1.27.7", + "version": "1.27.8", "description": "🎉 Tools for everything World of Tanks Blitz", "type": "module", "types": "./types.d.ts",