UNPKG

@ipp/cli

Version:

An image build orchestrator for the modern web

40 lines (39 loc) 1.63 kB
"use strict"; /** * Image Processing Pipeline - Copyright (c) Marcus Cemes * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Status = void 0; const figures_1 = __importDefault(require("figures")); const ink_1 = require("ink"); const ink_spinner_1 = __importDefault(require("ink-spinner")); const react_1 = __importDefault(require("react")); const state_1 = require("../../lib/state"); const constants_1 = require("./constants"); const hooks_1 = require("./hooks"); const statusMap = { [state_1.Status.READY]: ["green", "Ready"], [state_1.Status.PROCESSING]: ["cyan", "Processing", react_1.default.createElement(ink_spinner_1.default, { key: "spin" })], [state_1.Status.COMPLETE]: ["green", "Complete"], [state_1.Status.ERROR]: ["red", "Error"], [state_1.Status.INTERRUPT]: [constants_1.ORANGE, "Interrupted"], }; const Status = () => { const status = (0, hooks_1.useAppStateValue)((state) => state.status); if (status === null) return null; const currentStatus = statusMap[status]; const symbol = currentStatus[2] || figures_1.default.pointer; return (react_1.default.createElement(ink_1.Box, { marginTop: 1 }, react_1.default.createElement(ink_1.Text, { color: currentStatus[0] }, symbol, " ", currentStatus[1]))); }; exports.Status = Status;