diff --git a/src/constants/index.js b/src/constants/index.js index 46a60d98..f1c5b67c 100644 --- a/src/constants/index.js +++ b/src/constants/index.js @@ -258,6 +258,12 @@ export const ACTION_TYPE = { ADD_SEARCHED_ROLE: "ADD_SEARCHED_ROLE", ADD_ROLE_SEARCH_ID: "ADD_ROLE_SEARCH_ID", DELETE_SEARCHED_ROLE: "DELETE_SEARCHED_ROLE", + + /* + * matching role + */ + ADD_MATCHING_ROLE: "ADD_MATCHING_ROLE", + DELETE_MATCHING_ROLE: "DELETE_MATCHING_ROLE", }; /** diff --git a/src/routes/CreateNewTeam/actions/index.js b/src/routes/CreateNewTeam/actions/index.js index a67e6569..0a224017 100644 --- a/src/routes/CreateNewTeam/actions/index.js +++ b/src/routes/CreateNewTeam/actions/index.js @@ -27,6 +27,15 @@ const deleteRole = (id) => ({ payload: id, }); +const addMatchingRole = (matchingRole) => ({ + type: ACTION_TYPE.ADD_MATCHING_ROLE, + payload: matchingRole, +}); + +const deleteMatchingRole = () => ({ + type: ACTION_TYPE.DELETE_MATCHING_ROLE, +}); + export const clearSearchedRoles = () => (dispatch, getState) => { dispatch(clearRoles()); updateLocalStorage(getState().searchedRoles); @@ -46,3 +55,13 @@ export const deleteSearchedRole = (id) => (dispatch, getState) => { dispatch(deleteRole(id)); updateLocalStorage(getState().searchedRoles); }; + +export const saveMatchingRole = (matchingRole) => (dispatch, getState) => { + dispatch(addMatchingRole(matchingRole)); + updateLocalStorage(getState().searchedRoles); +}; + +export const clearMatchingRole = () => (dispatch, getState) => { + dispatch(deleteMatchingRole()); + updateLocalStorage(getState().searchedRoles); +}; diff --git a/src/routes/CreateNewTeam/components/AddedRolesAccordion/index.jsx b/src/routes/CreateNewTeam/components/AddedRolesAccordion/index.jsx index ece5e080..1618b2b3 100644 --- a/src/routes/CreateNewTeam/components/AddedRolesAccordion/index.jsx +++ b/src/routes/CreateNewTeam/components/AddedRolesAccordion/index.jsx @@ -8,11 +8,16 @@ import React, { useState } from "react"; import PT from "prop-types"; import cn from "classnames"; +import { useDispatch } from "react-redux"; +import { deleteSearchedRole } from "../../actions"; import "./styles.module.scss"; +import IconCrossLight from "../../../../assets/images/icon-cross-light.svg"; function AddedRolesAccordion({ addedRoles }) { const [isOpen, setIsOpen] = useState(false); + const dispatch = useDispatch(); + return addedRoles.length ? (
We will be looking internally for members matching your requirements and be back at them in about 2 weeks. @@ -38,11 +69,20 @@ function NoMatchingProfilesResultCard({ role }) {
/Week