@randy.tarampi/jsx
Version:
Some common JSX components for www.randytarampi.ca
67 lines (57 loc) • 2.81 kB
JavaScript
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;