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:
2025-05-28 11:50:03 -07:00
commit 8df9031d27
3592 changed files with 319051 additions and 0 deletions
@@ -0,0 +1,63 @@
import React from "react";
import { CharacterTheme } from "@dndbeyond/character-rules-engine/es";
import { Reference } from "~/components/Reference";
import { VehicleActionSummaryProps } from "../../../utils/Component";
import InlineSeparatedNodes from "../../common/InlineSeparatedNodes";
interface Props {
actionSummary: VehicleActionSummaryProps;
theme: CharacterTheme;
}
export default class VehicleBlockActionSummary extends React.PureComponent<Props> {
render() {
const {
name,
description,
sourceId,
sourceName,
sourceFullName,
sourceChapterNumber,
} = this.props.actionSummary;
const { theme } = this.props;
let nodes: Array<React.ReactNode> = [];
if (name !== null) {
nodes.push(
<span className="ct-vehicle-block__action-summary-label">{name}.</span>
);
}
if (description !== null) {
nodes.push(
<span className="ct-vehicle-block__action-summary-text">
{description}
</span>
);
}
if (sourceId !== null) {
nodes.push(
<React.Fragment>
{"("}
<Reference
isDarkMode={theme?.isDarkMode}
name={sourceName}
tooltip={sourceFullName}
chapter={sourceChapterNumber}
/>
{")."}
</React.Fragment>
);
}
return (
<div className="ct-vehicle-block__action-summary">
<InlineSeparatedNodes nodes={nodes} sep={" "} />
</div>
);
}
}
@@ -0,0 +1,4 @@
import VehicleBlockActionSummary from "./VehicleBlockActionSummary";
export default VehicleBlockActionSummary;
export { VehicleBlockActionSummary };