proc-gen equipment drops from monsters can be picked up
[sketchy-heroes.git] / src / public / app / dom.ts
1 import $ from 'jquery';
2
3 export function $fightButton() {
4   return $('#fight-action');
5 }
6
7 export function $exploreButton() {
8   return $('#explore-action');
9 }
10
11 export function $pickItemButton() {
12   return $('#take-world-drop');
13 }
14
15 export function outOfStamina() {
16   // only disable buttons, don't hide them
17   $fightButton().addClass('disabled').prop('disabled', true);
18   $exploreButton().addClass('disabled').prop('disabled', true);
19 }
20
21 export function hasStaminaAgain() {
22   if(!$fightButton().hasClass('hidden'))
23     $fightButton().removeClass('disabled').prop('disabled', false);
24
25   if(!$exploreButton().hasClass('hidden'))
26     $exploreButton().removeClass('disabled').prop('disabled', false);
27 }
28
29 export function enableFightButton(attrs: Record<'fightId', string>) {
30   $fightButton().prop('disabled', false)
31     .removeClass(['disabled', 'hidden'])
32     .attr('data-fight-id', attrs.fightId);
33 }
34
35 export function disableFightButton() {
36   $fightButton().prop('disabled', true)
37     .addClass(['disabled', 'hidden'])
38     .attr('data-fight-id', 'unset');
39 }
40
41 export function enablePickItemButton(attrs: Record<'itemId', string>, itemName: string) {
42   $pickItemButton().prop('disabled', false)
43     .removeClass(['disabled', 'hidden'])
44     .attr('data-drop-id', attrs.itemId.toString())
45
46   $pickItemButton().html(`Take ${itemName}`);
47 }
48
49 export function disablePickItemButton() {
50   $pickItemButton().prop('disabled', true)
51     .addClass(['disabled', 'hidden'])
52     .attr('data-fight-id', 'unset');
53 }
54
55 export function enableExploreButton() {
56   $exploreButton().prop('disabled', false)
57     .removeClass(['disabled', 'hidden']);
58 }
59
60 export function disableExploreButton() {
61   $exploreButton().prop('disabled', true)
62     .addClass(['disabled', 'hidden']);
63 }