import * as React from "react"; import { CharacterPreferences, CharClass, Constants, DecorationInfo, DecorationUtils, ExperienceInfo, Race, RuleData, } from "@dndbeyond/character-rules-engine/es"; import { DefaultCharacterName as DefaultName } from "~/constants"; import CharacterAvatar from "../CharacterAvatar"; import CharacterName from "../CharacterName"; import CharacterProgressionSummary from "../CharacterProgressionSummary"; import CharacterSummary from "../CharacterSummary"; interface Props { classes: Array; name: string; gender: string | null; species: Race | null; decorationInfo: DecorationInfo; deathCause: Constants.DeathCauseEnum; preferences: CharacterPreferences; ruleData: RuleData; xpInfo: ExperienceInfo; isInteractive: boolean; defaultCharacterName: string; className: string; calloutNode?: React.ReactNode; } export default class CharacterTidbits extends React.PureComponent { static defaultProps = { deathCause: Constants.DeathCauseEnum.NONE, isInteractive: true, className: "", defaultCharacterName: DefaultName, }; render() { const { name, classes, gender, species, decorationInfo, deathCause, preferences, ruleData, xpInfo, defaultCharacterName, isInteractive, className, calloutNode, } = this.props; let classNames: Array = [className, "ddbc-character-tidbits"]; if (isInteractive) { classNames.push("ddbc-character-tidbits--is-interactive"); } return (
{isInteractive && calloutNode && (
{calloutNode}
)}
{xpInfo && ruleData && (
)}
); } }