Skip to content

Commit

Permalink
Create AuthProvider component
Browse files Browse the repository at this point in the history
  • Loading branch information
Justin Campbell committed Nov 13, 2020
1 parent ca130f8 commit 50f03ec
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
32 changes: 32 additions & 0 deletions src/components/AuthProvider/AuthProvider.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import React, { useState, createContext, useContext } from "react";



const LoginContext = createContext();
const LoginSetterContext = createContext();
const TokenContext = createContext();
const TokenSetterContext = createContext();

export const useLogin = () => useContext(LoginContext);
export const useLoginSetter = () => useContext(LoginSetterContext);
export const useToken = () => useContext(TokenContext);
export const useTokenSetter = () => useContext(TokenSetterContext);



export default function AuthProvider({ children }) {
const [loggedIn, setLoggedIn] = useState(false);
const [token, setToken] = useState(null);

return (
<LoginContext.Provider value={loggedIn}>
<LoginSetterContext.Provider value={setLoggedIn}>
<TokenContext.Provider value={token}>
<TokenSetterContext.Provider value={setToken}>
{children}
</TokenSetterContext.Provider>
</TokenContext.Provider>
</LoginSetterContext.Provider>
</LoginContext.Provider>
);
};
14 changes: 14 additions & 0 deletions src/components/AuthProvider/AuthProvider.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
AuthProvider

Description

---

```jsx
import AuthProvider from "./AuthProvider";

<AuthProvider />
```
```jsx static
<AuthProvider />
```
1 change: 1 addition & 0 deletions src/components/AuthProvider/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default, useLogin, useLoginSetter, useToken, useTokenSetter } from "./AuthProvider";

0 comments on commit 50f03ec

Please sign in to comment.