5
5
* about costs and number of matching candidates.
6
6
*/
7
7
import React , { useState , useEffect } from "react" ;
8
- import PT from "prop-types" ;
9
8
import cn from "classnames" ;
10
- import _ from "lodash" ;
11
- import {
12
- formatMoney ,
13
- } from "utils/format" ;
14
9
import { getAuthUserProfile } from "@topcoder/micro-frontends-navbar-app" ;
15
- import config from '../../../../../config' ;
16
10
import "./styles.module.scss" ;
17
11
import IconEarthCheck from "../../../../assets/images/icon-earth-check.svg" ;
18
12
import IconMultipleUsers from "../../../../assets/images/icon-multiple-users.svg" ;
@@ -22,15 +16,9 @@ import Curve from "../../../../assets/images/curve.svg";
22
16
import CircularProgressBar from "../CircularProgressBar" ;
23
17
import Button from "components/Button" ;
24
18
25
- function ResultCard ( {
26
- numberOfMembersAvailable,
27
- numberOfMembers,
28
- timeToCandidate,
29
- timeToInterview,
30
- isExternalMember,
31
- rates
32
- } ) {
19
+ function ResultCard ( ) {
33
20
const [ userHandle , setUserHandle ] = useState ( "handle" ) ;
21
+ const [ showSpecialRates , setShowSpecialRates ] = useState ( false ) ;
34
22
const [ showRates , setShowRates ] = useState ( false ) ;
35
23
36
24
useEffect ( ( ) => {
@@ -41,11 +29,16 @@ function ResultCard({
41
29
42
30
return (
43
31
< div styleName = "result-card" >
44
- < div styleName = "heading" >
32
+ < div
33
+ role = "button"
34
+ tabIndex = "0"
35
+ onClick = { ( ) => setShowSpecialRates ( ! showSpecialRates ) }
36
+ styleName = { cn ( "heading" , { [ "non-clickable" ] : ! showRates } ) }
37
+ >
45
38
< IconEarthCheck />
46
39
< h3 > We have matching profiles</ h3 >
47
40
< p >
48
- We have qualified candidates who match { config . MATCHING_RATE } % or more of your job
41
+ We have qualified candidates who match 80 % or more of your job
49
42
requirements.
50
43
</ p >
51
44
< Curve styleName = "curve" />
@@ -67,7 +60,7 @@ function ResultCard({
67
60
Rate Details
68
61
</ Button >
69
62
</ div >
70
- { showRates && ! isExternalMember && (
63
+ { showRates && showSpecialRates && (
71
64
< div styleName = "xeno-rates" >
72
65
< p styleName = "greeting-txt" >
73
66
Hi { userHandle } , we have special rates for you as a Xeno User!
@@ -79,23 +72,23 @@ function ResultCard({
79
72
< p > (40h / week)</ p >
80
73
</ div >
81
74
< div styleName = "senior" >
82
- < h4 > Global Rate </ h4 >
75
+ < h4 > Senior Member </ h4 >
83
76
< div styleName = "cost" >
84
- < h4 > { formatMoney ( rates [ 0 ] . global ) } </ h4 >
77
+ < h4 > $2,000 </ h4 >
85
78
< p > /Week</ p >
86
79
</ div >
87
80
</ div >
88
81
< div styleName = "standard" >
89
- < h4 > In-Conutry Rate </ h4 >
82
+ < h4 > Standard Member </ h4 >
90
83
< div styleName = "cost" >
91
- < h4 > { formatMoney ( rates [ 0 ] . inCountry ) } </ h4 >
84
+ < h4 > $1,500 </ h4 >
92
85
< p > /Week</ p >
93
86
</ div >
94
87
</ div >
95
88
< div styleName = "junior" >
96
- < h4 > Offshore Rate </ h4 >
89
+ < h4 > Junior Member </ h4 >
97
90
< div styleName = "cost" >
98
- < h4 > { formatMoney ( rates [ 0 ] . offShore ) } </ h4 >
91
+ < h4 > $1,000 </ h4 >
99
92
< p > /Week</ p >
100
93
</ div >
101
94
</ div >
@@ -106,23 +99,23 @@ function ResultCard({
106
99
< p > (30h / week)</ p >
107
100
</ div >
108
101
< div styleName = "senior" >
109
- < h4 > Global Rate </ h4 >
102
+ < h4 > Senior Member </ h4 >
110
103
< div styleName = "cost" >
111
- < h4 > { formatMoney ( rates [ 0 ] . rate30Global ) } </ h4 >
104
+ < h4 > $1,800 </ h4 >
112
105
< p > /Week</ p >
113
106
</ div >
114
107
</ div >
115
108
< div styleName = "standard" >
116
- < h4 > In-Conutry Rate </ h4 >
109
+ < h4 > Standard Member </ h4 >
117
110
< div styleName = "cost" >
118
- < h4 > { formatMoney ( rates [ 0 ] . rate30InCountry ) } </ h4 >
111
+ < h4 > $1,300 </ h4 >
119
112
< p > /Week</ p >
120
113
</ div >
121
114
</ div >
122
115
< div styleName = "junior" >
123
- < h4 > Offshore Rate </ h4 >
116
+ < h4 > Junior Member </ h4 >
124
117
< div styleName = "cost" >
125
- < h4 > { formatMoney ( rates [ 0 ] . rate30OffShore ) } </ h4 >
118
+ < h4 > $800 </ h4 >
126
119
< p > /Week</ p >
127
120
</ div >
128
121
</ div >
@@ -133,31 +126,31 @@ function ResultCard({
133
126
< p > (20h / week)</ p >
134
127
</ div >
135
128
< div styleName = "senior" >
136
- < h4 > Global Rate </ h4 >
129
+ < h4 > Senior Member </ h4 >
137
130
< div styleName = "cost" >
138
- < h4 > { formatMoney ( rates [ 0 ] . rate20Global ) } </ h4 >
131
+ < h4 > $1,600 </ h4 >
139
132
< p > /Week</ p >
140
133
</ div >
141
134
</ div >
142
135
< div styleName = "standard" >
143
- < h4 > In-Conutry Rate </ h4 >
136
+ < h4 > Standard Member </ h4 >
144
137
< div styleName = "cost" >
145
- < h4 > { formatMoney ( rates [ 0 ] . rate20InCountry ) } </ h4 >
138
+ < h4 > $1,100 </ h4 >
146
139
< p > /Week</ p >
147
140
</ div >
148
141
</ div >
149
142
< div styleName = "junior" >
150
- < h4 > Offshore Rate </ h4 >
143
+ < h4 > Junior Member </ h4 >
151
144
< div styleName = "cost" >
152
- < h4 > { formatMoney ( rates [ 0 ] . rate20OffShore ) } </ h4 >
145
+ < h4 > $600 </ h4 >
153
146
< p > /Week</ p >
154
147
</ div >
155
148
</ div >
156
149
</ div >
157
150
</ div >
158
151
</ div >
159
152
) }
160
- { showRates && isExternalMember && (
153
+ { showRates && ! showSpecialRates && (
161
154
< div styleName = "rate-content" >
162
155
< div styleName = "rate-left-side" >
163
156
< div styleName = "cost-info" >
@@ -166,7 +159,7 @@ function ResultCard({
166
159
< p > (40h / week)</ p >
167
160
</ div >
168
161
< div styleName = "weekly-rate" >
169
- < h5 > { formatMoney ( rates [ 0 ] . global ) } </ h5 >
162
+ < h5 > $1,800 </ h5 >
170
163
< p > /Week</ p >
171
164
</ div >
172
165
</ div >
@@ -176,7 +169,7 @@ function ResultCard({
176
169
< p > (30h / week)</ p >
177
170
</ div >
178
171
< div styleName = "weekly-rate" >
179
- < h5 > { formatMoney ( rates [ 0 ] . inCountry ) } </ h5 >
172
+ < h5 > $1,250 </ h5 >
180
173
< p > /Week</ p >
181
174
</ div >
182
175
</ div >
@@ -186,7 +179,7 @@ function ResultCard({
186
179
< p > (20h / week)</ p >
187
180
</ div >
188
181
< div styleName = "weekly-rate" >
189
- < h5 > { formatMoney ( rates [ 0 ] . offShore ) } </ h5 >
182
+ < h5 > $800 </ h5 >
190
183
< p > /Week</ p >
191
184
</ div >
192
185
</ div >
@@ -197,14 +190,14 @@ function ResultCard({
197
190
< IconMultipleActionsCheck />
198
191
< div >
199
192
< p > Qualified candidates within</ p >
200
- < h6 > { timeToCandidate } h </ h6 >
193
+ < h6 > 24h </ h6 >
201
194
</ div >
202
195
</ div >
203
196
< div styleName = "timeline-info" >
204
197
< IconTeamMeetingChat />
205
198
< div >
206
199
< p > Interviews can start within</ p >
207
- < h6 > { timeToInterview } h </ h6 >
200
+ < h6 > 48h </ h6 >
208
201
</ div >
209
202
</ div >
210
203
</ div >
@@ -216,11 +209,11 @@ function ResultCard({
216
209
< div >
217
210
< CircularProgressBar
218
211
size = "160"
219
- progress = { config . MATCHING_RATE }
212
+ progress = "80"
220
213
strokeWidth = "6"
221
214
children = {
222
215
< div styleName = "progressbar-child" >
223
- < h4 > { config . MATCHING_RATE } %</ h4 >
216
+ < h4 > 80 %</ h4 >
224
217
< p > Matching rate</ p >
225
218
</ div >
226
219
}
@@ -229,7 +222,7 @@ function ResultCard({
229
222
< div styleName = "vertical-line" />
230
223
< div >
231
224
< IconMultipleUsers styleName = "users" />
232
- < h4 > { numberOfMembersAvailable } +</ h4 >
225
+ < h4 > 300 +</ h4 >
233
226
< p > Members matched</ p >
234
227
</ div >
235
228
</ div >
@@ -253,12 +246,4 @@ function ResultCard({
253
246
) ;
254
247
}
255
248
256
- ResultCard . propTypes = {
257
- numberOfMembersAvailable :PT . number ,
258
- numberOfMembers : PT . string ,
259
- timeToCandidate : PT . number ,
260
- timeToInterview : PT . number ,
261
- isExternalMember : PT . bool ,
262
- rates : PT . array ,
263
- } ;
264
249
export default ResultCard ;
0 commit comments