fix remaining typescript errors

This commit is contained in:
2023-03-25 02:07:05 +01:00
parent 31bf1d8b8f
commit 247a87b41c
6 changed files with 23 additions and 9 deletions
+7
View File
@@ -3,10 +3,13 @@ export class Guild {
level: number;
displayUpgradeCost: number|string;
upgradeCost: number|null = null;
constructor(level: number, gold: number) {
this.gold = gold;
this.level = level;
this.displayUpgradeCost = this.getUpgradeCost() ?? "Max level";
this.upgradeCost = this.getUpgradeCost();
}
upgrade(): void {
@@ -27,6 +30,10 @@ export class Guild {
getUpgradeCost(): number|null {
return upgradeCosts[this.level] ?? null;
}
isMaxLevel(): boolean {
return this.level >= 7;
}
}
const upgradeCosts = {
+8 -2
View File
@@ -48,17 +48,23 @@ export default defineComponent({
name: "AdventurerMiniComponent",
components: {AdventurerTile},
emits: [ "freeAdventurer", "hireAdventurer" ],
data() {
data: () => {
return {
selection: false,
}
},
props: {
adventurer: {
type: Object as PropType<Adventurer>,
type: Object as PropType<Adventurer|any>,
default() {
return {} as Adventurer;
},
},
allAdventurers: {
type: Object as PropType<{[key: string]: Adventurer}>,
default() {
return {} as {[key: string]: Adventurer};
},
},
},
methods: {
+2 -2
View File
@@ -26,7 +26,7 @@
</button>
</div>
<div class="progressWrap">
<span>{{ this.progressPercentage }}</span>
<span>{{ progressPercentage }}</span>
<span class="progress"></span>
</div>
@@ -50,7 +50,7 @@ export default defineComponent({
components: {AdventurerComponent},
props: {
missive: {
type: Object as PropType<Quest>,
type: Object as PropType<Quest|any>,
default() {
return new Quest("0", QuestRank.F, "", "", 1, 0, 0) as Quest;
},
+2 -2
View File
@@ -14,7 +14,7 @@
</span>
<span
title="Dismiss"
:class="{disabled: Object.keys(this.adventurers).length <= 0}"
:class="{disabled: Object.keys(adventurers).length <= 0}"
@click="dismissAdventurer()"
>
@@ -96,7 +96,7 @@ export default defineComponent({
window.localStorage.setItem("currentlyForHire", adventurer.id);
},
hireAdventurer(adventurer: Adventurer): void {
hireAdventurer(adventurer: Adventurer|any): void {
this.adventurers[adventurer.id] = adventurer;
this.currentlyForHire = null;
window.localStorage.removeItem("currentlyForHire");
+1 -1
View File
@@ -10,7 +10,7 @@
</section>
<section class="upgrade">
<p>Guild level: {{ guild.level }}</p>
<button :disabled="guild.gold < guild.getUpgradeCost()" @click="guild.upgrade()">
<button :disabled="guild.upgradeCost ? guild.gold < guild.upgradeCost : true" @click="guild.upgrade()">
<span>Upgrade guild level</span><br>
<span>({{ guild.displayUpgradeCost }})</span>
</button>
+3 -2
View File
@@ -55,7 +55,7 @@
:key="key"
:adventurers="adventurers"
:missive="missive"
@click="finalizeQuest(missive)"
@click="finalizeQuest((missive))"
/>
</section>
</div>
@@ -125,7 +125,8 @@ export default defineComponent({
},
emits: [ 'finalizeQuest', 'wipeSave', 'recruitActionTaken'],
methods: {
finalizeQuest(quest: Quest) {
// This is a workaround for vue not reporting Quest as Quest in v-for
finalizeQuest(quest: any|Quest): void {
if (quest.progressPoints < quest.maxProgress) return;
this.$emit('finalizeQuest', quest)
},