]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/hooks/tracker.js
(nonfunctional) discord guild event and user subscriptions
[alttp.git] / resources / js / hooks / tracker.js
diff --git a/resources/js/hooks/tracker.js b/resources/js/hooks/tracker.js
deleted file mode 100644 (file)
index ec1e8ce..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-import PropTypes from 'prop-types';
-import React from 'react';
-
-import {
-       BOSSES,
-       CONFIG,
-       DUNGEONS,
-       applyLogic,
-       makeEmptyState,
-       mergeStates,
-} from '../helpers/tracker';
-
-const context = React.createContext({});
-
-export const useTracker = () => React.useContext(context);
-
-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);
-       const [logic, setLogic] = React.useState({});
-
-       const saveConfig = React.useCallback((values) => {
-               setConfig(s => {
-                       const newConfig = { ...s, ...values };
-                       localStorage.setItem('tracker.config', JSON.stringify(newConfig));
-                       return newConfig;
-               });
-       }, []);
-
-       React.useEffect(() => {
-               const savedConfig = localStorage.getItem('tracker.config');
-               if (savedConfig) {
-                       setConfig(c => ({ ...c, ...JSON.parse(savedConfig) }));
-               }
-       }, []);
-
-       React.useEffect(() => {
-               const newDungeons = DUNGEONS.map(dungeon => {
-                       const newDungeon = JSON.parse(JSON.stringify(dungeon));
-                       if (config.wildMap && dungeon.map) {
-                               ++newDungeon.items;
-                       }
-                       if (config.wildCompass && dungeon.compass) {
-                               ++newDungeon.items;
-                       }
-                       if (config.wildSmall) {
-                               newDungeon.items += dungeon.sk;
-                       }
-                       if (config.wildBig && dungeon.bk && !dungeon.dropBk) {
-                               ++newDungeon.items;
-                       }
-                       if (dungeon.boss) {
-                               newDungeon.bosses = config.bossShuffle ? BOSSES : [dungeon.boss];
-                       }
-                       return newDungeon;
-               });
-               setDungeons(newDungeons);
-       }, [config]);
-
-       React.useEffect(() => {
-               setState(mergeStates(autoState, manualState));
-       }, [autoState, manualState]);
-
-       React.useEffect(() => {
-               setLogic(applyLogic(config, dungeons, state));
-       }, [config, dungeons, state]);
-
-       const value = React.useMemo(() => {
-               return { config, dungeons, logic, saveConfig, setAutoState, setManualState, state };
-       }, [config, dungeons, logic, state]);
-
-       return <context.Provider value={value}>
-               {children}
-       </context.Provider>;
-};
-
-TrackerProvider.propTypes = {
-       children: PropTypes.node,
-};