From 50f599a5c1a5ad47f047b0f9c96d03ca1d2722aa Mon Sep 17 00:00:00 2001 From: tobspr Date: Mon, 3 May 2021 15:51:24 +0200 Subject: [PATCH] Multiple users for the puzzle dlc --- .../ingame_hud/puzzle_editor_controls.scss | 4 +++- src/css/ingame_hud/puzzle_play_metadata.scss | 19 +++++++++++++++---- src/css/states/puzzle_menu.scss | 3 ++- src/js/game/hud/parts/puzzle_play_metadata.js | 7 +++++-- src/js/platform/api.js | 13 ++++++++++++- translations/base-en.yaml | 2 +- 6 files changed, 38 insertions(+), 10 deletions(-) diff --git a/src/css/ingame_hud/puzzle_editor_controls.scss b/src/css/ingame_hud/puzzle_editor_controls.scss index ada80390..7ce76b41 100644 --- a/src/css/ingame_hud/puzzle_editor_controls.scss +++ b/src/css/ingame_hud/puzzle_editor_controls.scss @@ -30,5 +30,7 @@ @include Heading; text-align: center; - @include DarkThemeInvert; + @include DarkThemeOverride { + color: #eee; + } } diff --git a/src/css/ingame_hud/puzzle_play_metadata.scss b/src/css/ingame_hud/puzzle_play_metadata.scss index 50403347..d0675b13 100644 --- a/src/css/ingame_hud/puzzle_play_metadata.scss +++ b/src/css/ingame_hud/puzzle_play_metadata.scss @@ -16,11 +16,16 @@ > label { text-transform: uppercase; - @include SuperSmallText; + @include SuperDuperSmallText; + color: $accentColorDark; } > span { display: flex; + color: darken($accentColorDark, 25); @include SuperSmallText; + @include DarkThemeOverride { + color: lighten($accentColorDark, 15); + } } } @@ -30,9 +35,12 @@ justify-self: end; align-self: end; flex-direction: row; - + @include S(margin-bottom, 10px); + opacity: 0.8; @include DarkThemeInvert; - opacity: 0.4; + @include DarkThemeOverride { + opacity: 0.8; + } > .downloads { @include SuperSmallText; @@ -63,7 +71,6 @@ font-weight: bold; @include S(padding-left, 14px); opacity: 0.7; - & { /* @load-async */ background: uiResource("icons/puzzle_upvotes.png") #{D(2px)} center / #{D(8px)} #{D(8px)} no-repeat; @@ -115,4 +122,8 @@ @include PlainText; opacity: 0.5; } + + @include DarkThemeOverride { + color: #eee; + } } diff --git a/src/css/states/puzzle_menu.scss b/src/css/states/puzzle_menu.scss index 18fb561a..512946af 100644 --- a/src/css/states/puzzle_menu.scss +++ b/src/css/states/puzzle_menu.scss @@ -132,7 +132,7 @@ grid-row: 3 / 4; @include SuperSmallText; color: $accentColorDark; - align-self: end; + align-self: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; @@ -146,6 +146,7 @@ justify-self: end; justify-content: center; align-self: end; + @include S(height, 14px); @include DarkThemeInvert; diff --git a/src/js/game/hud/parts/puzzle_play_metadata.js b/src/js/game/hud/parts/puzzle_play_metadata.js index 1d0f6c5a..ec521cc8 100644 --- a/src/js/game/hud/parts/puzzle_play_metadata.js +++ b/src/js/game/hud/parts/puzzle_play_metadata.js @@ -22,7 +22,7 @@ export class HUDPuzzlePlayMetadata extends BaseHUDPart { this.element = makeDiv(parent, "ingame_HUD_PuzzlePlayMetadata"); this.element.innerHTML = ` -
+
${formatBigNumberFull(puzzle.meta.downloads)}
@@ -36,7 +36,10 @@ export class HUDPuzzlePlayMetadata extends BaseHUDPart { ${ puzzle.meta.difficulty - ? puzzle.meta.difficulty.toFixed(1) + ? puzzle.meta.difficulty.toFixed(2) + + " (" + + T.ingame.puzzleCompletion.difficulties[Math.round(puzzle.meta.difficulty)] + + ")" : T.puzzleMenu.difficultyNotDetermined }
diff --git a/src/js/platform/api.js b/src/js/platform/api.js index 897629cc..f02951ff 100644 --- a/src/js/platform/api.js +++ b/src/js/platform/api.js @@ -4,8 +4,10 @@ import { Application } from "../application"; import { createLogger } from "../core/logging"; import { compressX64 } from "../core/lzstring"; import { T } from "../translations"; +import { ShapezGameAnalytics } from "./browser/game_analytics"; const logger = createLogger("puzzle-api"); +const rusha = require("rusha"); export class ClientAPI { /** @@ -20,6 +22,15 @@ export class ClientAPI { * @type {string|null} */ this.token = null; + + this.syncToken = window.localStorage.getItem("tmp.syncToken"); + if (!this.syncToken || G_IS_DEV) { + this.syncToken = rusha + .createHash() + .update(new Date().getTime() + "=" + Math.random()) + .digest("hex"); + window.localStorage.setItem("tmp.syncToken", this.syncToken); + } } getEndpoint() { @@ -102,7 +113,7 @@ export class ClientAPI { return this._request("/v1/public/login", { method: "POST", body: { - hello: "world", + token: this.syncToken, }, }); } diff --git a/translations/base-en.yaml b/translations/base-en.yaml index b0e510ae..8a2d0e08 100644 --- a/translations/base-en.yaml +++ b/translations/base-en.yaml @@ -636,7 +636,7 @@ ingame: puzzleMetadata: author: Author shortKey: Short Key - rating: Difficulty + rating: Difficulty score averageDuration: Avg. Duration # All shop upgrades