import clsx from "clsx"; import { FC, HTMLAttributes } from "react"; import { useNavigate } from "react-router-dom"; import { Button } from "~/components/Button"; import { useCharacterEngine } from "~/hooks/useCharacterEngine"; import { navigationConfig } from "~/tools/js/CharacterBuilder/config"; import { RouteKey } from "../../constants"; import styles from "./styles.module.css"; export interface SpeciesDisplayProps extends HTMLAttributes { onRequestAction?: () => void; actionText?: string; headingText?: string; } export const SpeciesDisplay: FC = ({ actionText, className, headingText, ...props }) => { const navigate = useNavigate(); const { characterId, race, ruleData, ruleDataUtils } = useCharacterEngine(); const { baseName, fullName, portraitAvatarUrl, subRaceShortName } = race || {}; const portrait = portraitAvatarUrl || ruleDataUtils.getDefaultRaceImageUrl(ruleData); // Navigate back to the class manage page const handleNavigate = (): void => navigate( navigationConfig .getRouteDefPath(RouteKey.RACE_MANAGE) .replace(":characterId", characterId) ); return ( {headingText || `Selected Species`} {portrait && ( )} {subRaceShortName && ( {subRaceShortName} )} {baseName} {actionText || `Change Species`} ); };
{subRaceShortName && ( {subRaceShortName} )} {baseName}