35
src/components/Home/index.jsx
Normal file
35
src/components/Home/index.jsx
Normal file
@@ -0,0 +1,35 @@
|
||||
import React from "react";
|
||||
import { Typography } from "@material-ui/core";
|
||||
import useStyles from "../useStyles";
|
||||
|
||||
import { useUserContext } from "../Contexts/UserContext";
|
||||
import { parsePayload } from "../../utils/jwt";
|
||||
|
||||
const DEFAULT_GREETING = "Welcome";
|
||||
|
||||
const getGreeting = (token) => {
|
||||
if (!token || !token.idToken || !token.idToken.jwtToken)
|
||||
return DEFAULT_GREETING;
|
||||
|
||||
const payload = parsePayload(token.idToken.jwtToken);
|
||||
|
||||
if (!payload || !payload.given_name) return DEFAULT_GREETING;
|
||||
|
||||
return `Welcome ${payload.given_name}!`;
|
||||
};
|
||||
|
||||
const Home = () => {
|
||||
const classes = useStyles();
|
||||
const { token } = useUserContext();
|
||||
const greeting = getGreeting(token);
|
||||
|
||||
return (
|
||||
<div className={classes.paper}>
|
||||
<Typography component="h1" variant="h5">
|
||||
{greeting}
|
||||
</Typography>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Home;
|
||||
Reference in New Issue
Block a user