UNPKG

@randy.tarampi/jsx

Version:

Some common JSX components for www.randytarampi.ca

67 lines (57 loc) 2.81 kB
import { createAction } from "redux-actions"; import selectors from "../../data/selectors"; import onComponentClick from "./onComponentClick"; import updateEmoji from "./updateEmoji"; export var HANDLE_HELLO_BEAR_COMPONENT_CLICK = "HANDLE_HELLO_BEAR_COMPONENT_CLICK"; export var onHelloBearComponentClickCreator = (emojiId, componentId, event) => (dispatch, getState) => { dispatch(onComponentClick(emojiId, componentId, event)); var state = getState(); var emoji = selectors.getEmoji(state, emojiId); var rightLeaningLeftArm = ["components", "rightLeaningLeftArm", "character"]; var leftEye = ["components", "leftEye", "character"]; var rightEye = ["components", "rightEye", "character"]; var rightLeaningRightArm = ["components", "rightLeaningRightArm", "character"]; var rightAction = ["components", "rightAction", "character"]; var noseClickCount = ["components", "nose", "meta", "clicks"]; var noseClicks = emoji.getIn(noseClickCount) || 0; dispatch(onHelloBearComponentClick({ emojiId, componentId, noseClicks })); switch (noseClicks % 38) { case 1: dispatch(updateEmoji(emoji.setIn(rightLeaningLeftArm, null).setIn(rightLeaningRightArm, null).setIn(rightAction, null))); break; case 2: dispatch(updateEmoji(emoji.setIn(leftEye, "ಠಿ").setIn(rightEye, "ಠ"))); break; case 3: dispatch(updateEmoji(emoji.setIn(leftEye, "ಠ").setIn(rightEye, "ಠ"))); break; case 5: dispatch(updateEmoji(emoji.setIn(leftEye, "◕").setIn(rightEye, "◕"))); break; case 8: dispatch(updateEmoji(emoji.setIn(leftEye, "°").setIn(rightEye, "°"))); break; case 13: dispatch(updateEmoji(emoji.setIn(rightLeaningLeftArm, null).setIn(leftEye, "–").setIn(rightEye, "–").setIn(rightLeaningRightArm, null).setIn(rightAction, null))); break; case 21: dispatch(updateEmoji(emoji.setIn(rightLeaningLeftArm, null).setIn(leftEye, " ͡°").setIn(rightEye, " ͡°").setIn(rightLeaningRightArm, null).setIn(rightAction, null))); break; case 34: dispatch(updateEmoji(emoji.setIn(rightLeaningRightArm, "ノ゛"))); window.open("mailto:rt@randytarampi.ca?subject=ʕ•ᴥ•ʔノ゛&body=I got to the end and couldn't stop clicking!", "_self"); break; case 35: window.open("mailto:rt@randytarampi.ca?subject=ʕಠᴥಠʔノ゛&body=These windows won't stop popping up!", "_self"); break; case 36: window.open("mailto:rt@randytarampi.ca?subject=Hey there…&body=I reached the end of the line and finally stopped at " + noseClicks + " clicks. What is this?", "_self"); break; } }; export var onHelloBearComponentClick = createAction(HANDLE_HELLO_BEAR_COMPONENT_CLICK); export default onHelloBearComponentClickCreator;