split rewards into exports and bonuses

This commit is contained in:
badcold
2024-04-21 10:22:43 +02:00
parent f9b1507911
commit 1e7ae85866

View File

@@ -2,6 +2,8 @@ let contracts;
let costs = ["sheep", "cow", "wool", "bread", "cheese", "whisky"] let costs = ["sheep", "cow", "wool", "bread", "cheese", "whisky"]
let rewards = ["cotton", "tobacco", "sugarCane", "upgrade", "expansion", "gold", "hops"] let rewards = ["cotton", "tobacco", "sugarCane", "upgrade", "expansion", "gold", "hops"]
let exports = ["cotton", "tobacco", "sugarCane"]
let bonuses = ["upgrade", "expansion", "gold", "hops"]
function init() { function init() {
buildHeader(); buildHeader();
@@ -36,12 +38,22 @@ function init() {
function buildHeader() { function buildHeader() {
document.getElementById("header").innerHTML = ` document.getElementById("header").innerHTML = `
<div id="costs" class="filters"> <div id="costs" class="filters">
<button type="button" id="costsNone" onclick="setAllCostsCheckboxes(false)">None</button>
<button type="button" id="costsAll" onclick="setAllCostsCheckboxes(true)">All</button>
<span>Costs:</span> <span>Costs:</span>
${buildCheckBoxes(costs)} ${buildCheckBoxes(costs)}
</div> </div>
<div id="rewards" class="filters"> <div id="exports" class="filters">
<span>Rewards:</span> <button type="button" id="rewardsNone" onclick="setAllExportsCheckboxes(false)">None</button>
${buildCheckBoxes(rewards)} <button type="button" id="rewardsAll" onclick="setAllExportsCheckboxes(true)">All</button>
<span>Exports:</span>
${buildCheckBoxes(exports)}
</div>
<div id="bonuses" class="filters">
<button type="button" id="bonusesNone" onclick="setAllBonusesCheckboxes(false)">None</button>
<button type="button" id="bonusesAll" onclick="setAllBonusesCheckboxes(true)">All</button>
<span>Bonus:</span>
${buildCheckBoxes(bonuses)}
</div> </div>
<div id="other" class="filters"> <div id="other" class="filters">
@@ -51,6 +63,30 @@ function buildHeader() {
`; `;
} }
function setAllCostsCheckboxes(value: boolean) {
for (const filter of costs) {
let checkBox = document.getElementById(filter) as HTMLInputElement;
checkBox.checked = value;
}
update();
}
function setAllExportsCheckboxes(value: boolean) {
for (const filter of exports) {
let checkBox = document.getElementById(filter) as HTMLInputElement;
checkBox.checked = value;
}
update();
}
function setAllBonusesCheckboxes(value: boolean) {
for (const filter of bonuses) {
let checkBox = document.getElementById(filter) as HTMLInputElement;
checkBox.checked = value;
}
update();
}
function buildCheckBoxes(filters: string[]): string { function buildCheckBoxes(filters: string[]): string {
let result = ""; let result = "";
for (const filter of filters) { for (const filter of filters) {