aboutsummaryrefslogtreecommitdiffstats
path: root/src/hooks/useGameState.ts
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2026-08-03 17:37:22 -0700
committerPinapelz <yukais@pinapelz.com>2026-08-03 17:40:15 -0700
commitb37a7ffc5b19f7330050970ebac7f949a89812a2 (patch)
treea7c194528273721902874c9e71f3245934c0168d /src/hooks/useGameState.ts
parent1f52e962086856ddd6981139e2d4aca20201e9cb (diff)
feat: group streaks
- maintain completion streaks as a group - join via a provided code, streaks increment when you guess correctly
Diffstat (limited to 'src/hooks/useGameState.ts')
-rw-r--r--src/hooks/useGameState.ts9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/hooks/useGameState.ts b/src/hooks/useGameState.ts
index 0cd448e..07eb242 100644
--- a/src/hooks/useGameState.ts
+++ b/src/hooks/useGameState.ts
@@ -6,6 +6,7 @@ import {
submitDailyGuess,
submitDailyMVGuess,
} from "../helpers/fetchSolution";
+import { getStoredGroupMembership } from "../helpers/group";
export type GameMode = "daily" | "dailyMV";
@@ -231,6 +232,8 @@ export function useGameState({
setIsSubmitting(true);
try {
+ const membership = getStoredGroupMembership();
+
const res = await submitGuessFn({
sessionToken,
sig: stats.sig,
@@ -241,6 +244,8 @@ export function useGameState({
guesses: guesses.filter(isAnsweredGuess),
},
guess: null,
+ groupId: membership?.groupId,
+ username: membership?.username,
});
applyServerState(res.state, res.sig);
@@ -282,6 +287,8 @@ export function useGameState({
setIsSubmitting(true);
try {
+ const membership = getStoredGroupMembership();
+
const res = await submitGuessFn({
sessionToken,
sig: stats.sig,
@@ -295,6 +302,8 @@ export function useGameState({
artist: selectedSong.artist,
name: selectedSong.name,
},
+ groupId: membership?.groupId,
+ username: membership?.username,
});
applyServerState(res.state, res.sig);
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage