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,