diff --git a/__tests__/shared/components/examples/__snapshots__/Content.jsx.snap b/__tests__/shared/components/examples/__snapshots__/Content.jsx.snap index 9327386f0c..9b3dd3a4e9 100644 --- a/__tests__/shared/components/examples/__snapshots__/Content.jsx.snap +++ b/__tests__/shared/components/examples/__snapshots__/Content.jsx.snap @@ -181,6 +181,14 @@ exports[`Matches shallow shapshot 1`] = ` Demo Expert Community +
  • + + Taskforce community + +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/themes/taskforce/subscribe-bg.jpg b/src/assets/themes/taskforce/subscribe-bg.jpg new file mode 100644 index 0000000000..91f8fcfc4d Binary files /dev/null and b/src/assets/themes/taskforce/subscribe-bg.jpg differ diff --git a/src/assets/themes/taskforce/wipro-logo.png b/src/assets/themes/taskforce/wipro-logo.png new file mode 100644 index 0000000000..5ac77dd121 Binary files /dev/null and b/src/assets/themes/taskforce/wipro-logo.png differ diff --git a/src/server/tc-communities/taskforce/metadata.json b/src/server/tc-communities/taskforce/metadata.json new file mode 100644 index 0000000000..cea0d075f4 --- /dev/null +++ b/src/server/tc-communities/taskforce/metadata.json @@ -0,0 +1,44 @@ +{ + "authorizedGroupIds": [ + "20000003" + ], + "challengeFilter": { + "groupIds": ["20000003"] + }, + "communityId": "taskforce", + "communityName": "Taskforce", + "communitySelector": [{ + "label": "Taskforce", + "value": "1" + }, { + "label": "Cognitive Community", + "redirect": "http://cognitive.topcoder.com/", + "value": "2" + }, { + "label": "iOS Community", + "redirect": "https://ios.topcoder.com/", + "value": "3" + }], + "groupId": "20000003", + "leaderboardApiUrl": "https://api.topcoder.com/v4/looks/458/run/json/", + "logos": [ + "/themes/taskforce/wipro-logo.png", + "/themes/taskforce/logo_topcoder_with_name.svg" + ], + "menuItems": [ + { + "title": "Home", + "url": "." + }, { + "title": "Learn", + "url": "learn" + }, { + "title": "Challenges", + "url": "challenges" + }, { + "title": "Leaderboard", + "url": "leaderboard" + } + ], + "newsFeed": "http://www.topcoder.com/feed" +} diff --git a/src/shared/components/examples/Content/index.jsx b/src/shared/components/examples/Content/index.jsx index b05105a588..2850e1470d 100644 --- a/src/shared/components/examples/Content/index.jsx +++ b/src/shared/components/examples/Content/index.jsx @@ -89,6 +89,9 @@ export default function Content() {
  • Demo Expert Community
  • +
  • + Taskforce community +
  • Topcoder Product Development diff --git a/src/shared/components/tc-communities/communities/taskforce/Home/index.jsx b/src/shared/components/tc-communities/communities/taskforce/Home/index.jsx new file mode 100644 index 0000000000..9c54cd23ea --- /dev/null +++ b/src/shared/components/tc-communities/communities/taskforce/Home/index.jsx @@ -0,0 +1,123 @@ +/** + * Static implementation of Home page for Wipro 2 community + * + * It hardcodes data which is passed to dummy components, + * thus we disable max-len eslint rule for this file + */ +/* eslint-disable max-len */ + +import React from 'react'; +import Section from 'components/tc-communities/Section'; +import Banner from 'components/tc-communities/Banner'; +import ImageText from 'components/tc-communities/ImageText'; +import ResourceCard from 'components/tc-communities/ResourceCard'; +import NewsletterSignup from 'components/tc-communities/NewsletterSignup'; +import NewsSection from 'components/tc-communities/NewsSection'; +import PT from 'prop-types'; + +import GroupStats from 'containers/tc-communities/GroupStats'; +import JoinCommunity from 'containers/tc-communities/JoinCommunity'; + +import IconRocket from '../../../../../../assets/images/tc-communities/rocket.svg'; +import IconNetwork from '../../../../../../assets/images/tc-communities/network.svg'; +import IconMedal from '../../../../../../assets/images/tc-communities/medal.svg'; + +import style from './style.scss'; + +export default function Home(props) { + return ( +
    + + + + + + +
    +
    + + +
    +
    + +
    + + + +
    + + + + + +
    + ); +} + +Home.defaultProps = { + news: [], +}; + +Home.propTypes = { + news: PT.arrayOf(PT.shape()), +}; diff --git a/src/shared/components/tc-communities/communities/taskforce/Home/style.scss b/src/shared/components/tc-communities/communities/taskforce/Home/style.scss new file mode 100644 index 0000000000..9b305b6d87 --- /dev/null +++ b/src/shared/components/tc-communities/communities/taskforce/Home/style.scss @@ -0,0 +1,33 @@ +@import '~styles/tc-styles'; + +.statsContainer { + padding: 0; +} + +.statsContent { + border-bottom: 1px solid #ddd; + padding: 43px 38px 50px; + + @include xxs-to-sm { + display: flex; + justify-content: space-around; + padding: 30px 12px 32px; + } +} + +.resourcesContainer { + background-color: #fafafa; + padding: 70px 0; + + @include xxs-to-sm { + padding: 40px 0; + } +} + +.linksContainer { + padding: 24px 0 60px; + + @include xxs-to-sm { + padding: 0; + } +} diff --git a/src/shared/components/tc-communities/communities/taskforce/Learn/index.jsx b/src/shared/components/tc-communities/communities/taskforce/Learn/index.jsx new file mode 100644 index 0000000000..1a54a75fbf --- /dev/null +++ b/src/shared/components/tc-communities/communities/taskforce/Learn/index.jsx @@ -0,0 +1,161 @@ +/** + * Static implementation of Learn page for Wipro 2 community + * + * It hardcodes data which is passed to dummy components, + * thus we disable max-len eslint rule for this file + */ +/* eslint-disable max-len */ + +import React from 'react'; +// import { Link } from 'react-router-dom'; +import Section from 'components/tc-communities/Section'; +import Accordion from 'components/tc-communities/Accordion/Accordion'; +import AccordionItem from 'components/tc-communities/Accordion/AccordionItem'; +import Banner from 'components/tc-communities/Banner'; +import NewsletterSignup from 'components/tc-communities/NewsletterSignup'; +import ArticleCard from 'components/tc-communities/ArticleCard'; +import LinksCard from 'components/tc-communities/LinksCard'; +import Text from 'components/tc-communities/Text'; + +import style from './style.scss'; + +export default function Learn() { + return ( +
    + + + +
    + + + +

    The FULCRUM is “one stop shop” for access to a wide range of training and learning opportunities on Wipro’s Hybrid Crowd. Designed to strengthen the skills of employees, the hub offers physical and online platforms to learn skills on demand, gain hands-on experience, and be future ready.

    +

    Meticulously crafted comprehensive learning paths, detailed study material, engaging case studies, training projects to systematically enhance your career, development environments to practice, convenient online accessibility, opportunity to connect with mentors, peers, SMEs of various technologies – a variety of resources bringing people and technology together for an innovative and valuable learning experience.

    +

    Our compelling learning environment across wide range of emerging technologies helps you in mastering today’s most essential skills, that brings your knowledge to the next level, step by step, which ultimately creates a more effective learning experience.

    +

    Are you ready to step onto the innovative journey of learning?

    + +
    +
    +
    +
    + +
    + + + +
    + +
    + + + +
    + + +
    + ); +} diff --git a/src/shared/components/tc-communities/communities/taskforce/Learn/style.scss b/src/shared/components/tc-communities/communities/taskforce/Learn/style.scss new file mode 100644 index 0000000000..0cf7ca7cff --- /dev/null +++ b/src/shared/components/tc-communities/communities/taskforce/Learn/style.scss @@ -0,0 +1,84 @@ +@import '~styles/tc-styles'; + +.coursesContainer { + padding-bottom: 60px; +} + +.resourcesTitle { + padding-bottom: 50px; + padding-top: 0; + + @include xxs-to-sm { + font-size: 36px; + padding-bottom: 30px; + } +} + +.resourcesContainer { + padding-bottom: 60px; + + @include xxs-to-sm { + padding-bottom: 50px; + } +} + +.bannerContainer { + height: 252px; + + @include xxs-to-sm { + height: 300px; + } +} + +.bannerContent { + bottom: 0; + top: 0; + transform: none; + width: 600px; + + @include xxs-to-sm { + top: auto; + width: 100%; + } +} + +.bannerContentInner { + @include xxs-to-sm { + padding-bottom: 20px; + padding-top: 48px; + } +} + +.learnBasicsContainer { + padding-bottom: 0; +} + +.joinnowWrap { + margin-top: 10px; + + @include xxs-to-sm { + margin-top: 20px; + text-align: center; + } +} + +.joinnow { + color: #0092ff; + display: inline-block; + border: 1px solid #0092ff; + border-radius: 20px; + font: 700 14px/40px 'OpenSans'; + height: 40px; + text-align: center; + text-transform: uppercase; + width: 171px; + + &:hover, + &:active, + &:focus, + &:visited { + color: #0092ff; + outline: none; + text-decoration: none; + } +} diff --git a/src/shared/containers/tc-communities/Page/index.jsx b/src/shared/containers/tc-communities/Page/index.jsx index 5ca0870aac..b1939fd7f0 100644 --- a/src/shared/containers/tc-communities/Page/index.jsx +++ b/src/shared/containers/tc-communities/Page/index.jsx @@ -41,6 +41,10 @@ import DemoExpertLearn from 'components/tc-communities/communities/demo-expert/L import Community2Home from 'components/tc-communities/communities/community-2/Home'; import Community2Learn from 'components/tc-communities/communities/community-2/Learn'; +import TaskforceHome from 'components/tc-communities/communities/taskforce/Home'; +import TaskforceLearn from +'components/tc-communities/communities/taskforce/Learn'; + import AccessDenied, { CAUSE as ACCESS_DENIED_CAUSE, } from 'components/tc-communities/AccessDenied'; @@ -106,6 +110,12 @@ class Page extends Component { case 'learn': pageContent = ; break; default: break; } + } else if (communityId === 'taskforce') { + switch (pageId) { + case 'home': pageContent = ; break; + case 'learn': pageContent = ; break; + default: break; + } } else if (communityId.match(/example-theme-\w/)) { pageContent =
    ; } diff --git a/src/shared/routes/index.jsx b/src/shared/routes/index.jsx index 6af892b424..cb2f7294c0 100644 --- a/src/shared/routes/index.jsx +++ b/src/shared/routes/index.jsx @@ -26,9 +26,10 @@ import Examples from './examples'; function Routes({ subdomains }) { let communityId; - if (subdomains.indexOf('demo-expert') >= 0) communityId = 'demo-expert'; - else if (subdomains.indexOf('wipro') >= 0) communityId = 'wipro'; - else if (subdomains.indexOf('tc-prod-dev') >= 0) communityId = 'tc-prod-dev'; + if (subdomains.includes('demo-expert')) communityId = 'demo-expert'; + else if (subdomains.includes('wipro')) communityId = 'wipro'; + else if (subdomains.includes('taskforce')) communityId = 'taskforce'; + else if (subdomains.includes('tc-prod-dev')) communityId = 'tc-prod-dev'; else if (subdomains.includes('community-2')) communityId = 'community-2'; if (communityId) { return (