Grabbed dndbeyond's source code
``` ~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js ```
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
import clsx from "clsx";
|
||||
import { FC, HTMLAttributes } from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
|
||||
import {
|
||||
BeveledBoxSvg317x89,
|
||||
BoxBackground,
|
||||
} from "@dndbeyond/character-components/es";
|
||||
import { Constants } from "@dndbeyond/character-rules-engine";
|
||||
|
||||
import { useSidebar } from "~/contexts/Sidebar/Sidebar";
|
||||
import { useCharacterEngine } from "~/hooks/useCharacterEngine";
|
||||
import { appEnvSelectors } from "~/tools/js/Shared/selectors";
|
||||
|
||||
import { PaneComponentEnum } from "../Sidebar/types";
|
||||
import { DeathSummary } from "./DeathSummary";
|
||||
import { HitPointsQuickAdjust } from "./HitPointsQuickAdjust";
|
||||
import { HitPointsSummary } from "./HitPointsSummary";
|
||||
import styles from "./styles.module.css";
|
||||
|
||||
interface Props extends HTMLAttributes<HTMLDivElement> {}
|
||||
|
||||
export const HitPointsBox: FC<Props> = ({ className, ...props }) => {
|
||||
const {
|
||||
pane: { paneHistoryStart },
|
||||
} = useSidebar();
|
||||
|
||||
const isReadonly = useSelector(appEnvSelectors.getIsReadonly);
|
||||
|
||||
const { hpInfo, deathCause, characterTheme } = useCharacterEngine();
|
||||
|
||||
const onClick = (evt: React.MouseEvent): void => {
|
||||
if (!isReadonly) {
|
||||
evt.stopPropagation();
|
||||
evt.nativeEvent.stopImmediatePropagation();
|
||||
paneHistoryStart(PaneComponentEnum.HEALTH_MANAGE);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div
|
||||
className={clsx([styles.hitPointsBox, className])}
|
||||
onClick={onClick}
|
||||
{...props}
|
||||
>
|
||||
<BoxBackground
|
||||
StyleComponent={BeveledBoxSvg317x89}
|
||||
theme={characterTheme}
|
||||
/>
|
||||
{deathCause === Constants.DeathCauseEnum.CONDITION ||
|
||||
hpInfo.remainingHp <= 0 ? (
|
||||
<DeathSummary />
|
||||
) : (
|
||||
<div className={styles.content}>
|
||||
<h1 className={styles.label}>Hit Points</h1>
|
||||
<HitPointsQuickAdjust />
|
||||
<HitPointsSummary hpInfo={hpInfo} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user