diff --git a/src/main/events/catalogue/get-game-achievements.ts b/src/main/events/catalogue/get-game-achievements.ts index 0d3a40cf..690c2376 100644 --- a/src/main/events/catalogue/get-game-achievements.ts +++ b/src/main/events/catalogue/get-game-achievements.ts @@ -6,6 +6,7 @@ import { gameRepository, userPreferencesRepository, } from "@main/repository"; +import { UserNotLoggedInError } from "@shared"; const getGameAchievements = async ( _event: Electron.IpcMainInvokeEvent, @@ -22,11 +23,11 @@ const getGameAchievements = async ( }), ]); - const apiAchievement = HydraApi.get( - "/games/achievements", - { objectId, shop, language: userPreferences?.language || "en" }, - { needsAuth: false } - ) + const apiAchievement = HydraApi.get("/games/achievements", { + objectId, + shop, + language: userPreferences?.language || "en", + }) .then((achievements) => { if (game) { gameAchievementRepository.upsert( @@ -41,7 +42,10 @@ const getGameAchievements = async ( return achievements; }) - .catch(() => []); + .catch((err) => { + if (err instanceof UserNotLoggedInError) throw err; + return []; + }); const gameAchievements = cachedAchievements?.achievements ? JSON.parse(cachedAchievements.achievements) diff --git a/src/renderer/src/context/game-details/game-details.context.tsx b/src/renderer/src/context/game-details/game-details.context.tsx index 3993a30d..883a80a5 100644 --- a/src/renderer/src/context/game-details/game-details.context.tsx +++ b/src/renderer/src/context/game-details/game-details.context.tsx @@ -145,7 +145,9 @@ export function GameDetailsContextProvider({ .then((achievements) => { setAchievements(achievements); }) - .catch(() => {}); + .catch(() => { + // TODO: handle user not logged in error + }); updateGame(); }, [updateGame, dispatch, gameTitle, objectID, shop, i18n.language]); @@ -183,7 +185,8 @@ export function GameDetailsContextProvider({ window.electron .getGameAchievements(objectID!, shop as GameShop) - .then(setAchievements); + .then(setAchievements) + .catch(() => {}); } );