diff --git a/frontend/src/contexts/UserContext.jsx b/frontend/src/contexts/UserContext.jsx new file mode 100644 index 0000000..17da055 --- /dev/null +++ b/frontend/src/contexts/UserContext.jsx @@ -0,0 +1,30 @@ +import { createContext, useContext, useState, useMemo } from "react"; +import { PropTypes } from "prop-types"; + +const UserContext = createContext(); + +export function UserProvider({ children }) { + const [user, setUser] = useState(null); + + const updateUser = (newUser) => { + setUser(newUser); + }; + const contexValue = useMemo(() => { + return { user, updateUser }; + }, [user, updateUser]); + + return ( + {children} + ); +} + +export const useUser = () => { + return useContext(UserContext); +}; + +UserProvider.propTypes = { + children: PropTypes.oneOfType([ + PropTypes.arrayOf(PropTypes.node), + PropTypes.node, + ]).isRequired, +};