Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 41x 41x 1x 1x | import React, {
createContext,
useState,
useEffect,
useCallback,
useContext,
} from "react";
export const DataContext = createContext();
export const DataProvider = ({ children }) => {
const [isDarkMode, setDarkMode] = useState("dark");
const [dark, setDark] = useState(false);
const [refresh, setRefresh] = useState(false);
const [stack, setStack] = useState([]);
const [functions, setFunctions] = useState([]);
const [infoBreakpointData, setInfoBreakpointData] = useState("");
const [memoryMap, setMemoryMap] = useState("");
const [terminalOutput, setTerminalOutput] = useState("");
const [commandPress, setCommandPress] = useState(true);
const fetchData = useCallback(async () => {
if (refresh) {
try {
setRefresh(false);
} catch (error) {
console.error("Error fetching data:", error);
setRefresh(false);
}
}
}, [refresh]);
useEffect(() => {
fetchData();
}, [fetchData]);
const runCommandInTerminal = (command) => {
setTerminalOutput(command);
};
return (
<DataContext.Provider
value={{
refresh,
setRefresh,
stack,
setStack,
functions,
setFunctions,
infoBreakpointData,
setInfoBreakpointData,
memoryMap,
setMemoryMap,
isDarkMode,
setDarkMode,
dark,
setDark,
terminalOutput,
setCommandPress,
commandPress,
setTerminalOutput,
}}
>
{children}
</DataContext.Provider>
);
};
export const DataState = () => {
return useContext(DataContext);
};
export default DataProvider;
|