New source found from dndbeyond.com

This commit is contained in:
2026-07-08 01:00:09 -07:00
parent 9a983a6d7b
commit dcefa0d2f2
2865 changed files with 222467 additions and 49053 deletions
@@ -1,4 +1,10 @@
import { createContext, FC, useContext, useState } from "react";
import {
createContext,
FC,
PropsWithChildren,
useContext,
useState,
} from "react";
import { BuilderMethod } from "../../types";
@@ -20,7 +26,7 @@ export const BuilderContext = createContext<BuilderContextType>({
suggestedNames: [],
});
export const BuilderProvider: FC = ({ children }) => {
export const BuilderProvider: FC<PropsWithChildren> = ({ children }) => {
const [builderMethod, setBuilderMethodState] = useState<BuilderMethod | null>(
null
);
@@ -1,8 +1,16 @@
import { createContext, FC, useContext, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import {
createContext,
FC,
PropsWithChildren,
useContext,
useEffect,
useState,
} from "react";
import { useSelector } from "react-redux";
import { ApiAdapterUtils } from "@dndbeyond/character-rules-engine";
import { useDispatch } from "~/hooks/useDispatch";
import { builderActions } from "~/tools/js/CharacterBuilder/actions";
import { apiCreatorSelectors } from "~/tools/js/Shared/selectors";
import { ClassDefinitionContract as ClassDef } from "~/types";
@@ -25,7 +33,7 @@ export interface ClassContextType {
export const ClassContext = createContext<ClassContextType>(null!);
export const ClassProvider: FC = ({ children }) => {
export const ClassProvider: FC<PropsWithChildren> = ({ children }) => {
const dispatch = useDispatch();
const [query, setQuery] = useState("");
const [allClasses, setAllClasses] = useState<Array<ClassDef>>([]);
@@ -1,4 +1,10 @@
import { createContext, FC, useContext, useState } from "react";
import {
createContext,
FC,
PropsWithChildren,
useContext,
useState,
} from "react";
import { ConfirmModal, ConfirmModalProps } from "~/components/ConfirmModal";
@@ -14,7 +20,7 @@ export const ModalManagerContext = createContext<ModalManagerContextType>(
null!
);
export const ModalManagerProvider: FC = ({ children }) => {
export const ModalManagerProvider: FC<PropsWithChildren> = ({ children }) => {
const [modalData, setModalData] = useState<ModalData | null>(null);
const createModal = (modalData: ModalData) => {
@@ -1,5 +1,12 @@
import { groupBy, keyBy, uniqBy } from "lodash";
import { createContext, FC, useContext, useEffect, useState } from "react";
import {
createContext,
FC,
PropsWithChildren,
useContext,
useEffect,
useState,
} from "react";
import { useSelector } from "react-redux";
import { useCharacterEngine } from "~/hooks/useCharacterEngine";
@@ -39,7 +46,7 @@ export interface SpeciesContextType {
export const SpeciesContext = createContext<SpeciesContextType>(null!);
export const SpeciesProvider: FC = ({ children }) => {
export const SpeciesProvider: FC<PropsWithChildren> = ({ children }) => {
const {
apiAdapterUtils: { getResponseData },
raceUtils: { getSubRaceShortName, getBaseName, getIsHomebrew, getSources },
@@ -186,15 +193,6 @@ export const SpeciesProvider: FC = ({ children }) => {
return [...groups, ...unGroupedSpecies];
};
const getSpecies = async () => {
const species = getResponseData(await loadSpecies()) || [];
setAllSpecies(species);
if (species.length > 0) {
setIsLoading(false);
}
};
// Set the source options when the species are loaded
useEffect(() => {
let shouldContaineHomebrewCategory = false;
@@ -267,8 +265,16 @@ export const SpeciesProvider: FC = ({ children }) => {
}, [allSpecies, source]);
useEffect(() => {
const getSpecies = async () => {
const species = getResponseData(await loadSpecies()) || [];
setAllSpecies(species);
if (species.length > 0) {
setIsLoading(false);
}
};
getSpecies();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [loadSpecies]);
return (