From 4e468198398eab16bb2879f043bcf7ff1085115c Mon Sep 17 00:00:00 2001 From: dpassoni Date: Tue, 14 Mar 2023 17:13:11 +0100 Subject: [PATCH] Colors the spawn button correctly in the airbase spawn menu (not for neutral airbases, still needs fixing) --- client/public/stylesheets/contextmenus.css | 6 ++++-- client/src/controls/airbasecontextmenu.ts | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/client/public/stylesheets/contextmenus.css b/client/public/stylesheets/contextmenus.css index 5c41b05c..806b1dca 100644 --- a/client/public/stylesheets/contextmenus.css +++ b/client/public/stylesheets/contextmenus.css @@ -117,7 +117,8 @@ [data-active-coalition="blue"].unit-spawn-button:hover, [data-active-coalition="blue"].unit-spawn-button.is-open, [data-active-coalition="blue"]#active-coalition-label, -[data-active-coalition="blue"].deploy-unit-button +[data-active-coalition="blue"].deploy-unit-button, +[data-active-coalition="blue"]#spawn-airbase-aircraft-button { background-color: var(--primary-blue) } @@ -126,7 +127,8 @@ [data-active-coalition="red"].unit-spawn-button:hover, [data-active-coalition="red"].unit-spawn-button.is-open, [data-active-coalition="red"]#active-coalition-label, -[data-active-coalition="red"].deploy-unit-button +[data-active-coalition="red"].deploy-unit-button, +[data-active-coalition="red"]#spawn-airbase-aircraft-button { background-color: var(--primary-red) } diff --git a/client/src/controls/airbasecontextmenu.ts b/client/src/controls/airbasecontextmenu.ts index 2371dfe6..96cd7255 100644 --- a/client/src/controls/airbasecontextmenu.ts +++ b/client/src/controls/airbasecontextmenu.ts @@ -13,20 +13,21 @@ export class AirbaseContextMenu extends ContextMenu { setAirbase(airbase: Airbase) { this.#airbase = airbase; - this.setAirbaseName(airbase.getName()); - this.setAirbaseProperties(airbase.getProperties()); - this.setAirbaseParkings(airbase.getParkings()); + this.setName(airbase.getName()); + this.setProperties(airbase.getProperties()); + this.setParkings(airbase.getParkings()); + this.setCoalition(airbase.getCoalition()); this.enableLandButton(getUnitsManager().getSelectedUnitsType() === "Aircraft" && (getUnitsManager().getSelectedUnitsCoalition() === airbase.getCoalition() || airbase.getCoalition() === "neutral")) } - setAirbaseName(airbaseName: string) + setName(airbaseName: string) { var nameDiv = this.getContainer()?.querySelector("#airbase-name"); if (nameDiv != null) nameDiv.innerText = airbaseName; } - setAirbaseProperties(airbaseProperties: string[]) + setProperties(airbaseProperties: string[]) { this.getContainer()?.querySelector("#airbase-properties")?.replaceChildren(...airbaseProperties.map((property: string) => { var div = document.createElement("div"); @@ -35,7 +36,7 @@ export class AirbaseContextMenu extends ContextMenu { })); } - setAirbaseParkings(airbaseParkings: string[]) + setParkings(airbaseParkings: string[]) { this.getContainer()?.querySelector("#airbase-parking")?.replaceChildren(...airbaseParkings.map((parking: string) => { var div = document.createElement("div"); @@ -44,6 +45,11 @@ export class AirbaseContextMenu extends ContextMenu { })); } + setCoalition(coalition: string) + { + (this.getContainer()?.querySelector("#spawn-airbase-aircraft-button")).dataset.activeCoalition = coalition; + } + enableLandButton(enableLandButton: boolean) { this.getContainer()?.querySelector("#land-here-button")?.classList.toggle("hide", !enableLandButton);