diff --git a/resources/images/FastForwardIconSolidWhite.svg b/resources/images/FastForwardIconSolidWhite.svg new file mode 100644 index 000000000..28eb0867a --- /dev/null +++ b/resources/images/FastForwardIconSolidWhite.svg @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/client/graphics/layers/GameRightSidebar.ts b/src/client/graphics/layers/GameRightSidebar.ts index 8074c9dc3..394668e03 100644 --- a/src/client/graphics/layers/GameRightSidebar.ts +++ b/src/client/graphics/layers/GameRightSidebar.ts @@ -1,10 +1,9 @@ import { html, LitElement } from "lit"; import { customElement, state } from "lit/decorators.js"; import exitIcon from "../../../../resources/images/ExitIconWhite.svg"; +import FastForwardIconSolid from "../../../../resources/images/FastForwardIconSolidWhite.svg"; import pauseIcon from "../../../../resources/images/PauseIconWhite.svg"; import playIcon from "../../../../resources/images/PlayIconWhite.svg"; -import replayRegularIcon from "../../../../resources/images/ReplayRegularIconWhite.svg"; -import replaySolidIcon from "../../../../resources/images/ReplaySolidIconWhite.svg"; import settingsIcon from "../../../../resources/images/SettingIconWhite.svg"; import { EventBus } from "../../../core/EventBus"; import { GameType } from "../../../core/game/Game"; @@ -74,13 +73,17 @@ export class GameRightSidebar extends LitElement implements Layer { } private secondsToHms = (d: number): string => { + const pad = (n: number) => (n < 10 ? `0${n}` : n); + const h = Math.floor(d / 3600); const m = Math.floor((d % 3600) / 60); const s = Math.floor((d % 3600) % 60); - let time = d === 0 ? "-" : `${s}s`; - if (m > 0) time = `${m}m` + time; - if (h > 0) time = `${h}h` + time; - return time; + + if (h !== 0) { + return `${pad(h)}:${pad(m)}:${pad(s)}`; + } else { + return `${pad(m)}:${pad(s)}`; + } }; private toggleReplayPanel(): void { @@ -116,46 +119,31 @@ export class GameRightSidebar extends LitElement implements Layer { render() { if (this.game === undefined) return html``; + const timerColor = + this.game.config().gameConfig().maxTimerValue !== undefined && + this.timer < 60 + ? "text-red-400" + : ""; + return html` `; @@ -163,25 +151,20 @@ export class GameRightSidebar extends LitElement implements Layer { maybeRenderReplayButtons() { if (this._isSinglePlayer || this.game?.config()?.isReplay()) { - return html`
+ return html`
replay
-
+
play/pause
`; } else { diff --git a/src/client/graphics/layers/ReplayPanel.ts b/src/client/graphics/layers/ReplayPanel.ts index 9c465fb6f..e5265a5e3 100644 --- a/src/client/graphics/layers/ReplayPanel.ts +++ b/src/client/graphics/layers/ReplayPanel.ts @@ -66,15 +66,15 @@ export class ReplayPanel extends LitElement implements Layer { return html`
e.preventDefault()} > -