Skip to content

Commit e8297ac

Browse files
committed
add search button onClick function, adjust searchbar styling, add search to include tags
1 parent 6d2047f commit e8297ac

File tree

3 files changed

+20
-10
lines changed

3 files changed

+20
-10
lines changed

components/blog/SearchBar.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,32 @@
11
import styles from '@/styles/SearchBar.module.scss';
2+
import { useRef } from 'react';
23

3-
const SearchBar = ({ posts, setSearchTerm, setSearchResults }) => {
4-
const handleChange = e => {
5-
if (!e.target.value) return setSearchResults(null);
6-
const results = posts.filter(post =>
7-
post.title.toLowerCase().includes(e.target.value.toLowerCase())
4+
const SearchBar = ({ items, setSearchTerm, setSearchResults }) => {
5+
const searchInput = useRef(null);
6+
const search = () => {
7+
const searchTerm = searchInput.current.value;
8+
if (!searchTerm) return setSearchResults(null);
9+
const results = items.filter(
10+
post =>
11+
post.title.toLowerCase().includes(searchTerm.toLowerCase()) ||
12+
post.tagList.some(tag =>
13+
tag.toLowerCase().includes(searchTerm.toLowerCase())
14+
)
815
);
916
setSearchResults(results);
10-
setSearchTerm(e.target.value);
17+
setSearchTerm(searchTerm);
1118
};
1219
return (
1320
<div className={styles.searchBar}>
1421
<input
22+
ref={searchInput}
1523
type='search'
1624
placeholder='keyword or topic'
17-
onChange={handleChange}
25+
onChange={search}
1826
/>
19-
<button type='submit'>Search</button>
27+
<button type='submit' onClick={search}>
28+
Search
29+
</button>
2030
</div>
2131
);
2232
};

pages/blog/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default function Blog({ posts }) {
2525
title={searchResults ? '' : 'Latest Posts'}
2626
/>
2727
<SearchBar
28-
posts={posts}
28+
items={posts}
2929
setSearchTerm={setSearchTerm}
3030
setSearchResults={setSearchResults}
3131
/>

styles/SearchBar.module.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
background: url('/images/svg/search.svg');
3232
background-size: cover;
3333
background-repeat: no-repeat;
34-
margin: 0.5rem 1rem 0.5rem 0;
34+
margin: 0.5rem 1rem 0.5rem 1rem;
3535
cursor: pointer;
3636
}
3737
}

0 commit comments

Comments
 (0)