UNPKG

pkg-tasks

Version:
65 lines (53 loc) 1.49 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.StatusComponent = void 0; var _ink = require("ink"); var _inkSpinner = _interopRequireDefault(require("ink-spinner")); var _spaceStr = require("../spaceStr"); class StatusComponent extends _ink.Component { constructor(props, context) { super(props, context); this.space = _spaceStr.spaceStr.bind({ store: props.store }); } componentDidMount() { const forceUpdate = () => { this.setState({ random: Math.random() }); }; this.off = this.props.events.onAnyEmitted({ "store.phase": forceUpdate, "store.space": forceUpdate }); } componentWillUnmount() { this.off(); } render() { const { store } = this.props; const phases = store.get("phase"); const taskCount = store.get("taskCount"); return (0, _ink.h)("div", null, Object.keys(phases).map(phase => { const { count, title } = phases[phase]; return (0, _ink.h)("div", { key: phase }, taskCount === count ? (0, _ink.h)(_ink.Text, { green: true }, "✓") : (0, _ink.h)(_inkSpinner.default, { yellow: true }), " ", this.space("phase", title), `(${count} of ${taskCount})`); })); } } exports.StatusComponent = StatusComponent; //# sourceMappingURL=StatusComponent.js.map