adds firebase auth methods

This commit is contained in:
Ruidy Nemausat 2020-04-23 20:00:30 +02:00
parent be51487c36
commit 21350e157d
4 changed files with 36 additions and 19 deletions

View file

@ -1,6 +1,5 @@
import React from "react";
import { BrowserRouter as Router } from "react-router-dom";
import MainNavbar from "../MainNavbar";
import MainRouter from "../Router";

View file

@ -19,29 +19,17 @@ export default function MainNavbar() {
return (
<Navbar color="dark" dark expand="sm">
<Container>
<NavbarBrand href="/">App</NavbarBrand>
<NavbarBrand>
<Link to={ROUTES.LANDING}>LandingPage</Link>
</NavbarBrand>
<NavbarToggler onClick={toggle} />
<Collapse isOpen={isOpen} navbar>
<Nav className="ml-auto" navbar>
<NavItem>
<NavLink
href="https://github.com/rjNemo"
target="_blank"
rel="noopener noreferrer"
>
GitHub
</NavLink>
</NavItem>
<NavItem>
<NavLink>
<Link href={ROUTES.SIGN_IN}>Sign In</Link>
</NavLink>
</NavItem>
<NavItem>
<NavLink>
<Link to={ROUTES.LANDING}>Landing</Link>
</NavLink>
</NavItem>
<NavItem>
<NavLink>
<Link to={ROUTES.APP}>Home</Link>
@ -57,6 +45,15 @@ export default function MainNavbar() {
<Link to={ROUTES.ADMIN}>Admin</Link>
</NavLink>
</NavItem>
<NavItem>
<NavLink
href="https://github.com/rjNemo"
target="_blank"
rel="noopener noreferrer"
>
GitHub
</NavLink>
</NavItem>
</Nav>
</Collapse>
</Container>

View file

@ -1,15 +1,18 @@
import React from "react";
import ReactDOM from "react-dom";
import { render } from "react-dom";
import { Provider } from "react-redux";
import "bootstrap/dist/css/bootstrap.min.css";
import store from "./store";
import Firebase, { FirebaseContext } from "./services/auth";
import * as serviceWorker from "./serviceWorker";
import App from "./components/App";
ReactDOM.render(
render(
<React.StrictMode>
<Provider store={store}>
<App />
<FirebaseContext.Provider value={new Firebase()}>
<App />
</FirebaseContext.Provider>
</Provider>
</React.StrictMode>,
document.getElementById("root")

View file

@ -21,4 +21,22 @@ export default class Firebase {
app.initializeApp(CONFIG);
this.auth = app.auth();
}
provider = new app.auth.GoogleAuthProvider();
signInWithGoogle = () =>
this.auth
.signInWithPopup(this.provider)
.then((res) => console.log(res.user));
createUserWithEmailAndPassword = (email, password) =>
this.auth.createUserWithEmailAndPassword(email, password);
signinWithEmailAndPassword = (email, password) =>
this.auth.signInWithEmailAndPassword(email, password);
signOut = () => this.auth.signOut();
resetPassword = (email) => this.auth.sendPasswordResetEmail(email);
updatePassword = (password) => this.auth.currentUser.updatePassword(password);
}