X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Ftracker%2FToggleIcon.js;h=0d8afa4068440afcd962fe3d5fe9c971506d2f32;hb=e0925d5b97ab0804222195eb4231c63b33703942;hp=6de9f63632652dea775d0eca42259e5f15d0425d;hpb=1a3d040147c19d24b8d02ec8e594eb06b8efc1ff;p=alttp.git
diff --git a/resources/js/components/tracker/ToggleIcon.js b/resources/js/components/tracker/ToggleIcon.js
index 6de9f63..0d8afa4 100644
--- a/resources/js/components/tracker/ToggleIcon.js
+++ b/resources/js/components/tracker/ToggleIcon.js
@@ -8,6 +8,7 @@ import {
getDungeonBoss,
getDungeonRemainingItems,
getDungeonPrize,
+ getGTBoss,
hasDungeonBoss,
hasDungeonPrize,
highestActive,
@@ -23,6 +24,7 @@ const ToggleIcon = ({ controller, className, icons, svg }) => {
const activeController = controller || ToggleIcon.nullController;
const active = activeController.getActive(state, icons);
const defaultIcon = activeController.getDefault(state, icons);
+ const icon = active || defaultIcon || icons[0];
const classNames = ['toggle-icon'];
if (active) {
classNames.push('active');
@@ -35,6 +37,7 @@ const ToggleIcon = ({ controller, className, icons, svg }) => {
if (svg) {
return {
activeController.handlePrimary(state, setManualState, icons);
e.preventDefault();
@@ -46,7 +49,7 @@ const ToggleIcon = ({ controller, className, icons, svg }) => {
e.stopPropagation();
}}
>
-
+
;
}
return ({
handleSecondary: previousString(`${dungeon.id}-prize`),
});
+ToggleIcon.gtBossController = (which) => ({
+ getActive: (state) => getGTBoss(state, which),
+ getDefault: (state) => getGTBoss(state, which),
+ handlePrimary: nextString(`gt-${which}-boss`),
+ handleSecondary: previousString(`gt-${which}-boss`),
+});
+
ToggleIcon.medallionController = {
getActive: highestActive,
getDefault: firstIcon,
@@ -257,6 +267,13 @@ ToggleIcon.nullController = {
handleSecondary: doNothing,
};
+ToggleIcon.pinController = (pin, removePin) => ({
+ getActive: firstIcon,
+ getDefault: firstIcon,
+ handlePrimary: doNothing,
+ handleSecondary: () => removePin(pin),
+});
+
ToggleIcon.simpleController = {
getActive: highestActive,
getDefault: firstIcon,