Fix storing scenario in local storage

This commit is contained in:
2024-05-30 18:06:46 -07:00
parent 56c8411920
commit 85f5abb4e2
4 changed files with 21 additions and 17 deletions

View File

@@ -6,17 +6,17 @@ export function init() {
selectEl = mapDialog.querySelector('select'),
confirmBtn = mapDialog.querySelector('#confirm-btn');
Object.keys(scenarios).forEach(scenario => {
Object.keys(scenarios).reverse().forEach(scenario => {
const option = document.createElement('option');
option.setAttribute('value', scenario);
option.textContent = scenarios[scenario];
selectEl.appendChild(option);
option.textContent = scenarios[scenario].title;
selectEl.prepend(option);
});
return {
selectCurrentOptionOnPageLoad() {
mapDialog.querySelectorAll('option').forEach(option =>
option.value === localStorage.getItem('map') && (option.selected = true)
mapDialog.querySelectorAll('option').forEach((option, index) =>
option.selected = option.value === localStorage.getItem('map') || index === 0
);
return this;
@@ -43,8 +43,7 @@ export function init() {
e.preventDefault();
localStorage.removeItem('pan-zoom');
localStorage.setItem('map', selectEl.value);
// loadFn(`assets/images/${selectEl.value}.svg`);
loadFn(selectEl.value);
loadFn(scenarios[selectEl.value]?.hashed || `assets/images/${selectEl.value}.svg`);
mapDialog.close();
});
}

View File

@@ -3,7 +3,16 @@ 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',
'scenario-side_show': {
hashed: sideShow,
title: 'BattleTroops Scenario 1: Side Show',
},
'scenario-dragon_hunting': {
hashed: dragonHunting,
title: 'BattleTroops Scenario 2: Dragon Hunting',
},
'scenario-race_against_time': {
hashed: raceAgainstTime,
title: 'BattleTroops Scenario 3: Race Against Time',
},
}