Skip to content

Commit 1580cba

Browse files
Merge pull request #5913 from topcoder-platform/develop
Release v1.14.5
2 parents b92b800 + 61cafe5 commit 1580cba

File tree

44 files changed

+413
-98
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+413
-98
lines changed

.circleci/config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ workflows:
343343
branches:
344344
only:
345345
- develop
346+
- feature/recommended-challenges-update
346347
# This is alternate dev env for parallel testing
347348
- "build-test":
348349
context : org-global
@@ -371,6 +372,7 @@ workflows:
371372
branches:
372373
only:
373374
- develop
375+
- feature/recommended-challenges-update
374376
# Production builds are exectuted
375377
# when PR is merged to the master
376378
# Don't change anything in this configuration

docs/contentful/Animations.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Animations On Scroll
2+
Animation Contentful components on scroll is implemented currently for following components:
3+
- [Viewport](./Viewport.md)
4+
- [Image](./Image.md)
5+
- [ContentBlock](./ContentBlock.md)
6+
7+
![screenshot](./pics/Animation/screenshot.png)
8+
9+
**Preview:** https://community-app.topcoder.com/examples/contentful/viewport/1HRSb4Bls4S2mQesG6mJOn
10+
11+
Defining a scroll animation is easy via the Web UI. Search for the "Animation On Scroll" field and either select existing animation or create new one.
12+
![](./pics/anim1.png)
13+
14+
## Animation Model
15+
To define a default animation only `Name` and `Animate On Scroll` fields are required. There is help hint bellow each fields what is does and how to use it. For further detailed examples see: https://michalsnik.github.io/aos/. All available properties are supported from Contentful animatable components as well.
16+
![](./pics/anim2.png)

docs/contentful/AppComponent.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# App Component
2+
3+
Generic App Component model.
4+
5+
![screenshot](./pics/AppComponent/screenshot.png)
6+
7+
**Preview:** https://community-app.topcoder.com/examples/contentful/viewport/7szFFbYqzZLpWkZwqZlXSJ
8+
9+
## Fields
10+
11+
- **Name** | Name of the entry.
12+
- **Type** | Type of the App Component. Each type has different props. Please refer to [props](#props-json-object) field below.
13+
- **Theme** | Theme specific for `TCO-Leaderboard` type.
14+
- **Props** | Each type has its own props. Please refer to [props](#props-json-object) field below.
15+
16+
## TCO-Leaderboard Themes
17+
18+
### Default
19+
20+
![default-theme](./pics/AppComponent/default-theme.png)
21+
22+
### TCO20
23+
24+
![tco20-theme](./pics/AppComponent/tco20-theme.png)
25+
26+
### TCO22
27+
28+
![tco22-theme](./pics/AppComponent/tco22-theme.png)
29+
30+
## Props (JSON Object)
31+
32+
### Type = `TCO-Leaderboard`
33+
34+
Render top spots and list of competitors on specific TCO track.
35+
36+
- **apiUrl** | **String.** Looks API URL | Default: "https://api.topcoder.com/v4/looks/1044/run/json".
37+
- **title** | **String.** Title of the leaderboard. | Default: "Leaderboard".
38+
- **podiumSpots** | **Number.** Number of displayed top spots. | Default: 3.
39+
- **isCopilot** | **Bool.** Display copilot specific fields. | Default: false
40+
- **hasChallengeHistory** | Bool. Display modal of competitor history. | Default: true
41+
- **tcoPointsApiUrl** | **String.** Looks API URL for competitior challenge history. | Default: null
42+
- **memberLimit** | **Number.** Limit the displayed number of rows. | Default: null
43+
- **isAlgo** | **Bool.** Display copilot specific fields. | Default: false
44+
45+
### Type = `RecruitCRM-Jobs`
46+
47+
A block that fetches and renders a job listing page driven by recruitCRM.
48+
49+
### Type = `EmailSubscribeForm`
50+
51+
Generic subscribe for MailChimp tags component.
52+
53+
- **listId** | **String (Required).**
54+
- **interests** | **String (Required).**
55+
- **title** | **String.**
56+
- **btnText** | **String.**
57+
- **successTitle** | **String.**
58+
- **successText** | **String.**
59+
- **successLink** | **String.**
60+
- **successLinkText** | **String.**
61+
62+
### Type = `GSheet`
63+
64+
Render table that loads data from Google Sheet.
65+
66+
- **id** | **String (Required).** Google sheet ID.
67+
- **index** | **Number.** The index of the sheet to render, starts by 0 and counting.
68+
- **config** | **Object of:**
69+
- **pick** | **Array of Strings.** Pick sheet header value as table header.
70+
- **containerStyle** | **CSS Object.** Inline styles object to override the container style.
71+
72+
### Type = `JSON`
73+
74+
JSON object needed by 3rd party API.
75+
76+
### Type = `MemberPath`
77+
78+
Render MemberPath component specifically for http://topcoder.com/start page.
79+
80+
![member-path](./pics/AppComponent/member-path.png)
81+
82+
- **data** | **Object of:**
83+
- **title** | **String.** Big top title.
84+
- **items** | **Array of Objects of:**
85+
- **title** | **String.** Box title.
86+
- **iconURL** | **String.** URL of the icon.
87+
- **activeIconURL** | **String.** URL of icon when box is active.
88+
- **contentText** | **String.** Displayed text at the bottom content.
89+
- **btnText** | **String.** Text of the button at the bottom content.
90+
- **btnURL** | **String.** Target link of the button at the bottom content.
91+
- **btnNewTab** | **Bool.** Boolean to control the button to open new tab or not.

docs/contentful/Image.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Image
2+
3+
Generic Image model.
4+
5+
![screenshot](./pics/Image/screenshot.png)
6+
7+
**Preview:** https://community-app.topcoder.com/examples/contentful/viewport/1HRSb4Bls4S2mQesG6mJOn
8+
9+
## Fields
10+
11+
- **Name** | Name of the entry.
12+
- **Source** | The image source.
13+
- **Source Mobile** | The image source for mobile view. This image will be shown when viewport width is lower than and equals to 768px.
14+
- **Alt Text** | Alternate text for the image. Name field will be used if this is not provided.
15+
- **Clip SVG** | A SVG file that define "clip-path" to be applied on the image. Contentful can't display it thus do not get confused just publish it after upload.
16+
- **Extra Styles for Container** | Inline CSS styles to apply on container.
17+
- **Extra Styles For Image** | Inline CSS styles to apply on `<img>` tag itself.
18+
- **Animation On Scroll** | Animation type to apply on scroll. Please refer to [Animation](./Animation.md) for more details.
19+
- **Source Polyfill** | Used as polyfill in cases where source image is not supported by the browser.
20+
- **Source Mobile Polyfill** | Used as polyfill in cases where source image is not supported by the browser. This polyfill will be shown when viewport width is lower than and equals to 768px.

docs/contentful/Modal.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Modal
2+
3+
Generic Modal model.
4+
5+
![screenshot](./pics/Modal/screenshot.png)
6+
7+
**Preview:** https://community-app.topcoder.com/examples/contentful/contentblock/75fw42BmbyloyIseNH7gsY
8+
9+
## Fields
10+
11+
- **Name** | Name of the entry.
12+
- **Content** | Content entry of the modal.
13+
- **Theme** | Modal theme.
14+
- **Hide Dismiss Icon** | Whether to hide the dismiss icon.
15+
- **Hide Close Button** | By default, modals will render close button inside it.
16+
- **Extra Styles For Container** | CSS inline styles to override the modal container's style.
17+
18+
## How to use
19+
20+
In order to use modal, we need to create [Content Block](./ContentBlock.md) entry, and put the modal entry's ID into the text field of the Content Block like so:
21+
22+
```
23+
<Modal id="6U2MKViRUKnJsw6PbO6201">[Link: Modal](https://topcoder.com)</Modal>
24+
```
25+
26+
For more examples, please see this contentful source: https://app.contentful.com/spaces/b5f1djy59z3a/entries/75fw42BmbyloyIseNH7gsY

docs/contentful/Quote.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Quote
2+
3+
Generic Quote model.
4+
5+
![screenshot](./pics/Quote/screenshot.png)
6+
7+
**Preview:** https://community-app.topcoder.com/examples/contentful/viewport/7xOMXsGyLLzGUlu8uelMQl
8+
9+
## Fields
10+
11+
- **Name** | Name of the entry.
12+
- **Text** | Text to render as a quote.
13+
- **Author Avatar Image** | Avatar image to be shown.
14+
- **Author Name** | The name that will be displayed below the quote text.
15+
- **Author Affiliation** | Affiliation name that will be displayed right after author name.
16+
- **Quote Style** | Predefined quote style.
17+
- **Extra styles for container** | CSS inline styles to override the container's style.
18+
- **Extra styles for content wrapper** | CSS inline styles to override the content wrapper's style.
19+
- **Extra styles for content** | CSS inline styles to override the content's style.

docs/contentful/Route.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Route
2-
A Route that can render a Viewport at its endpoint, and also include sub-routes with Viewports. When linked to community-app it will render its [Viewport](./viewport.md) under the specified `URL`.
2+
A Route that can render a Viewport at its endpoint, and also include sub-routes with Viewports. When linked to community-app it will render its [Viewport](./Viewport.md) under the specified `URL`.
33

44
## Fields
55
![](./pics/Route.png)

docs/contentful/Shape.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Shape
2+
3+
Generic Shape model. Primarily used for render shape separator between sections on the page.
4+
5+
![screenshot](./pics/Shape/screenshot.png)
6+
7+
**Preview:** https://community-app.topcoder.com/examples/contentful/viewport/1hoEvvNhVOZ3crj94JegC6
8+
9+
## Fields
10+
11+
- **Name** | Name of the entry.
12+
- **Shape SVG** | Shape SVG file to be applied to the page.
13+
- **Inline** | Embed the shape as inline SVG element. Defaults to "No" which means the shape is applied as background image to the element.
14+
- **Height** | Shapes need some height defined. Defaults to 100px if not set otherwise.
15+
- **Extra Styles for Container** | Extra CSS inline styles that will overwrite image container defaults.

docs/contentful/Tabs.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Tabs
2+
3+
Generic Tabs model. Each tab holds a list of [TabsItem](./TabsItem.md) entry type, that provide content for it.
4+
5+
![screenshot](./pics/Tabs/screenshot.png)
6+
7+
**Preview:** https://community-app.topcoder-dev.com/examples/contentful/tabs/5WgUyXj8xlPsFSPaMdC1ze
8+
9+
## Fields
10+
11+
- **Name** | Name of the entry.
12+
- **TabList** | List of TabsItem type entry. Please refer to [TabsItem docs](./TabsItem.md) for more details.
13+
- **Theme** | Tabs theme. Please refer to [theme](#theme) for more details.
14+
- **Selected** | Default TabsItem selected.
15+
- **URL Query Name** | Name in URL queries. Defaults to id if not set.
16+
- **Force Render Tab Panel** | When set to true, tabs will render content even not selected.
17+
18+
## Theme
19+
20+
Tabs theme.
21+
22+
### Default
23+
24+
![default](./pics/Tabs/default.png)
25+
26+
### Zurich
27+
28+
![zurich](./pics/Tabs/zurich.png)
29+
30+
### Underline
31+
32+
![underline](./pics/Tabs/underline.png)
33+
34+
### Underline dark
35+
36+
![underline-dark](./pics/Tabs/underline-dark.png)
37+
38+
### Pills
39+
40+
![pills](./pics/Tabs/pills.png)
41+
42+
### Vertical
43+
44+
![vertical](./pics/Tabs/vertical.png)
45+
46+
### Underline box
47+
48+
![underline-box](./pics/Tabs/underline-box.png)

docs/contentful/TabsItem.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# TabsItem
2+
3+
Generic TabsItem model used specifically for [Tabs](./Tabs.md) type entry.
4+
5+
![screenshot](./pics/TabsItem/screenshot.png)
6+
7+
**Preview:** https://community-app.topcoder-dev.com/examples/contentful/tabs/5WgUyXj8xlPsFSPaMdC1ze
8+
9+
- **Name** | Name of the entry.
10+
- **Tab** | Content of the tab button.
11+
- **Panel** | Content to render when tab is active.

docs/contentful/Viewport.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Viewport
2+
3+
A generic container for other objects, that renders its children into a container element. It supports nested viewports, different layout options for viewport content via themes. Viewport should be considered as the main content layout and grouping component.
4+
5+
## Fields
6+
![](./pics/Viewport.png)

docs/contentful/animations.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
# Animations On Scroll
2-
Animationg Contentful components on scroll is implemetented currently for following components:
3-
- Viewport
4-
- Image
5-
- ContentBlock
2+
Animation Contentful components on scroll is implemented currently for following components:
3+
- [Viewport](./Viewport.md)
4+
- [Image](./Image.md)
5+
- [ContentBlock](./ContentBlock.md)
66

7-
Definig a scroll animation is easy via the Web UI. Search for the "Animation On Scroll" field and either select existing animation or create new one.
7+
![screenshot](./pics/Animation/screenshot.png)
8+
9+
**Preview:** https://community-app.topcoder.com/examples/contentful/viewport/1HRSb4Bls4S2mQesG6mJOn
10+
11+
Defining a scroll animation is easy via the Web UI. Search for the "Animation On Scroll" field and either select existing animation or create new one.
812
![](./pics/anim1.png)
913

1014
## Animation Model

docs/contentful/index.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,23 @@ Instructions are also provided below for developments that want to modify/create
1818
- [Basics](./content-writer-basics.md)
1919
- Content Types
2020
- [Accordion](./accordion.md)
21+
- [Animation](./Animation.md)
22+
- [App Component](./AppComponent.md)
2123
- [Banner](./banner.md)
2224
- [ContentBlock](./ContentBlock.md)
2325
- [Content Slider](./slider.md)
2426
- [Countdown](./Countdown.md)
2527
- [Dashboard Announcement](./DashboardAnnouncement.md)
2628
- [Dropdown](./Dropdown.md)
29+
- [Image](./Image.md)
30+
- [Modal](./Modal.md)
31+
- [Shape](./Shape.md)
32+
- [Tabs](./Tabs.md)
33+
- [TabsItem](./TabsItem.md)
2734
- [Navigation Menu](./NavigationMenu.md)
35+
- [Quote](./Quote.md)
2836
- [Route](./Route.md)
29-
- [Viewport](./viewport.md)
37+
- [Viewport](./Viewport.md)
3038
- [Member Card](./memberCard.md)
3139
- [Article](./Article.md)
3240
- [Preview Content](./preview-content.md)
126 KB
Loading
Loading
Loading
95.1 KB
Loading
Loading
Loading
553 KB
Loading
96 KB
Loading
739 KB
Loading
219 KB
Loading

docs/contentful/pics/Tabs/default.png

28.3 KB
Loading

docs/contentful/pics/Tabs/pills.png

22.4 KB
Loading
188 KB
Loading
24.4 KB
Loading
28.8 KB
Loading
29 KB
Loading
29.3 KB
Loading

docs/contentful/pics/Tabs/zurich.png

44.3 KB
Loading
122 KB
Loading

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@
150150
"supertest": "^3.1.0",
151151
"tc-core-library-js": "github:appirio-tech/tc-core-library-js#v2.6.3",
152152
"tc-ui": "^1.0.12",
153-
"topcoder-react-lib": "1.2.1",
153+
"topcoder-react-lib": "1.2.2",
154154
"topcoder-react-ui-kit": "2.0.1",
155155
"topcoder-react-utils": "0.7.8",
156156
"turndown": "^4.0.2",

src/assets/images/icon-not-found.svg

Lines changed: 3 additions & 0 deletions
Loading

src/shared/components/SortingSelectBar/style.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ $down-arrow-size: $base-unit;
2424
font-size: 13px;
2525
line-height: 13px;
2626
margin: 0;
27-
padding: 0 0 0 10px;
27+
padding: 4.5px 0 4.5px 10px;
2828
border: none;
2929
text-transform: none;
3030
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ function ChallengeCard({
4949

5050
const registrationPhase = (challenge.phases || []).filter(phase => phase.name === 'Registration')[0];
5151
const isRegistrationOpen = registrationPhase ? registrationPhase.isOpen : false;
52-
const isRecommendedChallenge = challenge.jaccard_index;
52+
const isRecommendedChallenge = !!challenge.jaccard_index;
5353

5454
return (
5555
<div ref={domRef} styleName="challengeCard">

src/shared/components/challenge-listing/Filters/FiltersPanel/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ export default function FiltersPanel({
306306

307307
const recommendedCheckboxTip = (
308308
<div styleName="tctooltiptext">
309-
<p>Shows available challenges <br /> that match your skills</p>
309+
<p>Show the best challenges for you.</p>
310310
</div>
311311
);
312312

0 commit comments

Comments
 (0)