Skip to content

Commit 04a1c18

Browse files
committed
feat: showHidden is already working
1 parent 8292ec9 commit 04a1c18

File tree

6 files changed

+48
-14
lines changed

6 files changed

+48
-14
lines changed

src/actions/searchOffersActions.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export const OfferSearchTypes = Object.freeze({
1515
DISABLE_OFFER: "DISABLE_OFFER",
1616
COMPANY_ENABLE_OFFER: "COMPANY_ENABLE_OFFER",
1717
ADMIN_ENABLE_OFFER: "ADMIN_ENABLE_OFFER",
18+
SET_SHOW_HIDDEN: "SET_SHOW_HIDDEN",
1819
});
1920

2021
export const setLoadingOffers = (loading) => ({
@@ -100,3 +101,8 @@ export const resetAdvancedSearchFields = () => (dispatch) => {
100101
dispatch(setFields([]));
101102
dispatch(setTechs([]));
102103
};
104+
105+
export const setShowHidden = (showHidden) => ({
106+
type: OfferSearchTypes.SET_SHOW_HIDDEN,
107+
showHidden,
108+
});

src/components/HomePage/SearchArea/AdvancedSearch/AdvancedSearchDesktop.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const AdvancedSearchDesktop = () => {
5353
const {
5454
advancedOptions, resetAdvancedSearch, FieldsSelectorProps, TechsSelectorProps, JobTypeSelectorProps, JobDurationSwitchProps,
5555
ResetButtonProps, JobDurationSliderText, JobDurationCollapseProps, JobDurationSwitchLabel, JobHiddenSwitchLabel,
56-
JobDurationSliderProps,
56+
JobDurationSliderProps, ShowHiddenSwitchProps,
5757
} = useContext(AdvancedSearchControllerContext);
5858

5959
return (
@@ -104,19 +104,19 @@ const AdvancedSearchDesktop = () => {
104104
}}
105105
/>
106106
<div className={classes.resetBtnWrapper}>
107-
<Button
108-
{...ResetButtonProps}
109-
_id="reset_btn"
110-
color="primary"
111-
onClick={resetAdvancedSearch}
112-
>
113-
Reset Advanced Fields
114-
</Button>
115-
</div>
107+
<Button
108+
{...ResetButtonProps}
109+
_id="reset_btn"
110+
color="primary"
111+
onClick={resetAdvancedSearch}
112+
>
113+
Reset Advanced Fields
114+
</Button>
115+
</div>
116116
{sessionData?.isAdmin &&
117117
<FormControlLabel
118118
className={classes.jobHiddenSliderToggle}
119-
control={<Switch {...JobDurationSwitchProps} />}
119+
control={<Switch {...ShowHiddenSwitchProps} />}
120120
label={JobHiddenSwitchLabel}
121121
/>
122122
}

src/components/HomePage/SearchArea/AdvancedSearch/useAdvancedSearch.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export default ({
1919
technologies,
2020
setTechs,
2121
resetAdvancedSearchFields,
22+
showHidden,
23+
setShowHidden,
2224
}) => {
2325

2426
const jobDuration = [jobMinDuration, jobMaxDuration];
@@ -72,6 +74,15 @@ export default ({
7274
const FieldsSelectorProps = useFieldSelector(fields, setFields);
7375
const TechsSelectorProps = useTechSelector(technologies, setTechs);
7476

77+
const toggleShowHidden = useCallback(() => {
78+
setShowHidden(!showHidden);
79+
}, [setShowHidden, showHidden]);
80+
81+
const ShowHiddenSwitchProps = {
82+
checked: showHidden,
83+
onChange: toggleShowHidden,
84+
value: "filterShowHiddenOffers",
85+
};
7586

7687
const advancedOptionsActive = showJobDurationSlider
7788
|| (jobType !== INITIAL_JOB_TYPE)
@@ -104,5 +115,6 @@ export default ({
104115
JobDurationSliderProps,
105116
JobDurationSliderText,
106117
ResetButtonProps,
118+
ShowHiddenSwitchProps,
107119
};
108120
};

src/components/HomePage/SearchArea/SearchArea.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
setShowJobDurationSlider,
1313
setTechs,
1414
hideOffer,
15+
setShowHidden,
1516
} from "../../../actions/searchOffersActions";
1617
import { INITIAL_JOB_TYPE, INITIAL_JOB_DURATION } from "../../../reducers/searchOffersReducer";
1718

@@ -37,7 +38,8 @@ export const AdvancedSearchControllerContext = React.createContext({});
3738
export const AdvancedSearchController = ({
3839
enableAdvancedSearchDefault, showJobDurationSlider, setShowJobDurationSlider, jobMinDuration,
3940
jobMaxDuration, setJobDuration, jobType, setJobType, fields, setFields, technologies, setTechs,
40-
resetAdvancedSearchFields, onSubmit, searchValue, setSearchValue, onMobileClose,
41+
resetAdvancedSearchFields, onSubmit, searchValue, setSearchValue, onMobileClose, showHidden,
42+
setShowHidden,
4143
}) => {
4244

4345
const {
@@ -73,6 +75,8 @@ export const AdvancedSearchController = ({
7375
setTechs: actualSetTechs,
7476
resetAdvancedSearchFields: actualResetAdvancedSearchFields,
7577
hideOffer,
78+
showHidden,
79+
setShowHidden,
7680
});
7781

7882
const { search: searchOffers } = useOffersSearcher({
@@ -82,6 +86,7 @@ export const AdvancedSearchController = ({
8286
jobType,
8387
fields,
8488
technologies,
89+
showHidden,
8590
});
8691

8792
const submitForm = useCallback((e, updateUrl = true) => {
@@ -126,7 +131,8 @@ export const AdvancedSearchController = ({
126131
export const SearchArea = ({ onSubmit, searchValue,
127132
jobMinDuration = INITIAL_JOB_DURATION, jobMaxDuration = INITIAL_JOB_DURATION + 1, jobType = INITIAL_JOB_TYPE,
128133
fields, technologies, showJobDurationSlider, setShowJobDurationSlider, advanced: enableAdvancedSearchDefault = false,
129-
setSearchValue, setJobDuration, setJobType, setFields, setTechs, resetAdvancedSearchFields, onMobileClose }) => {
134+
setSearchValue, setJobDuration, setJobType, setFields, setTechs, resetAdvancedSearchFields, onMobileClose, showHidden,
135+
setShowHidden }) => {
130136

131137
const classes = useSearchAreaStyles();
132138
const {
@@ -142,6 +148,7 @@ export const SearchArea = ({ onSubmit, searchValue,
142148
enableAdvancedSearchDefault, showJobDurationSlider, setShowJobDurationSlider, jobMinDuration,
143149
jobMaxDuration, setJobDuration, jobType, setJobType, fields, setFields, technologies, setTechs,
144150
resetAdvancedSearchFields, hideOffer, onSubmit, searchValue, setSearchValue, onMobileClose,
151+
showHidden, setShowHidden,
145152
},
146153
AdvancedSearchControllerContext
147154
);
@@ -202,6 +209,8 @@ SearchArea.propTypes = {
202209
setTechs: PropTypes.func.isRequired,
203210
setShowJobDurationSlider: PropTypes.func.isRequired,
204211
onMobileClose: PropTypes.func,
212+
showHidden: PropTypes.bool,
213+
setShowHidden: PropTypes.func,
205214
advanced: PropTypes.bool,
206215
};
207216

@@ -213,6 +222,7 @@ export const mapStateToProps = ({ offerSearch }) => ({
213222
fields: offerSearch.fields,
214223
technologies: offerSearch.technologies,
215224
showJobDurationSlider: offerSearch.filterJobDuration,
225+
showHidden: offerSearch.showHidden,
216226
});
217227

218228
export const mapDispatchToProps = (dispatch) => ({
@@ -222,6 +232,7 @@ export const mapDispatchToProps = (dispatch) => ({
222232
setFields: (fields) => dispatch(setFields(fields)),
223233
setTechs: (technologies) => dispatch(setTechs(technologies)),
224234
setShowJobDurationSlider: (val) => dispatch(setShowJobDurationSlider(val)),
235+
setShowHidden: (val) => dispatch(setShowHidden(val)),
225236
resetAdvancedSearchFields: () => dispatch(resetAdvancedSearchFields()),
226237
});
227238

src/components/HomePage/SearchArea/searchAreaStyle.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,5 @@ export default makeStyles((theme) => ({
9696
jobHiddenSliderToggle: {
9797
gridRowStart: 4,
9898
gridColumnStart: 2,
99-
10099
},
101100
}));

src/reducers/searchOffersReducer.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const initialState = {
1818
offers: [],
1919
loading: false,
2020
error: INITIAL_ERROR,
21+
showHidden: false,
2122
};
2223

2324
export default (state = initialState, action) => {
@@ -107,6 +108,11 @@ export default (state = initialState, action) => {
107108
new Offer({ ...offer, isHidden: false, hiddenReason: null, adminReason: null })
108109
: offer
109110
) };
111+
case OfferSearchTypes.SET_SHOW_HIDDEN:
112+
return {
113+
...state,
114+
showHidden: action.showHidden,
115+
};
110116
default:
111117
return state;
112118
}

0 commit comments

Comments
 (0)