dndbeyond_src/ddb_main/tools/js/Shared/managers/CharacterFeaturesManagerContext.tsx
2025-05-28 15:36:51 -07:00

27 lines
840 B
TypeScript

import React, { useMemo } from "react";
import { CharacterFeaturesManager } from "@dndbeyond/character-rules-engine/es";
interface CharacterFeaturesManagerContextValue {
characterFeaturesManager: CharacterFeaturesManager;
}
const initContext: CharacterFeaturesManagerContextValue = {
characterFeaturesManager: new CharacterFeaturesManager(),
};
export const CharacterFeaturesManagerContext =
React.createContext<CharacterFeaturesManagerContextValue>(initContext);
export function CharacterFeaturesManagerProvider({ children }) {
const characterFeaturesManager: CharacterFeaturesManager = useMemo(
() => new CharacterFeaturesManager(),
[]
);
return (
<CharacterFeaturesManagerContext.Provider
value={{ characterFeaturesManager }}
>
{children}
</CharacterFeaturesManagerContext.Provider>
);
}