import PropTypes from 'prop-types';
import React from 'react';
-import { CONFIG, DUNGEONS, makeEmptyState } from '../helpers/tracker';
+import { CONFIG, DUNGEONS, makeEmptyState, mergeStates } from '../helpers/tracker';
const context = React.createContext({});
export const TrackerProvider = ({ children }) => {
const [config, setConfig] = React.useState(CONFIG);
const [state, setState] = React.useState(makeEmptyState());
+ const [autoState, setAutoState] = React.useState(makeEmptyState());
+ const [manualState, setManualState] = React.useState(makeEmptyState());
const [dungeons, setDungeons] = React.useState(DUNGEONS);
React.useEffect(() => {
setDungeons(newDungeons);
}, [config]);
+ React.useEffect(() => {
+ setState(mergeStates(autoState, manualState));
+ }, [autoState, manualState]);
+
const value = React.useMemo(() => {
- return { config, setConfig, dungeons, setState, state };
+ return { config, setConfig, dungeons, setAutoState, setManualState, state };
}, [config, dungeons, state]);
return <context.Provider value={value}>