feat: Hex Wars - Badge auch bei beendeten/abgebrochenen Spielen
This commit is contained in:
@@ -541,7 +541,13 @@ export default function HexWars({ toast }) {
|
||||
|
||||
useEffect(() => {
|
||||
if (!activeId) { setGame(null); return; }
|
||||
api(`/tools/gebietseroberung/${activeId}`).then(setGame).catch(() => {});
|
||||
api(`/tools/gebietseroberung/${activeId}`).then(g => {
|
||||
setGame(g);
|
||||
// Beendetes Spiel als gesehen markieren → Badge verschwindet
|
||||
if (g.status === 'finished') {
|
||||
api(`/tools/gebietseroberung/${activeId}/seen`, { body: {} }).catch(() => {});
|
||||
}
|
||||
}).catch(() => {});
|
||||
}, [activeId]);
|
||||
|
||||
// Polling wenn Gegner dran
|
||||
@@ -567,6 +573,9 @@ export default function HexWars({ toast }) {
|
||||
const handleMove = async (row, col) => {
|
||||
const updated = await api(`/tools/gebietseroberung/${activeId}/move`, { body: { row, col } });
|
||||
setGame(updated);
|
||||
if (updated.status === 'finished') {
|
||||
api(`/tools/gebietseroberung/${activeId}/seen`, { body: {} }).catch(() => {});
|
||||
}
|
||||
// Direkt den games-State patchen damit die Liste sofort stimmt (kein Warten auf loadGames)
|
||||
setGames(prev => prev.map(g => g.id === updated.id
|
||||
? { ...g, current_turn: updated.current_turn, move_count: updated.move_count, status: updated.status, winner_id: updated.winner_id }
|
||||
|
||||
Reference in New Issue
Block a user