feat: sync game data when opening game page

This commit is contained in:
Zamitto
2025-05-26 10:06:19 -03:00
parent 4893d61ee3
commit 1c6bc49ed0
6 changed files with 52 additions and 3 deletions

View File

@@ -108,7 +108,7 @@ export function GameDetailsContextProvider({
return window.electron
.getGameByObjectId(shop, objectId)
.then((result) => setGame(result));
}, [setGame, shop, objectId]);
}, [shop, objectId]);
const isGameDownloading =
lastPacket?.gameId === game?.id && game?.download?.status === "active";
@@ -183,11 +183,13 @@ export function GameDetailsContextProvider({
.catch(() => {});
}
updateGame();
window.electron.syncGameByObjectId(shop, objectId).then(() => {
if (abortController.signal.aborted) return;
updateGame();
});
}, [
updateGame,
dispatch,
gameTitle,
objectId,
shop,
i18n.language,

View File

@@ -155,6 +155,7 @@ declare global {
shop: GameShop,
objectId: string
) => Promise<LibraryGame | null>;
syncGameByObjectId: (shop: GameShop, objectId: string) => Promise<void>;
onGamesRunning: (
cb: (
gamesRunning: Pick<GameRunning, "id" | "sessionDurationInMillis">[]