import React, { useState } from "react"; import { formatNumber, convertTimeMsToTimeElapsedString, } from "../../../utils/StringHelperFunctions"; import { ActionTypes } from "../data/ActionTypes"; import { createProgressBarText } from "../../../utils/helpers/createProgressBarText"; import { stealthIcon, killIcon } from "../data/Icons"; import { createPopup } from "../../ui/React/createPopup"; import { TeamSizePopup } from "./TeamSizePopup"; import { IBladeburner } from "../IBladeburner"; import { IPlayer } from "../../PersonObjects/IPlayer"; import { SuccessChance } from "./SuccessChance"; import { CopyableText } from "../../ui/React/CopyableText"; interface IProps { bladeburner: IBladeburner; player: IPlayer; action: any; } export function BlackOpElem(props: IProps): React.ReactElement { const setRerender = useState(false)[1]; const isCompleted = props.bladeburner.blackops[props.action.name] != null; if (isCompleted) { return (
{createProgressBarText({ progress: computedActionTimeCurrent / props.bladeburner.actionTimeToComplete, })}
) : ( <> Start Set Team Size (Curr Size: {formatNumber(props.action.teamCount, 0)}) > )}Required Rank: {formatNumber(props.action.reqdRank, 0)}
Estimated Success Chance:{" "}> ); }{" "} {props.action.isStealth ? stealthIcon : <>>} {props.action.isKill ? killIcon : <>>}
Time Required: {convertTimeMsToTimeElapsedString(actionTime * 1000)}