diff --git a/src/app/game/game-board/components/tower-info-panel/tower-info-panel.component.html b/src/app/game/game-board/components/tower-info-panel/tower-info-panel.component.html
index 580c480e..2eb0aed1 100644
--- a/src/app/game/game-board/components/tower-info-panel/tower-info-panel.component.html
+++ b/src/app/game/game-board/components/tower-info-panel/tower-info-panel.component.html
@@ -41,6 +41,7 @@
class="upgrade-btn"
*ngIf="towerInfo!.level < MAX_TOWER_LEVEL"
[class.unaffordable]="gold < upgradeCost"
+ [disabled]="gold < upgradeCost"
(click)="upgrade.emit()"
aria-label="Upgrade tower">
Upgrade ({{ upgradeCost }}g) 0"> +{{ upgradePercent }}%
diff --git a/src/app/game/game-board/components/tower-info-panel/tower-info-panel.component.spec.ts b/src/app/game/game-board/components/tower-info-panel/tower-info-panel.component.spec.ts
index 4f188ca7..760fc5b7 100644
--- a/src/app/game/game-board/components/tower-info-panel/tower-info-panel.component.spec.ts
+++ b/src/app/game/game-board/components/tower-info-panel/tower-info-panel.component.spec.ts
@@ -142,6 +142,24 @@ describe('TowerInfoPanelComponent', () => {
expect(btn.classList.contains('unaffordable')).toBeTrue();
});
+ it('should disable the upgrade button when gold is less than upgrade cost', () => {
+ component.towerInfo = makeTower({ level: 1 });
+ component.upgradeCost = 200;
+ component.gold = 50;
+ fixture.detectChanges();
+ const btn: HTMLButtonElement = fixture.nativeElement.querySelector('.upgrade-btn');
+ expect(btn.disabled).toBeTrue();
+ });
+
+ it('should not disable the upgrade button when gold meets the upgrade cost', () => {
+ component.towerInfo = makeTower({ level: 1 });
+ component.upgradeCost = 75;
+ component.gold = 75;
+ fixture.detectChanges();
+ const btn: HTMLButtonElement = fixture.nativeElement.querySelector('.upgrade-btn');
+ expect(btn.disabled).toBeFalse();
+ });
+
it('should emit upgrade event when upgrade button clicked', () => {
component.towerInfo = makeTower({ level: 1 });
fixture.detectChanges();
diff --git a/src/app/game/game-board/game-board.component.html b/src/app/game/game-board/game-board.component.html
index 5dc513a9..0ee2ca64 100644
--- a/src/app/game/game-board/game-board.component.html
+++ b/src/app/game/game-board/game-board.component.html
@@ -29,7 +29,8 @@
type="button"
class="hud-relic-peek__item"
[attr.title]="relic.name + ' — ' + relic.description"
- [attr.aria-label]="relic.name + ': ' + relic.description">
+ [attr.aria-label]="relic.name + ': ' + relic.description"
+ (click)="togglePause()">
{{ relic.name.charAt(0) }}
@@ -43,7 +44,8 @@
type="button"
class="hud-ascension-peek__item"
[attr.title]="mod.label + ' — ' + mod.description"
- [attr.aria-label]="mod.label + ': ' + mod.description">
+ [attr.aria-label]="mod.label + ': ' + mod.description"
+ (click)="togglePause()">
{{ mod.label.charAt(0) }}
@@ -166,16 +168,26 @@
+
+
+
+
Click a tile to target
+
Right-click to cancel
+
+
+
+