UNPKG

about

Version:

Your about page in the terminal

48 lines 2.01 kB
#!/usr/bin/env node "use strict"; 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