Commit 370c94d6 authored by Kevin Kaminski's avatar Kevin Kaminski

Merge branch 'add-account-info' into 'dev'

[APF-105]  Add relevant information to profile page. Add...

See merge request !9
parents 48543cf6 0ec50900
...@@ -3,30 +3,28 @@ import { Link } from 'react-router-dom' ...@@ -3,30 +3,28 @@ import { Link } from 'react-router-dom'
import {useGoogleAuth} from 'hooks' import {useGoogleAuth} from 'hooks'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faUser } from '@fortawesome/free-solid-svg-icons' import { faUser } from '@fortawesome/free-solid-svg-icons'
import { Box, Heading, Flex, Spacer, Button } from "@chakra-ui/react" import { Box, Heading, Flex, Spacer, Button, Image, Avatar } from "@chakra-ui/react"
import Logo from '../img/logo.png' import Logo from '../img/logo.png'
const Nav = () => { const Nav = () => {
const { isSignedIn, signOut, signIn } = useGoogleAuth(); const { isSignedIn, signOut, signIn, manager } = useGoogleAuth();
const handleAuth = () => { isSignedIn ? signOut() : signIn();} const handleAuth = () => { isSignedIn ? signOut() : signIn();}
const authLinkText = useMemo(() => isSignedIn ? "Logout" : "Login", [isSignedIn]); const authLinkText = useMemo(() => isSignedIn ? "Logout" : "Login", [isSignedIn]);
const userIcon = isSignedIn ?
const userIcon = <FontAwesomeIcon icon={faUser} /> <Avatar name={manager.firstName + " " + manager.lastName} boxSize="40px" borderRadius="full" src={manager.imageUrl} alt="profile"/> :
<FontAwesomeIcon icon={faUser} />
return ( return (
<Flex> <Flex>
<Box className="left-nav"> <Box className="left-nav">
<Link to="/"><img src={Logo}/></Link> <Link to="/"><Image src={Logo} alt="project logo"/></Link>
</Box> </Box>
<Spacer /> <Spacer />
<Box className="right-nav"> <Flex className="right-nav">
<Link className="nav-link" to="/account">{userIcon}</Link> <Link className="nav-link" to="/account">{userIcon}</Link>
<Button><Link to="/orders">All orders</Link></Button> <Button><Link to="/orders">All orders</Link></Button>
<Button onClick={handleAuth}>{authLinkText}</Button> <Button onClick={handleAuth}>{authLinkText}</Button>
</Box> </Flex>
</Flex> </Flex>
) )
} }
......
...@@ -29,7 +29,7 @@ const useOrder = (orderId: string) => { ...@@ -29,7 +29,7 @@ const useOrder = (orderId: string) => {
}; };
fetchOrders(); fetchOrders();
}, []); }, [orderId]);
return { status, data, order: data, error, ResStatus }; return { status, data, order: data, error, ResStatus };
}; };
......
import React, { useState, useEffect } from 'react' import { Box, Avatar, Center } from '@chakra-ui/react'
import { GoogleAuthService } from 'services' import {useGoogleAuth} from 'hooks'
import {AccountForm} from 'components'
const AccountPage = () => { const AccountPage = () => {
const storage = window.localStorage const { manager } = useGoogleAuth();
const [userInfo, setUserInfo] = useState();
return ( return (
<div> <Center>
<AccountForm props={userInfo}/> <Box>
</div> <Box>
<Avatar name={manager.firstName + " " + manager.lastName} size="2xl" src={manager.imageUrl} alt="profile"/>
</Box>
<Box>
Email: {manager.email}
</Box>
<Box>
First Name: {manager.firstName}
</Box>
<Box>
Last Name: {manager.lastName}
</Box>
</Box>
</Center>
) )
} }
......
import React from 'react'
import { Box, Center, Text, Heading } from '@chakra-ui/react'
const HomePage = () => {
return (
<Center>
<Box>
<Box>
<Text>Welcome to the Order Management System Console</Text>
<Heading>PRO</Heading>
</Box>
<Box></Box>
<Box>
<Text>
It is here that you can check on the status of all orders, search for orders, or look at your account details.
</Text>
<Text>
Please log in at the top right to experience all our platform has to offer.
</Text>
</Box>
</Box>
</Center>
)
}
export default HomePage
import React, {useState, useEffect} from 'react' import React, {useState, useEffect} from 'react'
import {OrderDetails } from 'components' import {OrderDetails } from 'components'
import { OrderService } from 'services';
import { Order } from 'Order'; import { Order } from 'Order';
import { useAllOrders } from 'hooks' import { useAllOrders } from 'hooks'
import { import {
......
export { default as AccountPage } from './AccountPage' export { default as AccountPage } from './AccountPage'
export { default as AuthPage } from './AuthPage' export { default as AuthPage } from './AuthPage'
export { default as HomePage } from './HomePage'
export { default as OrderIndexPage } from './OrderIndexPage' export { default as OrderIndexPage } from './OrderIndexPage'
export { default as OrderShowPage } from './OrderShowPage' export { default as OrderShowPage } from './OrderShowPage'
import { BrowserRouter, Switch } from "react-router-dom"; import { BrowserRouter, Switch } from "react-router-dom";
import { Nav } from 'components' import { Nav } from 'components'
import { AccountPage, AuthPage, OrderIndexPage, OrderShowPage } from 'pages'; import { AccountPage, HomePage, OrderIndexPage, OrderShowPage } from 'pages';
import { GoogleAuthProvider } from 'hooks' import { GoogleAuthProvider } from 'hooks'
import { PublicRoute, PrivateRoute } from 'router' import { PublicRoute, PrivateRoute } from 'router'
import { StyleProvider } from 'styles' import { StyleProvider } from 'styles'
...@@ -15,7 +15,7 @@ const MainRouter: React.FC = () => { ...@@ -15,7 +15,7 @@ const MainRouter: React.FC = () => {
<main> <main>
<Switch> <Switch>
<PrivateRoute path="/account" component={AccountPage} /> <PrivateRoute path="/account" component={AccountPage} />
<PublicRoute exact path="/" component={AuthPage} /> <PublicRoute exact path="/" component={HomePage} />
<PrivateRoute path="/orders/:id" component={OrderShowPage} /> <PrivateRoute path="/orders/:id" component={OrderShowPage} />
<PrivateRoute path="/orders" component={OrderIndexPage} /> <PrivateRoute path="/orders" component={OrderIndexPage} />
{/* <Route component={NotFoundPage} /> */} {/* <Route component={NotFoundPage} /> */}
......
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