Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit ec74478

Browse files
committed
fix: issue #47
issue id - #47
1 parent 823eb37 commit ec74478

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

src/containers/Challenges/Listing/index.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ const Listing = ({
2424
startDateEnd,
2525
updateFilter,
2626
bucket,
27+
tags,
2728
getChallenges,
2829
}) => {
2930
const sortByOptions = utils.createDropdownOptions(
@@ -106,7 +107,7 @@ const Listing = ({
106107
<ChallengeItem
107108
challenge={challenge}
108109
onClickTag={(tag) => {
109-
const filterChange = { search: tag };
110+
const filterChange = { tags: [...tags, tag] };
110111
updateFilter(filterChange);
111112
getChallenges(filterChange);
112113
}}

src/containers/Challenges/index.jsx

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const Challenges = ({
1717
getChallenges,
1818
updateFilter,
1919
bucket,
20+
tags,
2021
}) => {
2122
const [initialized, setInitialized] = useState(false);
2223

@@ -40,6 +41,7 @@ const Challenges = ({
4041
startDateEnd={startDateEnd}
4142
updateFilter={updateFilter}
4243
bucket={bucket}
44+
tags={tags}
4345
getChallenges={getChallenges}
4446
/>
4547
)}
@@ -58,6 +60,7 @@ Challenges.propTypes = {
5860
getChallenges: PT.func,
5961
updateFilter: PT.func,
6062
bucket: PT.string,
63+
tags: PT.arrayOf(PT.string),
6164
};
6265

6366
const mapStateToProps = (state) => ({
@@ -70,6 +73,7 @@ const mapStateToProps = (state) => ({
7073
startDateEnd: state.filter.challenge.startDateEnd,
7174
challenges: state.challenges.challengesFiltered,
7275
bucket: state.filter.challenge.bucket,
76+
tags: state.filter.challenge.tags,
7377
});
7478

7579
const mapDispatchToProps = {

src/containers/Filter/ChallengeFilter/index.jsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ const ChallengeFilter = ({
2727
saveFilter,
2828
clearFilter,
2929
}) => {
30-
const tagOptions = utils.createDropdownTermOptions(challengeTags);
30+
const tagOptions = utils.createDropdownTermOptions(challengeTags, tags);
3131
const bucketOptions = utils.createRadioOptions(challengeBuckets, bucket);
3232

3333
const [filter, setFilter] = useState(
@@ -42,7 +42,6 @@ const ChallengeFilter = ({
4242
})
4343
);
4444

45-
utils.setSelectedDropdownTermOptions(tagOptions, filter.tags);
4645

4746
return (
4847
<div styleName="filter">
@@ -110,10 +109,12 @@ const ChallengeFilter = ({
110109
const selectedTagOptions = utils.getSelectedDropdownTermsOptions(
111110
newTagOptions
112111
);
113-
setFilter({
112+
const filterChange = {
114113
...filter,
115114
tags: selectedTagOptions.map((tagOption) => tagOption.label),
116-
});
115+
}
116+
setFilter(filterChange);
117+
saveFilter(filterChange);
117118
}}
118119
/>
119120
</div>

src/utils/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export function setSelectedDropdownOptions(options, selectedValues) {
4747
export function createDropdownTermOptions(values, selectedValues) {
4848
return values.map((value) => ({
4949
label: `${value}`,
50-
selected: !!selectedValues && selectedValues.includes[value],
50+
selected: !!selectedValues && selectedValues.includes(value),
5151
}));
5252
}
5353

0 commit comments

Comments
 (0)