@@ -15,10 +15,12 @@ import ImgLogo from '../../public/images/img-logo.svg'
1515
1616// Bootstrap
1717import Button from "react-bootstrap/Button" ;
18- import InputGroup from 'react-bootstrap/InputGroup'
19- import FormControl from 'react-bootstrap/FormControl'
18+ import InputGroup from 'react-bootstrap/InputGroup' ;
19+ import FormControl from 'react-bootstrap/FormControl' ;
20+ import DropdownButton from 'react-bootstrap/DropdownButton' ;
21+ import Dropdown from 'react-bootstrap/Dropdown'
2022
21- import { FiSearch } from "react-icons/fi" ;
23+ import { FiSearch , FiPlus } from "react-icons/fi" ;
2224
2325// Styled Component
2426import styled from "styled-components" ;
@@ -30,6 +32,7 @@ const AppHeader = styled.div`
3032 right: 0;
3133 display: flex;
3234 justify-content: space-between;
35+ align-items: flex-start;
3336 width: 100%;
3437 padding: 0.6rem 0.8rem;
3538 background-color: var(--color-brand);
@@ -48,9 +51,15 @@ const Logo = styled.h1`
4851 cursor: pointer;
4952` ;
5053
54+ const NavbarSearchInputContainer = styled . div `
55+ display: flex;
56+ align-items: center;
57+ max-width: 560px;
58+ width: 60% !important;
59+ ` ;
60+
5161const NavbarSearchInput = styled ( InputGroup ) `
5262 position: relative;
53- width: 60% !important;
5463 border-radius: 0.4rem;
5564 background-color: rgba(var(--color-neutral-100-rgb), 0.3);
5665
@@ -81,7 +90,7 @@ const NavbarSearchInputControl = styled(FormControl)`
8190` ;
8291
8392const CloseIcon = styled ( FiX ) `
84- margin: 0.36rem ;
93+ margin: 0.37rem ;
8594` ;
8695
8796const UserThumb = styled . div `
@@ -100,6 +109,10 @@ const UserThumbName = styled.div`
100109 font-size: var(--fs-sm);
101110 color: var(--color-neutral-10);
102111 line-height: 1;
112+ max-width: 64px;
113+ white-space: nowrap;
114+ overflow: hidden;
115+ text-overflow: ellipsis;
103116` ;
104117
105118const LogoutButton = styled ( Button ) `
@@ -108,8 +121,11 @@ const LogoutButton = styled(Button)`
108121
109122const LoginBar = styled . div `
110123 display: flex;
124+ align-items: center;
111125` ;
112126
127+
128+
113129const Header = ( { setOpen, user, setUser } ) => {
114130 // console.log(user);
115131 // sign out function
@@ -133,18 +149,29 @@ const Header = ({ setOpen, user, setUser }) => {
133149 < div className = "sr-only" > TryShape</ div >
134150 </ Logo >
135151 </ Link >
136- < NavbarSearchInput >
137- < NavbarSearchInputText id = "basic-addon1" > < FiSearch color = 'white' size = '18px' /> </ NavbarSearchInputText >
138- < NavbarSearchInputControl
139- placeholder = "Search a shape"
140- aria-label = "Search a shape"
141- aria-describedby = "basic-addon1"
142- />
143- < CloseIcon color = '#ffffff' size = '24px' />
144- </ NavbarSearchInput >
152+ < NavbarSearchInputContainer >
153+ < NavbarSearchInput >
154+ < NavbarSearchInputText id = "basic-addon1" > < FiSearch color = 'white' size = '18px' /> </ NavbarSearchInputText >
155+ < NavbarSearchInputControl
156+ placeholder = "Search a shape"
157+ aria-label = "Search a shape"
158+ aria-describedby = "basic-addon1"
159+ />
160+ < CloseIcon color = '#ffffff' size = '24px' />
161+ </ NavbarSearchInput >
162+ < DropdownButton variant = "outline-secondary" size = "sm" id = "dropdown-basic-button" title = "View by Popularity" className = "border-0" >
163+ < Dropdown . Item href = "#/action-1" > Likes</ Dropdown . Item >
164+ < Dropdown . Item href = "#/action-2" active > Popularity</ Dropdown . Item >
165+ < Dropdown . Item href = "#/action-3" > Newly Added</ Dropdown . Item >
166+ </ DropdownButton >
167+ </ NavbarSearchInputContainer >
145168 { ( user . email || user . displayName ) ? (
146169 < >
147- < LoginBar >
170+ < LoginBar >
171+ < Button variant = "primary" size = "sm" className = "mr-3" >
172+ < FiPlus />
173+ Add Shape
174+ </ Button >
148175 < UserThumb >
149176 < img
150177 src = {
@@ -156,8 +183,7 @@ const Header = ({ setOpen, user, setUser }) => {
156183 />
157184 < UserThumbName > { user . displayName ? user . displayName : "User" } </ UserThumbName >
158185 </ UserThumb >
159-
160- < LogoutButton onClick = { signOut } variant = "link" className = "btn-icon" >
186+ < LogoutButton onClick = { signOut } variant = "link" className = "btn-icon p-0 ml-2" >
161187 < FiPower color = 'var(--color-neutral-10' size = "18px" />
162188 < div className = "sr-only" > Sign Out</ div >
163189 </ LogoutButton >
0 commit comments