Skip to content

Commit 8dac929

Browse files
authored
Favourite Clear Button (#43)
1 parent 9e68bc3 commit 8dac929

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

my-app/src/presenters/SearchbarPresenter.jsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,17 @@ const SearchbarPresenter = observer(({ model }) => {
1616
model.removeFavourite(course);
1717
}
1818

19+
function removeAllFavourites(){
20+
model.setFavourite([]);
21+
}
22+
1923
return (
2024
<SearchbarView
2125
model={model}
2226
searchCourses={searchCourses}
2327
favouriteCourses = {model.favourites}
2428
removeFavourite={removeFavourite}
29+
removeAllFavourites={removeAllFavourites}
2530
/>
2631
);
2732
});

my-app/src/views/Components/FavouriteDropdown.jsx

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,30 @@ function FavouritesDropdown(props) {
44
return (
55
<div className="absolute mt-2 w-48 bg-white border border-solid border-black rounded-lg z-50 overflow-y-auto">
66
{props.favouriteCourses.length > 0 ? (
7-
props.favouriteCourses.map(course => (
8-
<div
9-
key={course.code}
10-
className="p-2 flex justify-between items-center w-full border border-solid border-black">
11-
<p
12-
className="text-black">
13-
{course.name}
14-
</p>
15-
<button
16-
className="text-red-500 cursor-pointer"
17-
onClick={() => props.removeFavourite(course)}>
18-
X
19-
</button>
20-
</div>
21-
))
22-
) : (
7+
8+
props.favouriteCourses.map(course => (
9+
<div
10+
key={course.code}
11+
className="p-2 flex justify-between items-center w-full border border-solid border-black">
12+
<p
13+
className="text-black">
14+
{course.name}
15+
</p>
16+
<button
17+
className="text-red-500 cursor-pointer"
18+
onClick={() => props.removeFavourite(course)}>
19+
X
20+
</button>
21+
</div>
22+
))
23+
24+
25+
) : (
2326
<div className="p-2 text-[#000061]">
2427
No favourites
2528
</div>
2629
)}
30+
{props.favouriteCourses.length > 0 ? <button onClick={props.removeAllFavourites}>Clear Favourites</button> : ""}
2731
</div>
2832
);
2933
}

my-app/src/views/SearchbarView.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ function SearchbarView(props) {
7171
courses={props.courses}
7272
favouriteCourses={props.favouriteCourses}
7373
removeFavourite={props.removeFavourite}
74+
removeAllFavourites={props.removeAllFavourites}
7475
/>
7576
)}
7677
</div>

0 commit comments

Comments
 (0)