feat: streaks in guesser

This commit is contained in:
TrèsAbhi committed 2025-12-27 19:39:10 -06:00
1 parent fdc0f34e08
commit 80dfc59017
3 files changed
+6 -1

No files matched your search

+1 -1
View File
@@ -917,7 +917,7 @@
"next": "Next",
"no_results": "No results"
},
"stats": "{correct} / {total} guessed correctly"
"stats": "{correct} / {total} correct, {streak} streak"
},
"tankopedia": {
@@ -43,6 +43,7 @@ export function Guesser() {
const guessState = Guess.use((state) => state.guessState);
const correctGuesses = Guess.use((state) => state.correctGuesses);
const totalGuesses = Guess.use((state) => state.totalGuesses);
const streak = Guess.use((state) => state.streak);
const { strings, unwrap } = useLocale();
const input = useRef<HTMLInputElement>(null);
const [searching, setSearching] = useState(false);
@@ -150,6 +151,7 @@ export function Guesser() {
{literals(strings.website.tools.guess.stats, {
correct: correctGuesses,
total: totalGuesses,
streak: streak,
})}
</Text>
</Flex>
@@ -186,6 +188,7 @@ export function Guesser() {
: GuessState.Incorrect;
draft.totalGuesses++;
draft.correctGuesses += correct ? 1 : 0;
draft.streak = correct ? draft.streak + 1 : 0;
});
} else {
const id = Number(ids[Math.floor(Math.random() * ids.length)]);
+2
View File
@@ -12,6 +12,7 @@ export interface Guess {
guessState: GuessState;
totalGuesses: number;
correctGuesses: number;
streak: number;
}
export const Guess = new Varuna<Guess, TankDefinition>((tank) => ({
@@ -19,4 +20,5 @@ export const Guess = new Varuna<Guess, TankDefinition>((tank) => ({
guessState: GuessState.NotGuessed,
totalGuesses: 0,
correctGuesses: 0,
streak: 0,
}));