Commit c091178f authored by Shanelle Valencia's avatar Shanelle Valencia

Merge branch 'styling' into 'dev'

[AFP-137] 💄 Fix searchbar styling as well as header, footer and user account [@svalencia]

See merge request !17
parents bfab959a fe5fc2d9
......@@ -3,7 +3,7 @@ import { Link } from 'react-router-dom'
import {useGoogleAuth} from 'hooks'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faUser } from '@fortawesome/free-solid-svg-icons'
import { Box, Heading, Flex, Spacer, Button, Image, Avatar } from "@chakra-ui/react"
import { Box, Heading, Flex, Spacer, Button, Image, Avatar, HStack } from "@chakra-ui/react"
import Logo from '../img/logo.png'
......@@ -15,37 +15,41 @@ const Nav = () => {
<Avatar name={manager.firstName + " " + manager.lastName} boxSize="40px" borderRadius="full" src={manager.imageUrl} alt="profile"/> : null
return (
<Flex className="header">
<Box className="left-nav">
<Link to="/"><Image src={Logo} alt="project logo"height="90%" width="80%" /></Link>
</Box>
<Spacer />
<Flex className="right-nav">
<Link className="nav-link" to="/account">{userIcon}</Link>
<Button
p={2}
size="sm"
color="white"
fontWeight="bold"
borderRadius="sm"
bgGradient="linear(to-r, teal.500,blue.500)"
_hover={{
bgGradient: "linear(to-r, blue.500, yellow.500)",
}}
><Link to="/orders">Orders</Link></Button>
<Button
p={2}
size="sm"
color="white"
fontWeight="bold"
borderRadius="sm"
bgGradient="linear(to-r, teal.500,blue.500)"
_hover={{
bgGradient: "linear(to-r, blue.500, yellow.500)",
}}
onClick={handleAuth}>{authLinkText}</Button>
<div >
<Flex className="header">
<Box className="left-nav">
<Link to="/"><Image src={Logo} alt="project logo"height="110%" width="55%" /></Link>
</Box>
<Spacer />
<HStack className="right-nav" spacing="1px">
<Box><button
// p={2}
// size="sm"
// color="white"
// fontWeight="bold"
// borderRadius="sm"
// bgGradient="linear(to-r, teal.500,blue.500)"
// _hover={{
// bgGradient: "linear(to-r, blue.500, yellow.500)",
// }}
>
<Link to="/orders">Orders</Link></button></Box>
<Box><span>|</span></Box>
<Box><button
// p={2}
// size="sm"
// color="white"
// fontWeight="bold"
// borderRadius="sm"
// bgGradient="linear(to-r, teal.500,blue.500)"
// _hover={{
// bgGradient: "linear(to-r, blue.500, yellow.500)",
// }}
onClick={handleAuth}>{authLinkText}</button></Box>
<Box><Link className="nav-link" to="/account">{userIcon}</Link></Box>
</HStack>
</Flex>
</Flex>
</div>
)
}
......
......@@ -23,12 +23,12 @@ const OrderShowDetails = (props: any) => {
const itemMap = (items: Item[]) => {
return items.map((item: Item, idx: number) => {
return (
<tr key={idx}>
<Tr key={idx} >
<Td >{item.itemId}</Td >
<Td >{item.itemPrice}</Td >
<Td >{item.itemQuantity}</Td >
<Td >{item.itemSku}</Td >
</tr>
</Tr>
)
});
}
......@@ -37,19 +37,19 @@ const OrderShowDetails = (props: any) => {
return (
items ?
<div className="table-div">
<Table variant="striped" colorScheme="messenger" size="lg">
<Tbody>
<Tr className="table-header">
<Th fontSize="22px" color="gray">ID</Th>
<Th fontSize="22px" color="gray">Price</Th>
<Th fontSize="22px" color="gray">Quantity</Th>
<Th fontSize="22px" color="gray">SKU</Th>
</Tr>
{itemDetails}
</Tbody>
</Table>
</div>
<Table variant="striped" colorScheme="messenger" size="lg">
<Thead>
<Tr className="table-header">
<Th fontSize="22px" color="gray">ID</Th>
<Th fontSize="22px" color="gray">Price</Th>
<Th fontSize="22px" color="gray">Quantity</Th>
<Th fontSize="22px" color="gray">SKU</Th>
</Tr>
</Thead>
<Tbody>
{itemDetails}
</Tbody>
</Table>
:
<div className="Order without items">
This order didn't contain any items.
......
......@@ -15,46 +15,73 @@ code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
}
html, body {
height: 100%;
}
body {
display: flex;
flex-direction: column;
}
.content {
min-height: calc(100vh - 70px);
}
/* homepage */
.homepage {
padding: 200px 0;
}
/* .svg-inline--fa {
display: inline-block;
font-size: 24px;
height: 1.7em;
overflow: visible;
vertical-align: -0.325em;
} */
/* header */
.header {
border-bottom: 1.5px solid orange;
border-top: 1.5px solid rgba(80, 76, 69, 0.603);
background-color: rgba(216, 130, 32, 0.404);
height: 60px;
}
.left-nav {
padding: 10px 0px 0px 50px;
padding: 0 0 0 40px;
/* background-color: blueviolet; */
}
.right-nav {
padding: 30px 120px 0px 0px;
padding: 30px 70px 0px 0px;
/* background-color: rgb(109, 109, 204); */
align-items: center;
align-content: center;
}
.right-nav Button {
background-color: rgb(235, 221, 178);
.right-nav button {
background-color: transparent;
margin-right: 15px;
margin-top: 4px;
}
.right-nav span {
margin-left: 10px;
margin-right: 25px;
font-weight: 600;
}
.chakra-stack.right-nav.css-193rmy8 {
margin-bottom: 50%;
}
.nav-link {
margin-right: 15px;
margin-left: 15px;
}
......@@ -62,20 +89,42 @@ code {
/* body */
.body-div {
padding-top: 50px;
.content {
flex: 1 0 auto;
}
.search-div {
padding: 5px;
padding: 2px;
}
.searchbar {
width: 300px;
/* .searchbar {
width: 220px;
margin-right: 150px;
border: 1px solid blue;
border-radius: 2px;
} */
input[type=text] {
width: 220px;
border: 2px solid rgb(184, 180, 180);
border-radius: 4px;
font-size: 14px;
background-color: white;
background-image: url('./img/searchicon.png');
background-size: 18px;
background-position: 10px 8px;
background-repeat: no-repeat;
padding: 12px 20px 12px 40px;
transition: width 0.4s ease-in-out;
height: 35px;
}
input[type=text]:focus {
width: 100%;
}
......@@ -83,8 +132,8 @@ code {
outline: none;
}
.table-div {
padding: 150px;
.body-content-div {
padding: 124px;
padding-top: 20px;
}
......@@ -97,15 +146,16 @@ code {
}
.show-div {
padding: 80px 150px;
padding: 80px 100px;
}
.show-table {
border: 1px solid rgb(110, 106, 106);
/* padding: 0 10px 15px 10px; */
padding: 0 10px 15px 10px;
border-radius: 2px;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
}
.table-header {
......@@ -115,7 +165,7 @@ code {
.account {
padding: 250px 0;
padding: 50px 0;
}
......@@ -123,6 +173,9 @@ code {
/* footer */
.footer {
padding: 10px 0;
border-top: 1.5px solid orange;
padding: 5px 0;
border-bottom: 1.5px solid rgba(80, 76, 69, 0.603);
background-color: rgba(216, 130, 32, 0.404);
flex-shrink: 0;
font-size: 12px;
}
\ No newline at end of file
import { Box, Avatar, Center } from '@chakra-ui/react'
import { Box, Avatar, Center, VStack, StackDivider, Spacer, Flex } from '@chakra-ui/react'
import {useGoogleAuth} from 'hooks'
const AccountPage = () => {
const { manager } = useGoogleAuth();
return (
<Center className="account">
<Box>
<Box>
<Flex>
<Box w="170px" h="10">
<Avatar name={manager.firstName + " " + manager.lastName} size="2xl" src={manager.imageUrl} alt="profile" />
</Box>
<Box>
Email: {manager.email}
<Spacer />
<Box w="270px" >
<VStack
divider={<StackDivider borderColor="gray.200" />}
spacing={4}
align="stretch"
>
<Box h="40px" // p={2}
size="sm"
color="white"
fontWeight="bold"
borderRadius="sm"
bgGradient="linear(to-r, teal.500,blue.500)"
// _hover={{
// bgGradient: "linear(to-r, orange.500, green.500)",
// }}
>Email: {manager.email }
</Box>
<Box h="40px"
size="sm"
color="white"
fontWeight="bold"
borderRadius="sm"
bgGradient="linear(to-r, blue.500,yellow.500)"
// _hover={{
// bgGradient: "linear(to-r, blue.500, yellow.500)",
// }}>
>First Name: {manager.firstName}
</Box>
<Box h="40px"
size="sm"
color="white"
fontWeight="bold"
borderRadius="sm"
bgGradient="linear(to-r, teal.500,purple.400)"
// _hover={{
// bgGradient: "linear(to-r, blue.500, yellow.500)",
// }}>
>Last Name: {manager.lastName}
</Box>
</VStack>
</Box>
<Box>
First Name: {manager.firstName}
</Box>
<Box>
Last Name: {manager.lastName}
</Box>
</Box>
</Flex>
</Center>
)
}
......
......@@ -19,11 +19,12 @@ const OrderIndexPage = () => {
const [orderDetailsArr, setOrderDetailsArr] = useState<any>([])
const orderDetailsArrCreator = (orders: Order[]) => {
return orders.map((order: Order, idx: any) => {
return <Tr key={idx}><OrderDetails
date={new Date(order.orderCreatedAt).toLocaleDateString()}
orderNumber={order.id}
status={order.orderStatus}
/></Tr>
return <Tr key={idx}>
<OrderDetails
date={new Date(order.orderCreatedAt).toLocaleDateString()}
orderNumber={order.id}
status={order.orderStatus}/>
</Tr>
})
}
......@@ -56,35 +57,33 @@ const OrderIndexPage = () => {
}
return (
<div className="body-div">
<div className="table-div">
<div className="search-div">
<input
type="text"
placeholder=" Search by Order Number"
value={searchInput}
onChange={handleChange}
onKeyDown={handleChange}
className="searchbar"
>
</input>
</div>
<br/>
<div className="index-table">
<Table variant="striped" colorScheme="messenger" size="sm">
<Thead>
<Tr className="table-header">
<Th fontSize="26px" color="gray">Order number</Th>
<Th fontSize="26px" color="gray">Order Date</Th>
<Th fontSize="26px" color="gray">Order Status</Th>
</Tr>
</Thead>
<Tbody>
{ orderDetailsArr }
</Tbody>
</Table>
</div>
</div>
<div className="body-content-div">
<div className="search-div">
<input
type="text"
placeholder="Search Order Number"
value={searchInput}
onChange={handleChange}
onKeyDown={handleChange}
className="searchbar"
>
</input>
</div>
<br/>
<div className="index-table">
<Table variant="striped" colorScheme="messenger" size="sm">
<Thead>
<Tr className="table-header">
<Th fontSize="26px" color="gray">Order number</Th>
<Th fontSize="26px" color="gray">Order Date</Th>
<Th fontSize="26px" color="gray">Order Status</Th>
</Tr>
</Thead>
<Tbody>
{ orderDetailsArr }
</Tbody>
</Table>
</div>
</div>
)
}
......
......@@ -11,17 +11,19 @@ const MainRouter: React.FC = () => {
<StyleProvider>
<BrowserRouter>
<GoogleAuthProvider>
<Nav />
<main>
<Switch>
<PrivateRoute path="/account" component={AccountPage} />
<PublicRoute exact path="/" component={HomePage} />
<PrivateRoute path="/orders/:id" component={OrderShowPage} />
<PrivateRoute path="/orders" component={OrderIndexPage} />
{/* <Route component={NotFoundPage} /> */}
</Switch>
</main>
<Footer />
<body>
<Nav />
<main className="content">
<Switch>
<PrivateRoute path="/account" component={AccountPage} />
<PublicRoute exact path="/" component={HomePage} />
<PrivateRoute path="/orders/:id" component={OrderShowPage} />
<PrivateRoute path="/orders" component={OrderIndexPage} />
{/* <Route component={NotFoundPage} /> */}
</Switch>
</main>
<Footer />
</body>
</GoogleAuthProvider>
</BrowserRouter>
......
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