diff --git a/client/public/stylesheets/olympus.css b/client/public/stylesheets/olympus.css index cdd1cacd..44427346 100644 --- a/client/public/stylesheets/olympus.css +++ b/client/public/stylesheets/olympus.css @@ -773,4 +773,9 @@ body[data-hide-naval] #unit-visibility-control-naval { #reaction-to-threat-buttons-container button[title="Abort"].selected::before { background-image: url( "/themes/olympus/images/icons_roe_stop_dark.svg"); +} + +.map-source-dropdown::before { + content: url("/themes/olympus/images/map_source.svg"); + margin-right: 10px; } \ No newline at end of file diff --git a/client/public/themes/olympus/images/map_source.svg b/client/public/themes/olympus/images/map_source.svg new file mode 100644 index 00000000..977057cc --- /dev/null +++ b/client/public/themes/olympus/images/map_source.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/client/src/map/map.ts b/client/src/map/map.ts index 0ebd8526..daf94fa3 100644 --- a/client/src/map/map.ts +++ b/client/src/map/map.ts @@ -4,6 +4,7 @@ import { BoxSelect } from "./boxselect"; import { MapContextMenu, SpawnOptions } from "../controls/mapcontextmenu"; import { UnitContextMenu } from "../controls/unitcontextmenu"; import { AirbaseContextMenu } from "../controls/airbasecontextmenu"; +import { Dropdown } from "../controls/dropdown"; export const IDLE = "IDLE"; export const MOVE_UNIT = "MOVE_UNIT"; @@ -21,6 +22,8 @@ export class Map extends L.Map { #unitContextMenu: UnitContextMenu = new UnitContextMenu("unit-contextmenu"); #airbaseContextMenu: AirbaseContextMenu = new AirbaseContextMenu("airbase-contextmenu"); + #mapSourceDropdown: Dropdown; + constructor(ID: string) { /* Init the leaflet map */ //@ts-ignore @@ -40,6 +43,8 @@ export class Map extends L.Map { this.on('mousedown', (e: any) => this.#onMouseDown(e)); this.on('mouseup', (e: any) => this.#onMouseUp(e)); this.on('mousemove', (e: any) => this.#onMouseMove(e)); + + this.#mapSourceDropdown = new Dropdown("map-type", (layerName: string) => this.setLayer(layerName), this.getLayers()) } setLayer(layerName: string) { diff --git a/client/views/dialogs.ejs b/client/views/dialogs.ejs index 2a193d95..d3204081 100644 --- a/client/views/dialogs.ejs +++ b/client/views/dialogs.ejs @@ -1,4 +1,4 @@ -