about
Version:
Your about page in the terminal
48 lines • 2.01 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const ink_1 = require("ink");
console.log("This app is still WIP!\n\n");
// testing dummies
const hexrcs_json_1 = __importDefault(require("./profiles/hexrcs.json"));
function main() {
const args = process.argv.slice(2);
let root;
if (args.find(x => x === "-h" || x === "--help")) {
if (args.length === 1) {
root = react_1.default.createElement(Help, null);
}
else {
root = react_1.default.createElement(Invalid, null);
}
}
else if (args.length === 0) {
root = react_1.default.createElement(Help, null);
}
else {
root = react_1.default.createElement(App, { profile: hexrcs_json_1.default });
}
ink_1.render(root);
}
const Help = () => react_1.default.createElement(ink_1.Text, null, "Help page");
const Invalid = () => react_1.default.createElement(ink_1.Text, null, "Invalid arguments!");
const App = ({ profile }) => {
// TODO: the list should be generated
// also should we use real names (can be long and space separated) or use handles?
// shouldn't be a problem when later we have a server and whatnot
var _a;
return (react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
react_1.default.createElement(ink_1.Text, { bold: true }, profile.name),
react_1.default.createElement(ink_1.Text, null, " "),
react_1.default.createElement(ink_1.Text, null, profile.about),
react_1.default.createElement(ink_1.Text, null, " "), (_a = profile.links) === null || _a === void 0 ? void 0 :
_a.map((x, i) => (react_1.default.createElement(ink_1.Text, { key: i },
"- ",
x.label)))));
};
main();
//# sourceMappingURL=index.js.map