Migrate development brnach into production brunch #5
@@ -240,22 +240,24 @@ export default function App() {
|
|||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [me?.id, gameId]);
|
}, [me?.id, gameId]);
|
||||||
|
|
||||||
// ✅ Winner Celebration Trigger:
|
|
||||||
// - beim ersten Load eines Spiels NICHT feiern
|
|
||||||
// - feiern nur, wenn winner_user_id sich danach ändert (Host speichert)
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
// wid kann auch "" sein (kein Sieger)
|
||||||
const wid = gameMeta?.winner_user_id ? String(gameMeta.winner_user_id) : "";
|
const wid = gameMeta?.winner_user_id ? String(gameMeta.winner_user_id) : "";
|
||||||
if (!wid) return;
|
|
||||||
|
|
||||||
|
// Baseline beim ersten Meta-Load setzen – egal ob Winner existiert oder nicht
|
||||||
if (!winnerBaselineRef.current) {
|
if (!winnerBaselineRef.current) {
|
||||||
winnerBaselineRef.current = true;
|
winnerBaselineRef.current = true;
|
||||||
lastWinnerIdRef.current = wid;
|
lastWinnerIdRef.current = wid; // kann "" sein
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Nur reagieren, wenn sich wid ändert
|
||||||
if (lastWinnerIdRef.current !== wid) {
|
if (lastWinnerIdRef.current !== wid) {
|
||||||
lastWinnerIdRef.current = wid;
|
lastWinnerIdRef.current = wid;
|
||||||
|
|
||||||
|
// wenn wid leer wird (reset), nicht feiern
|
||||||
|
if (!wid) return;
|
||||||
|
|
||||||
const name =
|
const name =
|
||||||
(gameMeta?.winner_display_name || "").trim() ||
|
(gameMeta?.winner_display_name || "").trim() ||
|
||||||
(gameMeta?.winner_email || "").trim() ||
|
(gameMeta?.winner_email || "").trim() ||
|
||||||
@@ -266,6 +268,7 @@ export default function App() {
|
|||||||
}
|
}
|
||||||
}, [gameMeta?.winner_user_id, gameMeta?.winner_display_name, gameMeta?.winner_email]);
|
}, [gameMeta?.winner_user_id, gameMeta?.winner_display_name, gameMeta?.winner_email]);
|
||||||
|
|
||||||
|
|
||||||
// ===== Auth actions =====
|
// ===== Auth actions =====
|
||||||
const doLogin = async () => {
|
const doLogin = async () => {
|
||||||
await api("/auth/login", {
|
await api("/auth/login", {
|
||||||
|
|||||||
Reference in New Issue
Block a user