import React from "react"; import { Tooltip } from "@dndbeyond/character-common-components/es"; import { CharacterTheme, ProficiencyGroup, } from "@dndbeyond/character-rules-engine/es"; interface Props { proficiencyGroups: Array; onClick?: () => void; theme?: CharacterTheme; } export default class ProficiencyGroups extends React.PureComponent { handleClick = (evt: React.MouseEvent): void => { const { onClick } = this.props; if (onClick) { evt.stopPropagation(); evt.nativeEvent.stopImmediatePropagation(); onClick(); } }; render() { const { proficiencyGroups, theme } = this.props; return (
{proficiencyGroups.map((group) => { let itemsNode: React.ReactNode = "None"; if (group.modifierGroups.length) { itemsNode = ( {group.modifierGroups.map((modifierGroup, idx) => { let title: string = modifierGroup.sources.join(", "); return ( {modifierGroup.label} {modifierGroup.restriction ? ` (${modifierGroup.restriction})` : ""} {idx + 1 !== group.modifierGroups.length ? ", " : ""} ); })} ); } return (
{group.label}
{itemsNode}
); })}
); } }