feat: small refactor to achievements

This commit is contained in:
Zamitto
2025-06-03 09:42:44 -03:00
parent e9032ae6e4
commit 3a6693c8b1
7 changed files with 32 additions and 27 deletions

View File

@@ -8,7 +8,9 @@ const saveGameShopAssets = async (
shop: GameShop,
assets: ShopAssets
): Promise<void> => {
return gamesShopAssetsSublevel.put(levelKeys.game(shop, objectId), assets);
const key = levelKeys.game(shop, objectId);
const existingAssets = await gamesShopAssetsSublevel.get(key);
return gamesShopAssetsSublevel.put(key, { ...existingAssets, ...assets });
};
registerEvent("saveGameShopAssets", saveGameShopAssets);

View File

@@ -16,7 +16,8 @@ const resetGameAchievements = async (
objectId: string
) => {
try {
const game = await gamesSublevel.get(levelKeys.game(shop, objectId));
const levelKey = levelKeys.game(shop, objectId);
const game = await gamesSublevel.get(levelKey);
if (!game) return;
@@ -29,8 +30,6 @@ const resetGameAchievements = async (
}
}
const levelKey = levelKeys.game(game.shop, game.objectId);
await gameAchievementsSublevel
.get(levelKey)
.then(async (gameAchievements) => {

View File

@@ -9,8 +9,6 @@ export const getUnlockedAchievements = async (
shop: GameShop,
useCachedData: boolean
): Promise<UserAchievement[]> => {
AchievementWatcherManager.firstSyncWithRemoteIfNeeded(shop, objectId);
const cachedAchievements = await gameAchievementsSublevel.get(
levelKeys.game(shop, objectId)
);
@@ -65,7 +63,7 @@ export const getUnlockedAchievements = async (
!achievementData.hidden || showHiddenAchievementsDescription
? achievementData.description
: undefined,
} as UserAchievement;
};
})
.sort((a, b) => {
if (a.unlocked && !b.unlocked) return -1;
@@ -82,6 +80,7 @@ const getUnlockedAchievementsEvent = async (
objectId: string,
shop: GameShop
): Promise<UserAchievement[]> => {
AchievementWatcherManager.firstSyncWithRemoteIfNeeded(shop, objectId);
return getUnlockedAchievements(objectId, shop, false);
};