diff --git a/src/js/game/hud/parts/achievements.js b/src/js/game/hud/parts/achievements.js index be0f1e55..7d66a00f 100644 --- a/src/js/game/hud/parts/achievements.js +++ b/src/js/game/hud/parts/achievements.js @@ -1,6 +1,5 @@ -import { ClickDetector } from "../../../core/click_detector"; import { InputReceiver } from "../../../core/input_receiver"; -import { formatBigNumber, getRomanNumber, makeDiv } from "../../../core/utils"; +import { makeDiv } from "../../../core/utils"; import { ACHIEVEMENTS, enum_achievement_mappings } from "../../../platform/achievement_provider"; import { T } from "../../../translations"; import { KeyActionMapper, KEYMAPPINGS } from "../../key_action_mapper"; diff --git a/src/js/game/hud/parts/game_menu.js b/src/js/game/hud/parts/game_menu.js index 6b424453..2c3c55b7 100644 --- a/src/js/game/hud/parts/game_menu.js +++ b/src/js/game/hud/parts/game_menu.js @@ -6,6 +6,7 @@ import { T } from "../../../translations"; import { KEYMAPPINGS } from "../../key_action_mapper"; import { DynamicDomAttach } from "../dynamic_dom_attach"; import { TrackedState } from "../../../core/tracked_state"; +import { NoAchievementProvider } from "../../../platform/browser/no_achievement_provider"; export class HUDGameMenu extends BaseHUDPart { createElements(parent) { @@ -38,7 +39,7 @@ export class HUDGameMenu extends BaseHUDPart { label: "Achievements", handler: () => this.root.hud.parts.achievements.show(), keybinding: KEYMAPPINGS.ingame.menuOpenAchievements, - visible: () => true, + visible: () => !(this.root.achievementProxy.provider instanceof NoAchievementProvider), }, ]; diff --git a/src/js/platform/browser/browser_achievement_provider.js b/src/js/platform/browser/browser_achievement_provider.js index c43752df..3d88d402 100644 --- a/src/js/platform/browser/browser_achievement_provider.js +++ b/src/js/platform/browser/browser_achievement_provider.js @@ -117,7 +117,7 @@ export class BrowserAchievementProvider extends AchievementProviderInterface { /** @returns {Promise} */ initialize() { - return this.storage.initialize(); + return Promise.resolve(); } /** diff --git a/src/js/states/preload.js b/src/js/states/preload.js index 9d843ea3..8f36738e 100644 --- a/src/js/states/preload.js +++ b/src/js/states/preload.js @@ -105,6 +105,13 @@ export class PreloadState extends GameState { return this.app.settings.initialize(); }) + .then(() => this.setStatus("Initializing achievement storage")) + .then(() => { + if (this.app.achievementProvider.storage) + return this.app.achievementProvider.storage.initialize(); + else return Promise.resolve(); + }) + .then(() => { // Initialize fullscreen if (this.app.platformWrapper.getSupportsFullscreen()) {