Skip to content

Commit 6c9dd33

Browse files
Merge pull request #6845 from topcoder-platform/master
Sync develop with master
2 parents c4ab3ae + 9e0f88e commit 6c9dd33

File tree

10 files changed

+43
-69
lines changed

10 files changed

+43
-69
lines changed

.eslintrc

+4-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
"jsx-a11y/anchor-is-valid": false,
55
"import/no-cycle": [2, { "maxDepth": 1 }],
66
"react/forbid-prop-types": false,
7-
"react/no-unknown-property": ["error", { "ignore": ["styleName"] }]
7+
"react/no-unknown-property": false,
8+
"react/jsx-no-bind": false,
9+
"react/destructuring-assignment": false,
10+
"react/no-array-index-key": false
811
},
912
"env": {
1013
"browser": true

src/shared/components/Contentful/AppComponent/index.jsx

+22-40
Original file line numberDiff line numberDiff line change
@@ -18,59 +18,41 @@ import PathSelector from 'components/MemberPath/PathSelector';
1818
const { fireErrorMessage } = errors;
1919

2020
export function AppComponentSwitch(appComponent) {
21-
const {
22-
fields: {
23-
type,
24-
theme,
25-
props,
26-
props: {
27-
leaderboardApiUrl,
28-
title,
29-
podiumSpots,
30-
isCopilot,
31-
hasChallengeHistory,
32-
tcoPointsApiUrl,
33-
memberLimit,
34-
isAlgo,
35-
},
36-
},
37-
sys: { id },
38-
} = appComponent;
39-
if (type === 'TCO-Leaderboard') {
21+
if (appComponent.fields.type === 'TCO-Leaderboard') {
4022
return (
4123
<Leaderboard
42-
id={id}
43-
apiUrl={leaderboardApiUrl}
44-
title={title}
45-
podiumSpots={podiumSpots}
46-
isCopilot={isCopilot}
47-
hasChallengeHistory={hasChallengeHistory}
48-
tcoPointsApiUrl={tcoPointsApiUrl}
49-
memberLimit={memberLimit}
50-
isAlgo={isAlgo}
51-
key={id}
52-
themeName={theme}
24+
id={appComponent.sys.id}
25+
apiUrl={appComponent.fields.props.leaderboardApiUrl}
26+
title={appComponent.fields.props.title}
27+
podiumSpots={appComponent.fields.props.podiumSpots}
28+
isCopilot={appComponent.fields.props.isCopilot}
29+
hasChallengeHistory={appComponent.fields.props.hasChallengeHistory}
30+
tcoPointsApiUrl={appComponent.fields.props.tcoPointsApiUrl}
31+
memberLimit={appComponent.fields.props.memberLimit}
32+
isAlgo={appComponent.fields.props.isAlgo}
33+
key={appComponent.sys.id}
34+
themeName={appComponent.fields.theme}
5335
/>
5436
);
5537
}
56-
if (type === 'RecruitCRM-Jobs') {
57-
return <RecruitCRMJobs {...props} key={id} />;
38+
if (appComponent.fields.type === 'RecruitCRM-Jobs') {
39+
return <RecruitCRMJobs {...appComponent.fields.props} key={appComponent.sys.id} />;
5840
}
59-
if (type === 'EmailSubscribeForm') {
60-
return <EmailSubscribeForm {...props} key={id} />;
41+
if (appComponent.fields.type === 'EmailSubscribeForm') {
42+
return <EmailSubscribeForm {...appComponent.fields.props} key={appComponent.sys.id} />;
6143
}
62-
if (type === 'GSheet') {
63-
return <GSheet {...props} key={id} />;
44+
if (appComponent.fields.type === 'GSheet') {
45+
return <GSheet {...appComponent.fields.props} key={appComponent.sys.id} />;
6446
}
65-
if (type === 'MemberPath') {
47+
if (appComponent.fields.type === 'MemberPath') {
6648
return (
6749
<PathSelector
68-
{...props}
69-
key={id}
50+
{...appComponent.fields.props}
51+
key={appComponent.sys.id}
7052
/>
7153
);
7254
}
73-
fireErrorMessage(`Unsupported app component type ${type}`, '');
55+
fireErrorMessage(`Unsupported app component type ${appComponent.fields.type}`, '');
7456
return null;
7557
}
7658

src/shared/components/Contentful/Viewport/index.jsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ export function ViewportLoader(props) {
272272
}
273273

274274
if (query) {
275-
queries.push({ ...query, content_type: 'viewport' });
275+
queries.push({ ...props.query, content_type: 'viewport' });
276276
}
277277

278278
return (

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function ReferralCode(props) {
2525
const [growSurfState, setGrowSurfState] = useState(growSurf);
2626
const [copyBtnText, setCopyBtnText] = useState('COPY');
2727
useEffect(() => {
28-
setGrowSurfState(growSurf);
28+
setGrowSurfState(props.growSurf);
2929
}, [growSurf]);
3030

3131
return (

src/shared/components/Settings/Account/LinkedAccount/ExistingLink.jsx

+2-10
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,7 @@ export default function ExistingLink(props) {
6464
return (
6565
<div role="link" styleName={`external-link-tile ${pending ? 'external-link-tile--pending' : ''}`} onClick={e => openLink(e, link)}>
6666
<div styleName="ext-link-tile_edit-header">
67-
<div
68-
role="button"
69-
onClick={(e) => {
70-
e.preventDefault();
71-
e.stopPropagation();
72-
onConfirmDeleteLink(e, link);
73-
}}
74-
styleName={`ext-link-tile_edit-header_delete ${link.deleting ? 'ext-link-tile_edit-header_delete--disabled' : ''}`}
75-
/>
67+
<div role="button" onClick={e => onConfirmDeleteLink(e, link)} styleName={`ext-link-tile_edit-header_delete ${link.deleting ? 'ext-link-tile_edit-header_delete--disabled' : ''}`} prevent-event-propagation="true" />
7668
</div>
7769
<div styleName="top">
7870
<div styleName="logo">
@@ -102,7 +94,7 @@ export default function ExistingLink(props) {
10294
<p className={!pending ? 'hidden' : ''} styleName="link-title">
10395
Loading data. This will take a few minutes.
10496
</p>
105-
<a styleName="link-url" id="link-url" href={prependProtocol(link.URL)} target="_blank" rel="noopener noreferrer">
97+
<a styleName="link-url" id="link-url" href={prependProtocol(link.URL)} target="_blank" rel="noopener noreferrer" prevent-event-propagation="true">
10698
{prependProtocol(link.URL)}
10799
</a>
108100
</div>

src/shared/components/challenge-detail/Header/TabSelector/index.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -404,9 +404,9 @@ export default function ChallengeViewSelector(props) {
404404
</div>
405405
<div styleName="sort-body">
406406
{
407-
sortOptions.map(option => (
407+
sortOptions.map((option, index) => (
408408
<div
409-
key={`sort-option-${option.name}`}
409+
map={`sort-option-${index}`}
410410
styleName="sort-item"
411411
onClick={() => {
412412
setSelectedSortOption(option.name);

src/shared/components/challenge-listing/ChallengeCard/Prize/index.jsx

+7-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import PT from 'prop-types';
88
import React from 'react';
9-
import Tooltip from '../../../Tooltip';
9+
import Tooltip from 'components/Tooltip';
1010
import Tip from './Tip';
1111
import './style.scss';
1212

@@ -35,6 +35,11 @@ export default function Prize({
3535
</div>
3636
);
3737

38+
function placeArrow(TooltipNode) {
39+
const arrow = TooltipNode.querySelector('.rc-tooltip-arrow');
40+
arrow.style.left = '33%';
41+
}
42+
3843
const component = (
3944
<div
4045
// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
@@ -43,13 +48,7 @@ export default function Prize({
4348
>
4449
{((onlyShowTooltipForPrize && !withoutTooltip)
4550
? (
46-
<Tooltip
47-
content={tip}
48-
placeArrow={(TooltipNode) => {
49-
const arrow = TooltipNode.querySelector('.rc-tooltip-arrow');
50-
arrow.style.left = '33%';
51-
}}
52-
>
51+
<Tooltip content={tip} placeArrow={placeArrow}>
5352
{prizeUI}
5453
</Tooltip>
5554
)

src/shared/components/tc-communities/AccessDenied/index.jsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export default function AccessDenied(props) {
2424
spaceName,
2525
environment,
2626
viewportId,
27-
children,
2827
} = props;
2928

3029
if (viewportId) {
@@ -68,7 +67,7 @@ export default function AccessDenied(props) {
6867
<div styleName="msg">
6968
You are not authorized to access this page.
7069
</div>
71-
{children}
70+
{props.children}
7271
</div>
7372
);
7473
case CAUSE.HAVE_NOT_SUBMITTED_TO_THE_CHALLENGE:

src/shared/components/tc-communities/communities/wipro/Home/index.jsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@ const settings = {
123123
export default function Home(props) {
124124
const {
125125
userId,
126-
resetChallengeListing,
127126
} = props;
128127

129128
return (
@@ -200,7 +199,7 @@ export default function Home(props) {
200199
>
201200
<div styleName="ImageTextStyles.linkWrap style.linkWrap">
202201
<Link
203-
onClick={() => resetChallengeListing()}
202+
onClick={() => props.resetChallengeListing()}
204203
styleName="ImageTextStyles.link"
205204
to="challenges?communityId="
206205
>

src/shared/containers/ErrorIcons/index.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ function Tip({ errors, clear }) {
2525
&#10799;
2626
</a>
2727
{
28-
errors.map(({ title, message }) => (
29-
<div key={`${title}-${message}`} styleName="item">
28+
errors.map(({ title, message }, i) => (
29+
<div key={i.toString()} styleName="item">
3030
<div styleName="title" title={title}>
3131
{title}
3232
</div>

0 commit comments

Comments
 (0)