@randy.tarampi/jsx
Version:
Some common JSX components for www.randytarampi.ca
36 lines (33 loc) • 1.42 kB
JavaScript
import { defaultBearComponents } from "@randy.tarampi/js";
import { createAction } from "redux-actions";
import selectors from "../../data/selectors";
import onComponentClick from "./onComponentClick";
import updateEmoji from "./updateEmoji";
export var HANDLE_BEAR_COMPONENT_CLICK = "HANDLE_BEAR_COMPONENT_CLICK";
export var onBearComponentClickCreator = (emojiId, componentId, event) => (dispatch, getState) => {
dispatch(onComponentClick(emojiId, componentId, event));
var state = getState();
var emoji = selectors.getEmoji(state, emojiId);
var leftEye = ["components", "leftEye", "character"];
var rightEye = ["components", "rightEye", "character"];
var noseClickCount = ["components", "nose", "meta", "clicks"];
var noseClicks = emoji.getIn(noseClickCount) || 0;
dispatch(onBearComponentClick({
emojiId,
componentId,
noseClicks
}));
switch (noseClicks % 3) {
case 1:
dispatch(updateEmoji(emoji.setIn(leftEye, "ಠಿ").setIn(rightEye, "ಠ")));
break;
case 2:
dispatch(updateEmoji(emoji.setIn(leftEye, "ಠ").setIn(rightEye, "ಠ")));
break;
case 0:
dispatch(updateEmoji(emoji.setIn(leftEye, defaultBearComponents.leftEye.character).setIn(rightEye, defaultBearComponents.rightEye.character)));
break;
}
};
export var onBearComponentClick = createAction(HANDLE_BEAR_COMPONENT_CLICK);
export default onBearComponentClickCreator;