import React from "react"; import { CopyableText } from "../../ui/React/CopyableText"; import { formatNumber } from "../../utils/StringHelperFunctions"; import { IBladeburner } from "../IBladeburner"; interface IProps { skill: any; bladeburner: IBladeburner; onUpgrade: () => void; } export function SkillElem(props: IProps): React.ReactElement { const skillName = props.skill.name; let currentLevel = 0; if (props.bladeburner.skills[skillName] && !isNaN(props.bladeburner.skills[skillName])) { currentLevel = props.bladeburner.skills[skillName]; } const pointCost = props.skill.calculateCost(currentLevel); const canLevel = props.bladeburner.skillPoints >= pointCost; const maxLvl = props.skill.maxLvl ? currentLevel >= props.skill.maxLvl : false; function onClick(): void { if (props.bladeburner.skillPoints < pointCost) return; props.bladeburner.skillPoints -= pointCost; props.bladeburner.upgradeSkill(props.skill); props.onUpgrade(); } return ( <>

Level

Level: {currentLevel}

{maxLvl ? (

MAX LEVEL

) : (

Skill Points required: {formatNumber(pointCost, 0)}

)}

); }