diff --git a/.circleci/config.yml b/.circleci/config.yml index d9e4f88a90..00fe48889e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -230,7 +230,7 @@ workflows: filters: branches: only: - - feature-contentful + - develop # This is alternate dev env for parallel testing - "build-test": context : org-global @@ -252,6 +252,7 @@ workflows: filters: branches: only: + - integration-v5-challenge-api - hot-fix # This is stage env for production QA releases - "build-prod-staging": @@ -259,7 +260,8 @@ workflows: filters: branches: only: - - feature-contentful + - milestone-v1.3 + - milestone-20200910 - develop # Production builds are exectuted # when PR is merged to the master diff --git a/package.json b/package.json index d284ae8360..c02656c845 100644 --- a/package.json +++ b/package.json @@ -137,7 +137,7 @@ "tc-accounts": "git+https://github.com/appirio-tech/accounts-app.git#dev", "tc-core-library-js": "github:appirio-tech/tc-core-library-js#v2.6.3", "tc-ui": "^1.0.12", - "topcoder-react-lib": "1.0.3", + "topcoder-react-lib": "1.0.4", "topcoder-react-ui-kit": "2.0.0", "topcoder-react-utils": "0.7.8", "turndown": "^4.0.2", diff --git a/src/shared/components/ProfilePage/Stats/HistoryGraph/index.jsx b/src/shared/components/ProfilePage/Stats/HistoryGraph/index.jsx index 21112b3aa3..9e7034c9a4 100644 --- a/src/shared/components/ProfilePage/Stats/HistoryGraph/index.jsx +++ b/src/shared/components/ProfilePage/Stats/HistoryGraph/index.jsx @@ -211,7 +211,7 @@ export default class HistoryGraph extends React.Component { } if (track === 'DATA_SCIENCE') { if (subTrack === 'MARATHON_MATCH') { - return `/challenges/${challengeId}`; + return `${config.URL.COMMUNITY}/tc?module=MatchDetails&rd=${challengeId}`; } if (subTrack === 'SRM') { return `${config.URL.COMMUNITY}/stat?c=round_overview&rd=${challengeId}`; diff --git a/src/shared/components/SubmissionManagement/SubmissionManagement/index.jsx b/src/shared/components/SubmissionManagement/SubmissionManagement/index.jsx index 898ec91183..0692d888ff 100644 --- a/src/shared/components/SubmissionManagement/SubmissionManagement/index.jsx +++ b/src/shared/components/SubmissionManagement/SubmissionManagement/index.jsx @@ -19,6 +19,7 @@ import React from 'react'; import PT from 'prop-types'; import moment from 'moment'; import { PrimaryButton } from 'topcoder-react-ui-kit'; +import { phaseEndDate } from 'utils/challenge-listing/helper'; import SubmissionsTable from '../SubmissionsTable'; import style from './styles.scss'; @@ -47,9 +48,11 @@ export default function SubmissionManagement(props) { const currentPhase = challenge.phases .filter(p => p.name !== 'Registration' && p.isOpen) .sort((a, b) => moment(a.scheduledEndDate).diff(b.scheduledEndDate))[0]; + const submissionPhase = challenge.phases.filter(p => p.name === 'Submission')[0]; + const submissionEndDate = submissionPhase && phaseEndDate(submissionPhase); const now = moment(); - const end = moment(currentPhase.scheduledEndDate); + const end = moment(currentPhase && currentPhase.scheduledEndDate); const diff = end.isAfter(now) ? end.diff(now) : 0; const timeLeft = moment.duration(diff); @@ -78,11 +81,15 @@ export default function SubmissionManagement(props) {
-

- {currentPhase.name} -

{ - challenge.status !== 'COMPLETED' ? ( + currentPhase && ( +

+ {currentPhase.name} +

+ ) + } + { + challenge.status !== 'Completed' ? (

{days > 0 && (`${days}D`)} @@ -111,7 +118,7 @@ export default function SubmissionManagement(props) { Manage your submissions

{ - isDesign && ( + isDesign && currentPhase && (

{currentPhase.name} @@ -159,7 +166,7 @@ export default function SubmissionManagement(props) { ) }

- {now.isBefore(challenge.submissionEndDate) && ( + {now.isBefore(submissionEndDate) && (
{ - if (value && _.includes(topGearCommunity.groupIds, key)) { + _.forOwn(groups, (value) => { + if (value && _.includes(topGearCommunity.groupIds, value)) { isChallengeBelongToTopgearGroup = true; return false; } diff --git a/src/shared/components/tc-communities/communities/cognitive/GetStarted/index.jsx b/src/shared/components/tc-communities/communities/cognitive/GetStarted/index.jsx index 06a89d98e4..02ae891b1c 100644 --- a/src/shared/components/tc-communities/communities/cognitive/GetStarted/index.jsx +++ b/src/shared/components/tc-communities/communities/cognitive/GetStarted/index.jsx @@ -20,8 +20,6 @@ import cardImg02 from import MarchMadnessBanner from '../MarchMadnessBanner'; -import NewsSignup from '../NewsSignup'; - import style from './style.scss'; export default function GetStarted({ baseUrl }) { @@ -88,7 +86,6 @@ export default function GetStarted({ baseUrl }) { />
- ); } diff --git a/src/shared/components/tc-communities/communities/cognitive/Home/index.jsx b/src/shared/components/tc-communities/communities/cognitive/Home/index.jsx index 58ff7af8ba..3ff47f6eb3 100644 --- a/src/shared/components/tc-communities/communities/cognitive/Home/index.jsx +++ b/src/shared/components/tc-communities/communities/cognitive/Home/index.jsx @@ -16,7 +16,6 @@ import { config, Link } from 'topcoder-react-utils'; import davePhotoUrl from 'assets/images/communities/cognitive/home/dave.jpg'; import IbmCloudBanner from '../IbmCloudBanner'; -import NewsletterSignup from '../NewsSignup'; import style from './style.scss'; @@ -317,8 +316,6 @@ export default function Home({
- - ); } diff --git a/src/shared/components/tc-communities/communities/cognitive/IbmCloudPage/index.jsx b/src/shared/components/tc-communities/communities/cognitive/IbmCloudPage/index.jsx index d0f62893df..5c0aa6c7ad 100644 --- a/src/shared/components/tc-communities/communities/cognitive/IbmCloudPage/index.jsx +++ b/src/shared/components/tc-communities/communities/cognitive/IbmCloudPage/index.jsx @@ -4,7 +4,6 @@ import React from 'react'; import Differences from './Differences'; import HeadBanner from './HeadBanner'; import JoinBlock from './JoinBlock'; -import NewsSignup from '../NewsSignup'; export default function IbmCloudPage() { return ( @@ -16,8 +15,6 @@ export default function IbmCloudPage() { {/* Hidden by the request from Trevor: the transition process won't start * until Feb 12. */} {/* */} - - ); } diff --git a/src/shared/components/tc-communities/communities/cognitive/NewsSignup/index.jsx b/src/shared/components/tc-communities/communities/cognitive/NewsSignup/index.jsx deleted file mode 100644 index 1f7b3f820a..0000000000 --- a/src/shared/components/tc-communities/communities/cognitive/NewsSignup/index.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import NewsletterSignup from 'components/tc-communities/NewsletterSignup'; -import React from 'react'; -import { config } from 'topcoder-react-utils'; - -import newsletterImg from - 'assets/images/communities/cognitive/newsletter.jpg'; - -import theme from './theme.scss'; - -export default function NewsSignup() { - return ( - - ); -} diff --git a/src/shared/components/tc-communities/communities/cognitive/NewsSignup/theme.scss b/src/shared/components/tc-communities/communities/cognitive/NewsSignup/theme.scss deleted file mode 100644 index f2eea78697..0000000000 --- a/src/shared/components/tc-communities/communities/cognitive/NewsSignup/theme.scss +++ /dev/null @@ -1,46 +0,0 @@ -@import "../themes/mixins"; - -.container { - @include container; - - &::before { - background: none !important; - } -} - -.content { - align-items: flex-end; - display: flex; - flex-direction: column; - position: relative; - margin: auto !important; - max-width: $screen-lg !important; - width: 100%; -} - -.form { - border-radius: 0 !important; - height: 40px !important; -} - -.formButton { - min-width: 125px; -} - -.formEmail { - border-radius: 4px !important; - height: 40px !important; - margin-right: 10px !important; -} - -.text { - @include tc-body-md; - - color: white !important; -} - -.title { - @include tc-heading-lg; - - color: white !important; -} diff --git a/src/shared/components/tc-communities/communities/cognitive/Resources/index.jsx b/src/shared/components/tc-communities/communities/cognitive/Resources/index.jsx index a5615de19b..7f1b6c5dd1 100644 --- a/src/shared/components/tc-communities/communities/cognitive/Resources/index.jsx +++ b/src/shared/components/tc-communities/communities/cognitive/Resources/index.jsx @@ -24,7 +24,6 @@ import MsgsSvg from import { Button, PrimaryButton } from 'topcoder-react-ui-kit'; import FaqItem from './FaqItem'; -import NewsSignup from '../NewsSignup'; import style from './style.scss'; @@ -324,7 +323,6 @@ export default function Resources({ - ); } diff --git a/src/shared/containers/challenge-detail/index.jsx b/src/shared/containers/challenge-detail/index.jsx index 3bb14e4c1b..fb27c202ca 100644 --- a/src/shared/containers/challenge-detail/index.jsx +++ b/src/shared/containers/challenge-detail/index.jsx @@ -244,7 +244,7 @@ class ChallengeDetailPageContainer extends React.Component { } const { track } = nextProps.challenge; - if (track === COMPETITION_TRACKS.DESIGN && thriveArticles.length === 0) { + if (track !== COMPETITION_TRACKS.DESIGN && thriveArticles.length === 0) { // filter all tags with value 'Other' const tags = _.filter(nextProps.challenge.tags, tag => tag !== 'Other'); if (tags.length > 0) { @@ -558,8 +558,8 @@ class ChallengeDetailPageContainer extends React.Component { hasRegistered={challenge.isRegistered} unregistering={unregistering} submissionEnded={submissionEnded} - isMM - isLegacyMM + isMM={isMM} + isLegacyMM={isLegacyMM} loadingMMSubmissionsForChallengeId={loadingMMSubmissionsForChallengeId} auth={auth} loadMMSubmissions={loadMMSubmissions}