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,59 @@
import React from "react";
import { AnimatedLoadingRingSvg } from "@dndbeyond/character-components/es";
interface Props {
isFinished: boolean;
hideDelay: number;
}
interface State {
isVisible: boolean;
}
export default class LoadingBlocker extends React.PureComponent<Props, State> {
static defaultProps = {
hideDelay: 2000,
};
constructor(props: Props) {
super(props);
this.state = {
isVisible: !props.isFinished,
};
}
componentDidUpdate(
prevProps: Readonly<Props>,
prevState: Readonly<State>
): void {
const { isFinished, hideDelay } = this.props;
if (!prevProps.isFinished && isFinished) {
setTimeout(() => {
this.setState({
isVisible: false,
});
}, hideDelay);
}
}
render() {
const { isVisible } = this.state;
const { isFinished } = this.props;
if (!isVisible) {
return null;
}
return (
<div
className={`ct-loading-blocker ${
isFinished ? " ct-loading-blocker--finished" : ""
}`}
>
<div className="ct-loading-blocker__logo" />
<AnimatedLoadingRingSvg className="ct-loading-blocker__anim" />
</div>
);
}
}
@@ -0,0 +1,4 @@
import LoadingBlocker from "./LoadingBlocker";
export default LoadingBlocker;
export { LoadingBlocker };