import { createContext, useMemo, useState } from "react"; export const UndoRedoContext = createContext({ undoStack: [], setUndoStack: () => {}, redoStack: [], setRedoStack: () => {}, }); export const UndoRedoActionsContext = createContext({ setUndoStack: () => {}, setRedoStack: () => {}, }); export default function UndoRedoContextProvider({ children }) { const [undoStack, setUndoStack] = useState([]); const [redoStack, setRedoStack] = useState([]); const actions = useMemo(() => ({ setUndoStack, setRedoStack }), []); const value = useMemo( () => ({ ...actions, undoStack, redoStack }), [actions, undoStack, redoStack], ); return ( {children} ); }