UserContext.tsx 739 B

12345678910111213141516171819202122232425262728293031
  1. import React, { useState, FC } from "react";
  2. interface User {
  3. email: string;
  4. id: number;
  5. name: string;
  6. team: string;
  7. }
  8. interface UserContextInterface {
  9. user?: User;
  10. logged: boolean;
  11. setLogged: React.Dispatch<React.SetStateAction<boolean>>;
  12. setUser: React.Dispatch<React.SetStateAction<User | undefined>>;
  13. }
  14. export const UserContext = React.createContext<UserContextInterface | null>(
  15. null
  16. );
  17. const UserContextProvider: FC = ({ children }) => {
  18. const [user, setUser] = useState<User>();
  19. const [logged, setLogged] = useState<boolean>(false);
  20. return (
  21. <UserContext.Provider value={{ user, setUser, logged, setLogged }}>
  22. {children}
  23. </UserContext.Provider>
  24. );
  25. };
  26. export default UserContextProvider;