From b7ee1caa526da0f30905d0a5da33937ca05986af Mon Sep 17 00:00:00 2001 From: DiesselOne <49088589+DiesselOne@users.noreply.github.com> Date: Tue, 17 Jun 2025 22:32:27 +0200 Subject: [PATCH] * update leaderboard align (#1189) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description: This fix issue of leaderboard overlaping other elements. Also give option to dispaly ads below leaderboard since on desktop they are next to each other ## Please complete the following: - [ ] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [ ] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced - [x] I understand that submitting code with bugs that could have been caught through manual testing blocks releases and new features for all contributors ## Please put your Discord username so you can be contacted if a bug or regression is found: Diessel ![image](https://github.com/user-attachments/assets/28d1a952-b9b1-4990-9a2a-59d221f5c007) ![image](https://github.com/user-attachmen ![Snímek obrazovky 2025-06-17 v 18 28 12](https://github.com/user-attachments/assets/f00bd060-361a-4c2f-98dd-1849f7d705ff) ts/assets/5886ceb2-2d15-4b0e-9c30-8c61b0255f48) ![Snímek obrazovky 2025-06-17 v 18 28 36](https://github.com/user-attachments/assets/a60943ef-7865-43fa-a400-a7bd381b6ea3) ![Snímek obrazovky 2025-06-17 v 18 28 19](https://github.com/user-attachments/assets/7a328e7a-5a97-4b71-bb7a-40adac2d45c3) --------- Co-authored-by: evanpelle --- src/client/graphics/GameRenderer.ts | 10 --- src/client/graphics/layers/ControlPanel.ts | 2 +- src/client/graphics/layers/GameLeftSidebar.ts | 53 +++++++++++-- src/client/graphics/layers/Leaderboard.ts | 2 +- .../graphics/layers/PlayerInfoOverlay.ts | 2 +- src/client/graphics/layers/PlayerTeamLabel.ts | 74 ------------------- src/client/graphics/layers/TopBar.ts | 2 +- src/client/index.html | 3 - 8 files changed, 50 insertions(+), 98 deletions(-) delete mode 100644 src/client/graphics/layers/PlayerTeamLabel.ts diff --git a/src/client/graphics/GameRenderer.ts b/src/client/graphics/GameRenderer.ts index b9f3d55c2..9b5b7eff2 100644 --- a/src/client/graphics/GameRenderer.ts +++ b/src/client/graphics/GameRenderer.ts @@ -22,7 +22,6 @@ import { NameLayer } from "./layers/NameLayer"; import { OptionsMenu } from "./layers/OptionsMenu"; import { PlayerInfoOverlay } from "./layers/PlayerInfoOverlay"; import { PlayerPanel } from "./layers/PlayerPanel"; -import { PlayerTeamLabel } from "./layers/PlayerTeamLabel"; import { ReplayPanel } from "./layers/ReplayPanel"; import { SpawnTimer } from "./layers/SpawnTimer"; import { StructureLayer } from "./layers/StructureLayer"; @@ -174,14 +173,6 @@ export function createRenderer( } multiTabModal.game = game; - const playerTeamLabel = document.querySelector( - "player-team-label", - ) as PlayerTeamLabel; - if (!(playerTeamLabel instanceof PlayerTeamLabel)) { - console.error("player team label not found"); - } - playerTeamLabel.game = game; - const headsUpMessage = document.querySelector( "heads-up-message", ) as HeadsUpMessage; @@ -246,7 +237,6 @@ export function createRenderer( teamStats, topBar, playerPanel, - playerTeamLabel, headsUpMessage, unitInfoModal, multiTabModal, diff --git a/src/client/graphics/layers/ControlPanel.ts b/src/client/graphics/layers/ControlPanel.ts index c01ae4bc9..512df847c 100644 --- a/src/client/graphics/layers/ControlPanel.ts +++ b/src/client/graphics/layers/ControlPanel.ts @@ -204,7 +204,7 @@ export class ControlPanel extends LitElement implements Layer {
e.preventDefault()} > diff --git a/src/client/graphics/layers/GameLeftSidebar.ts b/src/client/graphics/layers/GameLeftSidebar.ts index 0cce032a1..2f4bb2f6f 100644 --- a/src/client/graphics/layers/GameLeftSidebar.ts +++ b/src/client/graphics/layers/GameLeftSidebar.ts @@ -1,4 +1,5 @@ -import { LitElement, html } from "lit"; +import { Colord } from "colord"; +import { html, LitElement } from "lit"; import { customElement, state } from "lit/decorators.js"; import { GameMode } from "../../../core/game/Game"; import { GameView } from "../../../core/game/GameView"; @@ -15,6 +16,10 @@ export class GameLeftSidebar extends LitElement implements Layer { @state() private isTeamLeaderboardShow = false; private isVisible = false; + private isPlayerTeamLabelVisible = false; + private playerTeam: string | null = null; + + private playerColor: Colord = new Colord("#FFFFFF"); public game: GameView; createRenderRoot() { @@ -23,9 +28,32 @@ export class GameLeftSidebar extends LitElement implements Layer { init() { this.isVisible = true; + if (this.isTeamGame) { + this.isPlayerTeamLabelVisible = true; + } this.requestUpdate(); } + tick() { + if (!this.isPlayerTeamLabelVisible) return; + + if (!this.playerTeam && this.game.myPlayer()?.team()) { + this.playerTeam = this.game.myPlayer()!.team(); + if (this.playerTeam) { + this.playerColor = this.game + .config() + .theme() + .teamColor(this.playerTeam); + this.requestUpdate(); + } + } + + if (!this.game.inSpawnPhase()) { + this.isPlayerTeamLabelVisible = false; + this.requestUpdate(); + } + } + private toggleLeaderboard(): void { this.isLeaderboardShow = !this.isLeaderboardShow; } @@ -41,10 +69,23 @@ export class GameLeftSidebar extends LitElement implements Layer { render() { return html`