π File detail
components/tasks/ShellProgress.tsx
π§© .tsxπ 87 linesπΎ 7,004 bytesπ text
β Back to All Filesπ― Use case
This file lives under βcomponents/β, which covers shared React UI pieces. On the API surface it exposes TaskStatusText and ShellProgress β mainly types, interfaces, or factory objects. Dependencies touch React UI and src.
Generated from folder role, exports, dependency roots, and inline comments β not hand-reviewed for every path.
π§ Inline summary
import { c as _c } from "react/compiler-runtime"; import type { ReactNode } from 'react'; import React from 'react'; import { Text } from 'src/ink.js'; import type { TaskStatus } from 'src/Task.js';
π€ Exports (heuristic)
TaskStatusTextShellProgress
π External import roots
Package roots from from "β¦" (relative paths omitted).
reactsrc
π₯οΈ Source preview
import { c as _c } from "react/compiler-runtime";
import type { ReactNode } from 'react';
import React from 'react';
import { Text } from 'src/ink.js';
import type { TaskStatus } from 'src/Task.js';
import type { LocalShellTaskState } from 'src/tasks/LocalShellTask/guards.js';
import type { DeepImmutable } from 'src/types/utils.js';
type TaskStatusTextProps = {
status: TaskStatus;
label?: string;
suffix?: string;
};
export function TaskStatusText(t0) {
const $ = _c(4);
const {
status,
label,
suffix
} = t0;
const displayLabel = label ?? status;
const color = status === "completed" ? "success" : status === "failed" ? "error" : status === "killed" ? "warning" : undefined;
let t1;
if ($[0] !== color || $[1] !== displayLabel || $[2] !== suffix) {
t1 = <Text color={color} dimColor={true}>({displayLabel}{suffix})</Text>;
$[0] = color;
$[1] = displayLabel;
$[2] = suffix;
$[3] = t1;
} else {
t1 = $[3];
}
return t1;
}
export function ShellProgress(t0) {
const $ = _c(4);
const {
shell
} = t0;
switch (shell.status) {
case "completed":
{
let t1;
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
t1 = <TaskStatusText status="completed" label="done" />;
$[0] = t1;
} else {
t1 = $[0];
}
return t1;
}
case "failed":
{
let t1;
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
t1 = <TaskStatusText status="failed" label="error" />;
$[1] = t1;
} else {
t1 = $[1];
}
return t1;
}
case "killed":
{
let t1;
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
t1 = <TaskStatusText status="killed" label="stopped" />;
$[2] = t1;
} else {
t1 = $[2];
}
return t1;
}
case "running":
case "pending":
{
let t1;
if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
t1 = <TaskStatusText status="running" />;
$[3] = t1;
} else {
t1 = $[3];
}
return t1;
}
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdE5vZGUiLCJSZWFjdCIsIlRleHQiLCJUYXNrU3RhdHVzIiwiTG9jYWxTaGVsbFRhc2tTdGF0ZSIsIkRlZXBJbW11dGFibGUiLCJUYXNrU3RhdHVzVGV4dFByb3BzIiwic3RhdHVzIiwibGFiZWwiLCJzdWZmaXgiLCJUYXNrU3RhdHVzVGV4dCIsInQwIiwiJCIsIl9jIiwiZGlzcGxheUxhYmVsIiwiY29sb3IiLCJ1bmRlZmluZWQiLCJ0MSIsIlNoZWxsUHJvZ3Jlc3MiLCJzaGVsbCIsIlN5bWJvbCIsImZvciJdLCJzb3VyY2VzIjpbIlNoZWxsUHJvZ3Jlc3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnc3JjL2luay5qcydcbmltcG9ydCB0eXBlIHsgVGFza1N0YXR1cyB9IGZyb20gJ3NyYy9UYXNrLmpzJ1xuaW1wb3J0IHR5cGUgeyBMb2NhbFNoZWxsVGFza1N0YXRlIH0gZnJvbSAnc3JjL3Rhc2tzL0xvY2FsU2hlbGxUYXNrL2d1YXJkcy5qcydcbmltcG9ydCB0eXBlIHsgRGVlcEltbXV0YWJsZSB9IGZyb20gJ3NyYy90eXBlcy91dGlscy5qcydcblxudHlwZSBUYXNrU3RhdHVzVGV4dFByb3BzID0ge1xuICBzdGF0dXM6IFRhc2tTdGF0dXNcbiAgbGFiZWw/OiBzdHJpbmdcbiAgc3VmZml4Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYXNrU3RhdHVzVGV4dCh7XG4gIHN0YXR1cyxcbiAgbGFiZWwsXG4gIHN1ZmZpeCxcbn06IFRhc2tTdGF0dXNUZXh0UHJvcHMpOiBSZWFjdE5vZGUge1xuICBjb25zdCBkaXNwbGF5TGFiZWwgPSBsYWJlbCA/PyBzdGF0dXNcbiAgY29uc3QgY29sb3IgPVxuICAgIHN0YXR1cyA9PT0gJ2NvbXBsZXRlZCdcbiAgICAgID8gJ3N1Y2Nlc3MnXG4gICAgICA6IHN0YXR1cyA9PT0gJ2ZhaWxlZCdcbiAgICAgICAgPyAnZXJyb3InXG4gICAgICAgIDogc3RhdHVzID09PSAna2lsbGVkJ1xuICAgICAgICAgID8gJ3dhcm5pbmcnXG4gICAgICAgICAgOiB1bmRlZmluZWRcbiAgcmV0dXJuIChcbiAgICA8VGV4dCBjb2xvcj17Y29sb3J9IGRpbUNvbG9yPlxuICAgICAgKHtkaXNwbGF5TGFiZWx9XG4gICAgICB7c3VmZml4fSlcbiAgICA8L1RleHQ+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWxsUHJvZ3Jlc3Moe1xuICBzaGVsbCxcbn06IHtcbiAgc2hlbGw6IERlZXBJbW11dGFibGU8TG9jYWxTaGVsbFRhc2tTdGF0ZT5cbn0pOiBSZWFjdE5vZGUge1xuICBzd2l0Y2ggKHNoZWxsLnN0YXR1cykge1xuICAgIGNhc2UgJ2NvbXBsZXRlZCc6XG4gICAgICByZXR1cm4gPFRhc2tTdGF0dXNUZXh0IHN0YXR1cz1cImNvbXBsZXRlZFwiIGxhYmVsPVwiZG9uZVwiIC8+XG4gICAgY2FzZSAnZmFpbGVkJzpcbiAgICAgIHJldHVybiA8VGFza1N0YXR1c1RleHQgc3RhdHVzPVwiZmFpbGVkXCIgbGFiZWw9XCJlcnJvclwiIC8+XG4gICAgY2FzZSAna2lsbGVkJzpcbiAgICAgIHJldHVybiA8VGFza1N0YXR1c1RleHQgc3RhdHVzPVwia2lsbGVkXCIgbGFiZWw9XCJzdG9wcGVkXCIgLz5cbiAgICBjYXNlICdydW5uaW5nJzpcbiAgICBjYXNlICdwZW5kaW5nJzpcbiAgICAgIHJldHVybiA8VGFza1N0YXR1c1RleHQgc3RhdHVzPVwicnVubmluZ1wiIC8+XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLGNBQWNBLFNBQVMsUUFBUSxPQUFPO0FBQ3RDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVNDLElBQUksUUFBUSxZQUFZO0FBQ2pDLGNBQWNDLFVBQVUsUUFBUSxhQUFhO0FBQzdDLGNBQWNDLG1CQUFtQixRQUFRLG9DQUFvQztBQUM3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