Skip to content

Commit 5b4ddcc

Browse files
authored
Add search clearing (#29)
Add search clearing
2 parents be5dfec + 66af3e9 commit 5b4ddcc

File tree

3 files changed

+28
-9
lines changed

3 files changed

+28
-9
lines changed

site/src/components/Header.js

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ import { Close } from 'icons/Close'
44
import { ExternalLink } from 'icons/ExternalLink'
55
import React from 'react'
66
import { onClose } from '../providers/WidgetProvider'
7+
import { theme } from '../styles/theme'
78
import { AnchorButton } from './Button/AnchorButton'
89
import { Button } from './Button/Button'
910

1011
export const Header = ({
1112
primaryColor: [red, green, blue],
12-
onSearchChange,
13+
setSearchValue,
1314
logoSrc,
1415
homepage,
1516
htmlUrl,
@@ -63,6 +64,7 @@ export const Header = ({
6364
borderRadius: 34,
6465
flexGrow: 1,
6566
marginLeft: '0.5rem',
67+
position: 'relative',
6668
}}
6769
>
6870
<input
@@ -74,7 +76,7 @@ export const Header = ({
7476
: `rgba(${red}, ${green}, ${blue}, 0.9)`,
7577
border: '1px solid transparent',
7678
borderRadius: '4px',
77-
padding: '0.25rem 0.75rem',
79+
padding: '0.25rem 2rem 0.25rem 0.75rem',
7880
WebkitAppearance: 'none',
7981
'::placeholder': {
8082
color: 'white',
@@ -88,8 +90,27 @@ export const Header = ({
8890
},
8991
},
9092
}}
91-
onChange={onSearchChange}
93+
value={searchValue}
94+
onChange={({ target: { value } }) => setSearchValue(value)}
9295
/>
96+
{searchValue && (
97+
<Button
98+
onClick={() => setSearchValue('')}
99+
css={{
100+
position: 'absolute',
101+
marginRight: '0.25rem',
102+
borderRadius: '50%',
103+
padding: '0.25rem',
104+
right: 0,
105+
':hover': {
106+
background: 'initial',
107+
},
108+
}}
109+
>
110+
<Close css={{ color: theme.color.accent, width: 22, height: 22 }} />
111+
<VisuallyHidden>Clear search</VisuallyHidden>
112+
</Button>
113+
)}
93114
</div>
94115

95116
{isWidget ? (

site/src/templates/ReleaseTemplate.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ const ReleaseTemplate = ({
4747
mark.current.mark(value)
4848
}, 100)
4949

50-
search.current = event => {
51-
const value = event.target.value
50+
search.current = value => {
5251
setSearchValue(value)
5352
debouncedMark(value)
5453
}
@@ -103,7 +102,7 @@ const ReleaseTemplate = ({
103102
htmlUrl={htmlUrl}
104103
logoSrc={logoSrc}
105104
primaryColor={primaryColor}
106-
onSearchChange={getReleaseSearch()}
105+
setSearchValue={getReleaseSearch()}
107106
searchValue={searchValue}
108107
/>
109108
<SiteWrapper>

site/src/templates/ReleasesTemplate.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ const ReleasesTemplate = ({
5555
setReleases(!!value ? releaseSearch.search(value) : edges)
5656
}, 100)
5757

58-
search.current = event => {
59-
const value = event.target.value
58+
search.current = value => {
6059
setSearchValue(value)
6160
debouncedReleaseSearch(value)
6261
}
@@ -120,7 +119,7 @@ const ReleasesTemplate = ({
120119
<Header
121120
homepage={homepage}
122121
htmlUrl={htmlUrl}
123-
onSearchChange={getReleaseSearch()}
122+
setSearchValue={getReleaseSearch()}
124123
searchValue={searchValue}
125124
logoSrc={logoSrc}
126125
primaryColor={primaryColor}

0 commit comments

Comments
 (0)