mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-03-09 15:40:26 +00:00
feat: refactor achievement listeners
This commit is contained in:
parent
f5445b00f4
commit
63aee44982
6 changed files with 45 additions and 18 deletions
|
@ -132,13 +132,14 @@ export function GameDetailsContextProvider({
|
|||
setIsLoading(false);
|
||||
});
|
||||
|
||||
window.electron.getGameStats(objectId!, shop as GameShop).then((result) => {
|
||||
window.electron.getGameStats(objectId, shop as GameShop).then((result) => {
|
||||
setStats(result);
|
||||
});
|
||||
|
||||
window.electron
|
||||
.getGameAchievements(objectId!, shop as GameShop)
|
||||
.getGameAchievements(objectId, shop as GameShop)
|
||||
.then((achievements) => {
|
||||
// TODO: race condition
|
||||
setAchievements(achievements);
|
||||
})
|
||||
.catch(() => {
|
||||
|
@ -175,14 +176,11 @@ export function GameDetailsContextProvider({
|
|||
}, [game?.id, isGameRunning, updateGame]);
|
||||
|
||||
useEffect(() => {
|
||||
const unsubscribe = window.electron.onAchievementUnlocked(
|
||||
(objectId, shop) => {
|
||||
if (objectId !== objectId || shop !== shop) return;
|
||||
|
||||
window.electron
|
||||
.getGameAchievements(objectId!, shop as GameShop)
|
||||
.then(setAchievements)
|
||||
.catch(() => {});
|
||||
const unsubscribe = window.electron.onUpdateAchievements(
|
||||
objectId,
|
||||
shop,
|
||||
(achievements) => {
|
||||
setAchievements(achievements);
|
||||
}
|
||||
);
|
||||
|
||||
|
|
5
src/renderer/src/declaration.d.ts
vendored
5
src/renderer/src/declaration.d.ts
vendored
|
@ -76,6 +76,11 @@ declare global {
|
|||
achievements?: { displayName: string; iconUrl: string }[]
|
||||
) => void
|
||||
) => () => Electron.IpcRenderer;
|
||||
onUpdateAchievements: (
|
||||
objectId: string,
|
||||
shop: GameShop,
|
||||
cb: (achievements: GameAchievement[]) => void
|
||||
) => () => Electron.IpcRenderer;
|
||||
|
||||
/* Library */
|
||||
addGameToLibrary: (
|
||||
|
|
|
@ -82,7 +82,6 @@ export function Sidebar() {
|
|||
>
|
||||
<span>
|
||||
<Link to={buildGameAchievementPath()}>Ver todas</Link>
|
||||
<a></a>
|
||||
</span>
|
||||
<div
|
||||
style={{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue