mirror of
https://github.com/rjNemo/MERN_sample_app
synced 2026-06-06 08:46:39 +00:00
adds firebase auth methods
This commit is contained in:
parent
be51487c36
commit
21350e157d
4 changed files with 36 additions and 19 deletions
|
|
@ -1,6 +1,5 @@
|
|||
import React from "react";
|
||||
import { BrowserRouter as Router } from "react-router-dom";
|
||||
|
||||
import MainNavbar from "../MainNavbar";
|
||||
import MainRouter from "../Router";
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue