Skip to content

Commit 6e1af03

Browse files
Merge pull request #5508 from topcoder-platform/develop
Release v1.9.1
2 parents 00e03a0 + 6a46fd5 commit 6e1af03

29 files changed

+50
-39
lines changed

.circleci/config.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,6 @@ workflows:
305305
branches:
306306
only:
307307
- develop
308-
- nursoltan-s-issue-5490
309308
- "approve-smoke-test-on-staging":
310309
type: approval
311310
requires:

src/assets/images/og_image.jpg

-16.6 KB
Binary file not shown.
Binary file not shown.
Loading
Binary file not shown.
Loading
Binary file not shown.
Loading
Binary file not shown.
Loading
Binary file not shown.
Loading
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

src/shared/actions/recruitCRM.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ function normalizeRecruitPayload(job, payload) {
6969
contact_number: payload.phone,
7070
city: payload.city,
7171
locality: _.find(payload.country, { selected: true }).label,
72-
salary_expectation: payload.payExpectation,
72+
salary_expectation: _.trim(payload.payExpectation),
7373
skill: payload.skills.filter(s => s.selected).map(s => s.label).join(','),
7474
custom_fields: [
7575
{

src/shared/components/GUIKit/JobListCard/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { config, Link } from 'topcoder-react-utils';
88
import { getSalaryType, getCustomField } from 'utils/gigs';
99
import { withOptimizely } from '@optimizely/react-sdk';
1010
import './style.scss';
11-
import IconBlackDuration from 'assets/images/icon-black-duration.svg';
11+
import IconBlackDuration from 'assets/images/icon-black-calendar.svg';
1212
import IconBlackLocation from 'assets/images/icon-black-location.svg';
1313
import IconBlackPayment from 'assets/images/icon-black-payment.svg';
1414
import iconBlackSkills from 'assets/images/icon-skills.png';

src/shared/components/GUIKit/JobListCard/style.scss

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
}
7878

7979
&:nth-child(3) {
80-
width: 263px;
80+
width: 345px;
8181

8282
@media (max-width: 1280px) {
8383
width: auto;
@@ -102,6 +102,8 @@
102102
svg,
103103
img {
104104
margin-right: 7px;
105+
width: 20px;
106+
height: 20px;
105107
}
106108
}
107109

src/shared/components/Gigs/GigApply/index.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,9 @@ export default function GigApply(props) {
207207
<h4>RESUME & SKILLS</h4>
208208
{
209209
recruitProfile.resume ? (
210-
<p>Upload Your Resume or CV, <a href={recruitProfile.resume.file_link} target="_blank" rel="noreferrer">{recruitProfile.resume.filename}</a></p>
210+
<p>Please upload your resume/CV. Double-check that all of your tech skills are listed in your resume/CV and add them to the tech skills section below, <a href={recruitProfile.resume.file_link} target="_blank" rel="noreferrer">{recruitProfile.resume.filename}</a></p>
211211
) : (
212-
<p>Upload Your Resume or CV</p>
212+
<p>Please upload your resume/CV. Double-check that all of your tech skills are listed in your resume/CV and add them to the tech skills section below.</p>
213213
)
214214
}
215215
<div styleName="form-section">

src/shared/containers/Gigs/RecruitCRMJobs.jsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -202,11 +202,11 @@ class RecruitCRMJobsContainer extends React.Component {
202202
}
203203
// Sort controlled by sortBy state
204204
jobsToDisplay = jobsToDisplay.sort((a, b) => {
205-
// sort tags first no matter the sortBy
206-
const tagA = getCustomField(a.custom_fields, 'Job Tag');
207-
const tagB = getCustomField(b.custom_fields, 'Job Tag');
208-
if (tagB !== 'n/a' && tagA === 'n/a') return Number.MAX_VALUE;
209-
if (tagB === 'n/a' && tagA !== 'n/a') return -Number.MIN_VALUE;
205+
// sort featured gigs first no matter the sortBy
206+
const featuredA = getCustomField(a.custom_fields, 'Featured');
207+
const featuredB = getCustomField(b.custom_fields, 'Featured');
208+
if (featuredB !== 'n/a' && featuredA === 'n/a') return Number.MAX_VALUE;
209+
if (featuredB === 'n/a' && featuredA !== 'n/a') return -Number.MIN_VALUE;
210210
return new Date(b[sortBy]) - new Date(a[sortBy]);
211211
});
212212
// Calc pages
@@ -248,6 +248,15 @@ class RecruitCRMJobsContainer extends React.Component {
248248
<div styleName="location"><IconBlackLocation /> {hjob.country}</div>
249249
<h5 styleName="job-title">{hjob.name}</h5>
250250
<div styleName="job-money">${hjob.min_annual_salary} - {hjob.max_annual_salary} / {getSalaryType(hjob.salary_type)}</div>
251+
{
252+
getCustomField(hjob.custom_fields, 'Hotlist excerpt') !== 'n/a' ? (
253+
<div styleName="job-desc">
254+
{
255+
`${getCustomField(hjob.custom_fields, 'Hotlist excerpt').substring(0, CONTENT_PREVIEW_LENGTH)}${getCustomField(hjob.custom_fields, 'Hotlist excerpt').length > CONTENT_PREVIEW_LENGTH ? '...' : ''}`
256+
}
257+
</div>
258+
) : null
259+
}
251260
</Link>
252261
) : (
253262
<div styleName={`hotlist-item-${indx + 1}`} to={`${config.GIGS_PAGES_PATH}/${hjob.slug}`} key={`hotlist-item-${indx + 1}`}>

src/shared/containers/challenge-detail/index.jsx

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -49,30 +49,22 @@ import { getService } from 'services/contentful';
4949
// getRecommendedTags,
5050
// } from 'utils/challenge-detail/helper';
5151

52-
import ogWireframe from
53-
'../../../assets/images/open-graph/challenges/01-wireframe.jpg';
5452
import ogUiDesign from
55-
'../../../assets/images/open-graph/challenges/02-ui-design.jpg';
56-
import ogUiPrototype from
57-
'../../../assets/images/open-graph/challenges/03-ui-prototype.jpg';
53+
'../../../assets/images/open-graph/challenges/02-Design-Preview.png';
5854
import ogFirst2Finish from
59-
'../../../assets/images/open-graph/challenges/04-first-2-finish.jpg';
55+
'../../../assets/images/open-graph/challenges/09-First2Finish.png';
6056
import ogDevelopment from
61-
'../../../assets/images/open-graph/challenges/05-development.jpg';
57+
'../../../assets/images/open-graph/challenges/03-Development.png';
6258
import ogBigPrizesChallenge from
63-
'../../../assets/images/open-graph/challenges/09-big-prizes-challenge.jpg';
64-
import ogLuxChallenge from
65-
'../../../assets/images/open-graph/challenges/10-lux-challenge.jpg';
66-
import ogRuxChallenge from
67-
'../../../assets/images/open-graph/challenges/11-rux-challenge.jpg';
68-
import og24hUiPrototype from
69-
'../../../assets/images/open-graph/challenges/12-24h-ui-prototype-challenge.jpg';
70-
import og48hUiPrototype from
71-
'../../../assets/images/open-graph/challenges/13-48h-ui-prototype-challenge.jpg';
59+
'../../../assets/images/open-graph/challenges/06-Big-Prize.png';
60+
import ogQAChallenge from
61+
'../../../assets/images/open-graph/challenges/05-QA.png';
62+
import ogDSChallenge from
63+
'../../../assets/images/open-graph/challenges/04-Data-Science.png';
7264

7365
/* A fallback image, just in case we missed some corner case. */
7466
import ogImage from
75-
'../../../assets/images/og_image.jpg';
67+
'../../../assets/images/social.png';
7668

7769
import './styles.scss';
7870

@@ -88,9 +80,9 @@ const DAY = 24 * 60 * MIN;
8880
*/
8981
function getOgImage(challenge) {
9082
const { legacy } = challenge;
91-
const { track, subTrack } = legacy;
92-
if (challenge.name.startsWith('LUX -')) return ogLuxChallenge;
93-
if (challenge.name.startsWith('RUX -')) return ogRuxChallenge;
83+
const { subTrack } = legacy;
84+
if (challenge.name.startsWith('LUX -')) return ogBigPrizesChallenge;
85+
if (challenge.name.startsWith('RUX -')) return ogBigPrizesChallenge;
9486
if (challenge.prizes) {
9587
const totalPrize = challenge.prizes.reduce((p, sum) => p + sum, 0);
9688
if (totalPrize > 2500) return ogBigPrizesChallenge;
@@ -102,17 +94,22 @@ function getOgImage(challenge) {
10294
const submission = (challenge.phases || [])
10395
.find(p => p.name === CHALLENGE_PHASE_TYPES.SUBMISSION);
10496
if (submission) {
105-
if (submission.duration < 1.1 * DAY) return og24hUiPrototype;
106-
if (submission.duration < 2.1 * DAY) return og48hUiPrototype;
97+
if (submission.duration < 1.1 * DAY) return ogDevelopment;
98+
if (submission.duration < 2.1 * DAY) return ogDevelopment;
10799
}
108-
return ogUiPrototype;
100+
return ogDevelopment;
109101
}
110-
case SUBTRACKS.WIREFRAMES: return ogWireframe;
102+
case SUBTRACKS.WIREFRAMES: return ogUiDesign;
103+
case SUBTRACKS.QA:
104+
case SUBTRACKS.TEST_SUITES:
105+
return ogQAChallenge;
106+
case SUBTRACKS.DS: return ogDSChallenge;
111107
default:
112108
}
113-
switch (track) {
109+
switch (challenge.track) {
114110
case COMPETITION_TRACKS_V3.DEVELOP: return ogDevelopment;
115111
case COMPETITION_TRACKS_V3.DESIGN: return ogUiDesign;
112+
case COMPETITION_TRACKS_V3.DS: return ogDSChallenge;
116113
default: return ogImage;
117114
}
118115
}

src/shared/containers/challenge-listing/Listing/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import MetaTags from 'components/MetaTags';
3131
import { USER_GROUP_MAXAGE } from 'config';
3232
import { updateChallengeType } from 'utils/challenge';
3333

34-
import ogImage from '../../../../assets/images/og_image.jpg';
34+
import ogImage from '../../../../assets/images/social.png';
3535
import style from './styles.scss';
3636

3737
// const { combine, mapToBackend } = challengeUtils.filter;

src/shared/utils/tc.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ export const CHALLENGE_PHASE_TYPES = {
3131
*/
3232

3333
export const COMPETITION_TRACKS_V3 = {
34-
DESIGN: 'DESIGN',
35-
DEVELOP: 'DEVELOP',
34+
DESIGN: 'Design',
35+
DEVELOP: 'Development',
36+
DS: 'Data Science',
3637
};
3738

3839
/* Holds valid subtracks (only some of possible values are included into this
@@ -41,6 +42,9 @@ export const SUBTRACKS = {
4142
FIRST_2_FINISH: 'FIRST_2_FINISH',
4243
UI_PROTOTYPE_COMPETITION: 'UI_PROTOTYPE_COMPETITION',
4344
WIREFRAMES: 'WIREFRAMES',
45+
QA: 'BUG_HUNT',
46+
TEST_SUITES: 'TEST_SUITES',
47+
DS: 'DEVELOP_MARATHON_MATCH',
4448
};
4549

4650
/**

0 commit comments

Comments
 (0)