Web Dev Solutions

Catalin Mititiuc

From 56c8411920744939aff26b3d874f6560b95f6ba7 Mon Sep 17 00:00:00 2001 From: Catalin Mititiuc Date: Thu, 30 May 2024 17:14:52 -0700 Subject: Make scenarios list in modal dynamic --- src/modules/map_select_dialog.js | 21 ++++++++------------- src/modules/scenarios.js | 9 +++++++++ 2 files changed, 17 insertions(+), 13 deletions(-) create mode 100644 src/modules/scenarios.js diff --git a/src/modules/map_select_dialog.js b/src/modules/map_select_dialog.js index bbc2374..24215f6 100644 --- a/src/modules/map_select_dialog.js +++ b/src/modules/map_select_dialog.js @@ -1,6 +1,4 @@ -import sideShow from './assets/images/scenario-side_show.svg'; -import dragonHunting from './assets/images/scenario-dragon_hunting.svg'; -// import raceAgainstTime from './assets/images/scenario-race_against_time.svg'; +import { scenarios } from './scenarios.js'; export function init() { const showButton = document.getElementById('show-dialog'), @@ -8,15 +6,12 @@ export function init() { selectEl = mapDialog.querySelector('select'), confirmBtn = mapDialog.querySelector('#confirm-btn'); - let option = document.createElement('option'); - option.setAttribute('value', sideShow); - option.textContent = 'BattleTroops Scenario 1: Side Show'; - selectEl.appendChild(option); - - option = document.createElement('option'); - option.setAttribute('value', dragonHunting); - option.textContent = 'BattleTroops Scenario 2: Dragon Hunting'; - selectEl.appendChild(option); + Object.keys(scenarios).forEach(scenario => { + const option = document.createElement('option'); + option.setAttribute('value', scenario); + option.textContent = scenarios[scenario]; + selectEl.appendChild(option); + }); return { selectCurrentOptionOnPageLoad() { @@ -56,4 +51,4 @@ export function init() { }; } -export const defaultMap = sideShow; +export const defaultMap = scenarios.sideShow; diff --git a/src/modules/scenarios.js b/src/modules/scenarios.js new file mode 100644 index 0000000..afe375f --- /dev/null +++ b/src/modules/scenarios.js @@ -0,0 +1,9 @@ +import sideShow from './assets/images/scenario-side_show.svg'; +import dragonHunting from './assets/images/scenario-dragon_hunting.svg'; +import raceAgainstTime from './assets/images/scenario-race_against_time.svg'; + +export const scenarios = { + [sideShow]: 'BattleTroops Scenario 1: Side Show', + [dragonHunting]: 'BattleTroops Scenario 2: Dragon Hunting', + [raceAgainstTime]: 'BattleTroops Scenario 3: Race Against Time', +} -- cgit v1.2.3