in karavan-web/karavan-app/src/main/webui/src/project/pipeline/ProjectStatus.tsx [265:286]
getPipelineState(env: string) {
const status = this.state.pipelineStatus;
const pipeline = status?.pipelineName;
const pipelineResult = status?.result;
let lastPipelineRunTime = 0;
if (status?.startTime) {
const start: Date = new Date(status.startTime);
const finish: Date = status.completionTime !== undefined && status.completionTime !== null ? new Date(status.completionTime) : new Date();
lastPipelineRunTime = Math.round((finish.getTime() - start.getTime()) / 1000);
}
const showTime = lastPipelineRunTime && lastPipelineRunTime > 0;
const isRunning = pipelineResult === 'Running';
const isFailed = pipelineResult === 'Failed';
const isSucceeded = pipelineResult === 'Succeeded';
const color = isSucceeded ? "green" : (isFailed ? "red" : (isRunning ? "blue" : "grey"))
const icon = isSucceeded ? <UpIcon className="not-spinner"/> : <DownIcon className="not-spinner"/>
return (
<Flex justifyContent={{default: "justifyContentSpaceBetween"}} alignItems={{default: "alignItemsCenter"}}>
<FlexItem>
<Tooltip content={pipelineResult} position={"right"}>
<LabelGroup numLabels={2}>
<Label icon={isRunning ? <Spinner isSVG diameter="16px" className="spinner"/> : icon} color={color}>