diff --git a/index.html b/index.html index e9a96fd50..b53683ca3 100644 --- a/index.html +++ b/index.html @@ -249,7 +249,7 @@
@@ -262,7 +262,9 @@ -
+
diff --git a/resources/lang/en.json b/resources/lang/en.json index af1e23d51..5947ad4e2 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -714,6 +714,7 @@ "show_units": "Show Units" }, "events_display": { + "events": "Events", "retreating": "retreating", "alliance_request_status": "{name} {status} your alliance request", "alliance_accepted": "accepted", diff --git a/src/client/graphics/GameRenderer.ts b/src/client/graphics/GameRenderer.ts index 0de490f3f..5f4ef4a37 100644 --- a/src/client/graphics/GameRenderer.ts +++ b/src/client/graphics/GameRenderer.ts @@ -98,6 +98,7 @@ export function createRenderer( console.error("GameLeftSidebar element not found in the DOM"); } gameLeftSidebar.game = game; + gameLeftSidebar.eventBus = eventBus; const teamStats = document.querySelector("team-stats") as TeamStats; if (!teamStats || !(teamStats instanceof TeamStats)) { @@ -246,6 +247,7 @@ export function createRenderer( console.error("spawn timer not found"); } spawnTimer.game = game; + spawnTimer.eventBus = eventBus; spawnTimer.transformHandler = transformHandler; const immunityTimer = document.querySelector( @@ -255,6 +257,7 @@ export function createRenderer( console.error("immunity timer not found"); } immunityTimer.game = game; + immunityTimer.eventBus = eventBus; const inGameHeaderAd = document.querySelector( "in-game-header-ad", diff --git a/src/client/graphics/layers/AttacksDisplay.ts b/src/client/graphics/layers/AttacksDisplay.ts index 51c062706..2bca5e1b5 100644 --- a/src/client/graphics/layers/AttacksDisplay.ts +++ b/src/client/graphics/layers/AttacksDisplay.ts @@ -221,7 +221,7 @@ export class AttacksDisplay extends LitElement implements Layer { return this.incomingAttacks.map( (attack) => html`
${this.renderButton({ content: html`${renderTroops(attack.troops)} - ${( this.game.playerBySmallID(attack.attackerID) as PlayerView )?.name()}`, onClick: () => this.handleRetaliate(attack), className: - "ml-auto inline-flex items-center justify-center cursor-pointer bg-red-900/50 hover:bg-red-800/70 rounded px-1.5 py-1 border border-red-700/50", + "ml-auto inline-flex items-center justify-center cursor-pointer bg-red-900/50 hover:bg-red-800/70 rounded-lg px-1.5 py-1 border border-red-700/50", translate: false, }) : ""} @@ -269,7 +269,7 @@ export class AttacksDisplay extends LitElement implements Layer { return this.outgoingAttacks.map( (attack) => html`
${this.renderButton({ content: html`${renderTroops(attack.troops)} - ${( this.game.playerBySmallID(attack.targetID) as PlayerView )?.name()} html`
${this.renderButton({ content: html` html`
${this.renderButton({ content: html`${this.renderBoatIcon(boat)} ${renderTroops(boat.troops())} - ${this.getBoatTargetName(boat)}`, onClick: () => this.eventBus.emit(new GoToUnitEvent(boat)), @@ -403,14 +403,16 @@ export class AttacksDisplay extends LitElement implements Layer { return this.incomingBoats.map( (boat) => html`
${this.renderButton({ content: html`${this.renderBoatIcon(boat)} ${renderTroops(boat.troops())} - ${boat.owner()?.name()}`, + ${boat.owner()?.name()}`, onClick: () => this.eventBus.emit(new GoToUnitEvent(boat)), className: "text-left text-red-400 inline-flex items-center gap-0.5 lg:gap-1 min-w-0", @@ -439,7 +441,7 @@ export class AttacksDisplay extends LitElement implements Layer { return html`
${this.renderOutgoingAttacks()} ${this.renderOutgoingLandAttacks()} ${this.renderBoats()} ${this.renderIncomingAttacks()} diff --git a/src/client/graphics/layers/ControlPanel.ts b/src/client/graphics/layers/ControlPanel.ts index c5f6c4a41..4400cc990 100644 --- a/src/client/graphics/layers/ControlPanel.ts +++ b/src/client/graphics/layers/ControlPanel.ts @@ -261,7 +261,7 @@ export class ControlPanel extends LitElement implements Layer { return html`
e.preventDefault()} > diff --git a/src/client/graphics/layers/EventsDisplay.ts b/src/client/graphics/layers/EventsDisplay.ts index 31f496c05..5fc48143d 100644 --- a/src/client/graphics/layers/EventsDisplay.ts +++ b/src/client/graphics/layers/EventsDisplay.ts @@ -788,17 +788,19 @@ export class EventsDisplay extends LitElement implements Layer { > ${this.renderButton({ content: html` - Events - ${this.newEvents} + + ${translateText("events_display.events")} + ${this.newEvents > 0 + ? html`${this.newEvents}` + : ""} + `, onClick: this.toggleHidden, className: - "text-white cursor-pointer pointer-events-auto w-fit p-2 lg:p-3 rounded-lg bg-gray-800/70 backdrop-blur-sm", + "text-white cursor-pointer pointer-events-auto w-fit p-2 lg:p-3 min-[1200px]:rounded-lg sm:rounded-tl-lg bg-gray-800/70 backdrop-blur-xs", })}
` @@ -809,9 +811,9 @@ export class EventsDisplay extends LitElement implements Layer { >
-
+
${this.renderToggleButton( swordIcon, @@ -857,7 +859,7 @@ export class EventsDisplay extends LitElement implements Layer { >
${filteredEvents.map( @@ -896,7 +898,7 @@ export class EventsDisplay extends LitElement implements Layer { ${event.buttons.map( (btn) => html`