onwards
Version:
<p align="center"> <img alt='magoon-face' src='https://user-images.githubusercontent.com/14088342/230068165-5e013e79-2ff8-4fb5-a1f0-fd5b13e028a9.png' width='250'/> <h1 align="center">ONWARDS</h1> <p align="center">👏 Super simple shareable portforwa
57 lines (56 loc) • 1.91 kB
JavaScript
;
exports.__esModule = true;
exports.useNavigation = void 0;
var ink_1 = require("ink");
var jotai_1 = require("jotai");
var nav_atom_1 = require("../state/nav-atom");
var return_atom_1 = require("../state/return-atom");
var isUp = function (_a) {
var input = _a.input, key = _a.key;
return key.upArrow || input === "k" || input === "w";
};
var isRight = function (_a) {
var input = _a.input, key = _a.key;
return key.rightArrow || input === "l" || input === "d";
};
var isDown = function (_a) {
var input = _a.input, key = _a.key;
return key.downArrow || input === "j" || input === "s";
};
var isLeft = function (_a) {
var input = _a.input, key = _a.key;
return key.leftArrow || input === "h" || input === "a";
};
var isReturn = function (_a) {
var key = _a.key;
return key["return"];
};
var useNavigation = function () {
var exit = (0, ink_1.useApp)().exit;
var _a = (0, jotai_1.useAtom)(nav_atom_1.navUpAtom), navUp = _a[1];
var _b = (0, jotai_1.useAtom)(nav_atom_1.navRightAtom), navRight = _b[1];
var _c = (0, jotai_1.useAtom)(nav_atom_1.navDownAtom), navDown = _c[1];
var _d = (0, jotai_1.useAtom)(nav_atom_1.navLeftAtom), navLeft = _d[1];
var event = (0, jotai_1.useAtom)(return_atom_1.returnAtom)[0];
(0, ink_1.useInput)(function (input, key) {
if (input === "q") {
exit();
}
if (isUp({ input: input, key: key })) {
navUp();
}
if (isRight({ input: input, key: key })) {
navRight();
}
if (isDown({ input: input, key: key })) {
navDown();
}
if (isLeft({ input: input, key: key })) {
navLeft();
}
if (isReturn({ key: key })) {
event.onReturn();
}
});
};
exports.useNavigation = useNavigation;