mirror of
https://github.com/rjNemo/MERN_sample_app
synced 2026-06-12 11:36: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 React from "react";
|
||||||
import { BrowserRouter as Router } from "react-router-dom";
|
import { BrowserRouter as Router } from "react-router-dom";
|
||||||
|
|
||||||
import MainNavbar from "../MainNavbar";
|
import MainNavbar from "../MainNavbar";
|
||||||
import MainRouter from "../Router";
|
import MainRouter from "../Router";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,29 +19,17 @@ export default function MainNavbar() {
|
||||||
return (
|
return (
|
||||||
<Navbar color="dark" dark expand="sm">
|
<Navbar color="dark" dark expand="sm">
|
||||||
<Container>
|
<Container>
|
||||||
<NavbarBrand href="/">App</NavbarBrand>
|
<NavbarBrand>
|
||||||
|
<Link to={ROUTES.LANDING}>LandingPage</Link>
|
||||||
|
</NavbarBrand>
|
||||||
<NavbarToggler onClick={toggle} />
|
<NavbarToggler onClick={toggle} />
|
||||||
<Collapse isOpen={isOpen} navbar>
|
<Collapse isOpen={isOpen} navbar>
|
||||||
<Nav className="ml-auto" navbar>
|
<Nav className="ml-auto" navbar>
|
||||||
<NavItem>
|
|
||||||
<NavLink
|
|
||||||
href="https://github.com/rjNemo"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
>
|
|
||||||
GitHub
|
|
||||||
</NavLink>
|
|
||||||
</NavItem>
|
|
||||||
<NavItem>
|
<NavItem>
|
||||||
<NavLink>
|
<NavLink>
|
||||||
<Link href={ROUTES.SIGN_IN}>Sign In</Link>
|
<Link href={ROUTES.SIGN_IN}>Sign In</Link>
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</NavItem>
|
</NavItem>
|
||||||
<NavItem>
|
|
||||||
<NavLink>
|
|
||||||
<Link to={ROUTES.LANDING}>Landing</Link>
|
|
||||||
</NavLink>
|
|
||||||
</NavItem>
|
|
||||||
<NavItem>
|
<NavItem>
|
||||||
<NavLink>
|
<NavLink>
|
||||||
<Link to={ROUTES.APP}>Home</Link>
|
<Link to={ROUTES.APP}>Home</Link>
|
||||||
|
|
@ -57,6 +45,15 @@ export default function MainNavbar() {
|
||||||
<Link to={ROUTES.ADMIN}>Admin</Link>
|
<Link to={ROUTES.ADMIN}>Admin</Link>
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</NavItem>
|
</NavItem>
|
||||||
|
<NavItem>
|
||||||
|
<NavLink
|
||||||
|
href="https://github.com/rjNemo"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
GitHub
|
||||||
|
</NavLink>
|
||||||
|
</NavItem>
|
||||||
</Nav>
|
</Nav>
|
||||||
</Collapse>
|
</Collapse>
|
||||||
</Container>
|
</Container>
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,18 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import ReactDOM from "react-dom";
|
import { render } from "react-dom";
|
||||||
import { Provider } from "react-redux";
|
import { Provider } from "react-redux";
|
||||||
import "bootstrap/dist/css/bootstrap.min.css";
|
import "bootstrap/dist/css/bootstrap.min.css";
|
||||||
import store from "./store";
|
import store from "./store";
|
||||||
|
import Firebase, { FirebaseContext } from "./services/auth";
|
||||||
import * as serviceWorker from "./serviceWorker";
|
import * as serviceWorker from "./serviceWorker";
|
||||||
import App from "./components/App";
|
import App from "./components/App";
|
||||||
|
|
||||||
ReactDOM.render(
|
render(
|
||||||
<React.StrictMode>
|
<React.StrictMode>
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<App />
|
<FirebaseContext.Provider value={new Firebase()}>
|
||||||
|
<App />
|
||||||
|
</FirebaseContext.Provider>
|
||||||
</Provider>
|
</Provider>
|
||||||
</React.StrictMode>,
|
</React.StrictMode>,
|
||||||
document.getElementById("root")
|
document.getElementById("root")
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,22 @@ export default class Firebase {
|
||||||
app.initializeApp(CONFIG);
|
app.initializeApp(CONFIG);
|
||||||
this.auth = app.auth();
|
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