Commit 71ce6310 authored by Alex Segers's avatar Alex Segers

[AFP-97] ️ Refactor Nav auth link to be dynamic + cleanup AuthPage & App (@asegers)

parent 001fd9e0
import React from 'react';
import MainRouter from 'router/MainRouter';
import { MainRouter } from 'router';
function App() {
return (
<div className="App">
<MainRouter />
</div>
<div className="App">
<MainRouter />
</div>
);
}
......
import React from 'react'
import React, { useMemo} from 'react'
import { Link } from 'react-router-dom'
import {useGoogleAuth} from 'hooks'
const Nav = () => {
const { isSignedIn, signOut, signIn } = useGoogleAuth();
const handleAuth = () => { isSignedIn ? signOut() : signIn();}
const authLinkText = useMemo(() => isSignedIn ? "Logout" : "Login", [isSignedIn]);
return (
<header className="nav-bar" role="navigation">
<div className="order-management">Order Management Console PRO</div>
<ul className="nav-list">
<li><Link className="nav-link" to="/orders">All orders</Link></li>
<li><Link className="nav-link" to="/account">(account logo here)</Link></li>
<li><Link className="nav-link" to="/">Login / Logout</Link></li>
<li><button onClick={handleAuth}>{authLinkText}</button></li>
</ul>
</header>
)
......
import React from 'react'
import { LoginForm } from 'components';
import { GoogleLogin } from 'react-google-login';
const AuthPage = () => {
const responseGoogle = (response: any) => {
// console.log(response)
// console.log(response.profileObj);
// console.log(response.tokenObj);
const {email, familyName:lastName, givenName:firstName, googleId, imageUrl} = response.profileObj;
return ({
email,
firstName,
lastName,
googleId,
imageUrl
})
}
return (
<div>
<GoogleLogin
clientId="925243198137-hhe2e3ejlethf321hh7tbm7ontc19cpj.apps.googleusercontent.com"
buttonText="Login"
onSuccess={responseGoogle}
onFailure={responseGoogle}
cookiePolicy={'single_host_origin'}
/>
<h1>Welcome</h1>
</div>
)
}
export default AuthPage
/*
Google Successful OAuth response (The parts we want to keep, anyway):
response =>
response.profileObj = {
email: "kkaminski@nisum.com",
familyName: "Kaminski",
givenName: "Kevin",
googleId: "104324023295177405903",
imageUrl: "https://lh3.googleusercontent.com/a/AATXAJymxbs98AGxOFCVUCpV9pEwpxx1JWR6XZqKXe8b=s96-c",
name: "Kevin Kaminski"
}
response.tokenObj = {
access_token: "ya2...LCe",
expires_at: 1620238821414,
expires_in: 3599,
first_issued_at: 1620235222414,
id_token: "eyJhbGciOiJSUzI1NiIs...yXc6HOG97FF6eF1AU0Oh8w",
idpId: "google",
login_hint: "AJDLj6J...RcffTyHTSIHVKSQ",
scope: "email profile https://www.googleapis.com/auth/userinfo.email openid https://www.googleapis.com/auth/userinfo.profile",
session_state: {
extraQueryParams: {
authuser: 2
}
},
token_type: "bearer"
}
*/
export default AuthPage
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment