X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Ftracker%2FToggleIcon.js;h=d3e3960fa4bd00795561344ddc493e40998e9c32;hb=481e603a0ca94bb068d1939c7feccfb07264b5a0;hp=98ae93240d0656087f0dd17719c9af89a9b80da1;hpb=60fd718e3b558eaea02a8d64bd6aac74be91f782;p=alttp.git diff --git a/resources/js/components/tracker/ToggleIcon.js b/resources/js/components/tracker/ToggleIcon.js index 98ae932..d3e3960 100644 --- a/resources/js/components/tracker/ToggleIcon.js +++ b/resources/js/components/tracker/ToggleIcon.js @@ -19,11 +19,12 @@ import { } from '../../helpers/tracker'; import { useTracker } from '../../hooks/tracker'; -const ToggleIcon = ({ controller, className, icons, svg }) => { +const ToggleIcon = ({ controller, className, icons, svg, title, transform }) => { const { setManualState, state } = useTracker(); 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'); @@ -36,6 +37,7 @@ const ToggleIcon = ({ controller, className, icons, svg }) => { if (svg) { return { activeController.handlePrimary(state, setManualState, icons); e.preventDefault(); @@ -46,8 +48,9 @@ const ToggleIcon = ({ controller, className, icons, svg }) => { e.preventDefault(); e.stopPropagation(); }} + transform={transform} > - + ; } return { e.stopPropagation(); }} > - + ; }; @@ -265,6 +268,13 @@ ToggleIcon.nullController = { handleSecondary: doNothing, }; +ToggleIcon.pinController = (pin, removePin) => ({ + getActive: firstIcon, + getDefault: firstIcon, + handlePrimary: doNothing, + handleSecondary: () => removePin(pin), +}); + ToggleIcon.simpleController = { getActive: highestActive, getDefault: firstIcon, @@ -295,6 +305,8 @@ ToggleIcon.propTypes = { }), icons: PropTypes.arrayOf(PropTypes.string), svg: PropTypes.bool, + title: PropTypes.string, + transform: PropTypes.string, }; export default ToggleIcon;