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

Commit ad564eb

Browse files
committed
fix: issue #482, #483
1 parent 50c61a0 commit ad564eb

File tree

4 files changed

+38
-5
lines changed

4 files changed

+38
-5
lines changed

src/routes/CreateNewTeam/components/SearchAndSubmit/index.jsx

+38-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ import { Router, navigate } from "@reach/router";
22
import _ from "lodash";
33
import React, { useCallback, useState, useEffect, useMemo } from "react";
44
import { useDispatch, useSelector } from "react-redux";
5+
import { getAuthUserTokens } from "@topcoder/micro-frontends-navbar-app";
6+
import { decodeToken } from "tc-auth-lib";
57
import { SEARCH_STAGE_TIME } from "constants/";
68
import { useData } from "hooks/useData";
79
import { getSkills } from "services/skills";
8-
import { searchRoles } from "services/teams";
10+
import { searchRoles, isExternalMemberRequest } from "services/teams";
11+
import { getRoleById } from "services/roles";
912
import { isCustomRole, setCurrentStage } from "utils/helpers";
1013
import {
1114
clearMatchingRole,
@@ -21,11 +24,44 @@ const SEARCHINGTIME = SEARCH_STAGE_TIME * 3 + 100;
2124

2225
function SearchAndSubmit(props) {
2326
const { stages, setStages, searchObject, onClick, page } = props;
24-
2527
const [searchState, setSearchState] = useState(null);
2628
const [isNewRole, setIsNewRole] = useState(false);
29+
const [isExternalMember, setIsExternalMember] = useState(null);
2730
const [skills] = useData(getSkills);
2831
const { matchingRole } = useSelector((state) => state.searchedRoles);
32+
const { userId } = useSelector((state) => state.authUser);
33+
useEffect(() => {
34+
if (stages.length === 3) {
35+
getAuthUserTokens().then(({ tokenV3 }) => {
36+
if (!!tokenV3) {
37+
const tokenData = decodeToken(tokenV3);
38+
isExternalMemberRequest({
39+
memberId: tokenData.userId,
40+
}).then((res) => {
41+
const newStages = [...stages, { name: "Overview of the Results" }];
42+
setIsExternalMember(res.data);
43+
setStages(newStages);
44+
});
45+
}
46+
});
47+
}
48+
}, [stages, setStages]);
49+
50+
useEffect(() => {
51+
if (isExternalMember === false) {
52+
if (matchingRole && matchingRole.isExternalMember) {
53+
getRoleById(matchingRole.id).then((res) => {
54+
// update role info
55+
const newRole = {
56+
...matchingRole,
57+
rates: res.data.rates,
58+
isExternalMember: false,
59+
};
60+
dispatch(saveMatchingRole(newRole));
61+
});
62+
}
63+
}
64+
}, [isExternalMember, matchingRole, dispatch]);
2965

3066
const matchedSkills = useMemo(() => {
3167
if (skills && matchingRole && matchingRole.matchedSkills) {

src/routes/CreateNewTeam/pages/InputJobDescription/index.jsx

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ function InputJobDescription() {
1818
{ name: "Input Job Description", isCurrent: true },
1919
{ name: "Search Member" },
2020
{ name: "Overview of the Results" },
21-
{ name: "Refundable Deposit Payment" },
2221
]);
2322
const [jdString, setJdString] = useState("");
2423
const [jobTitle, setJobTitle] = useState("");

src/routes/CreateNewTeam/pages/InputSkills/index.jsx

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ function InputSkills() {
2121
{ name: "Input Skills", isCurrent: true },
2222
{ name: "Search Member" },
2323
{ name: "Overview of the Results" },
24-
{ name: "Refundable Deposit Payment" },
2524
]);
2625
const [selectedSkills, setSelectedSkills] = useState([]);
2726
const [popupSelectedSkills, setPopupSelectedSkills] = useState([]);

src/routes/CreateNewTeam/pages/SelectRole/index.jsx

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ function SelectRole() {
2525
{ name: "Select a Role", isCurrent: true },
2626
{ name: "Search Member" },
2727
{ name: "Overview of the Results" },
28-
{ name: "Refundable Deposit Payment" },
2928
]);
3029
const [selectedRoleId, setSelectedRoleId] = useState(null);
3130
const [roleDetailsModalOpen, setRoleDetailsModalOpen] = useState(false);

0 commit comments

Comments
 (0)