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

25 lines
717 B
TypeScript

import React, { useMemo } from "react";
import { AttributesManager } from "@dndbeyond/character-rules-engine/es";
interface AttributesManagerContextValue {
attributesManager: AttributesManager;
}
const initContext: AttributesManagerContextValue = {
attributesManager: new AttributesManager(),
};
export const AttributesManagerContext =
React.createContext<AttributesManagerContextValue>(initContext);
export function AttributesManagerProvider({ children }) {
const attributesManager: AttributesManager = useMemo(
() => new AttributesManager(),
[]
);
return (
<AttributesManagerContext.Provider value={{ attributesManager }}>
{children}
</AttributesManagerContext.Provider>
);
}