diff --git a/.circleci/config.yml b/.circleci/config.yml index 1e37ab4b7a..3294f14378 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -342,8 +342,7 @@ workflows: filters: branches: only: - - develop - - fix/issue-5739 + - gigs-apply-integration # This is alternate dev env for parallel testing - "build-test": context : org-global @@ -357,14 +356,14 @@ workflows: filters: branches: only: - - referral-api-bug + - free # This is beta env for production soft releases - "build-prod-beta": context : org-global filters: branches: only: - - thrive-vulnerability-1 + - free # This is stage env for production QA releases - "build-prod-staging": context : org-global diff --git a/src/shared/components/ChallengeTile/style.scss b/src/shared/components/ChallengeTile/style.scss index db72e7a56e..4a0dc990a2 100644 --- a/src/shared/components/ChallengeTile/style.scss +++ b/src/shared/components/ChallengeTile/style.scss @@ -23,7 +23,7 @@ display: flex; .title { - @include sofia-pro-light; + @include roboto-light; font-size: 18px; line-height: 23px; @@ -36,7 +36,7 @@ } span { - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: "BarlowCondensed", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 11px; line-height: 15px; @@ -52,7 +52,7 @@ display: flex; .title { - @include sofia-pro-light; + @include roboto-light; font-size: 18px; line-height: 23px; @@ -65,7 +65,7 @@ } span { - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'BarlowCondensed', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 11px; line-height: 15px; @@ -154,7 +154,7 @@ align-items: center; .place { - @include sofia-pro-regular; + @include roboto-regular; font-size: 20px; color: #3d3d3d; @@ -206,7 +206,7 @@ .num-images { margin-left: 8px; - @include sofia-pro-regular; + @include roboto-regular; font-size: 10px; color: #f6f6f6; @@ -225,7 +225,7 @@ div .dev-challenge-user-place { align-items: center; .place { - @include sofia-pro-light; + @include roboto-light; font-size: 18px; line-height: 23px; @@ -257,14 +257,14 @@ div .dev-challenge-user-place { margin-top: 28px; margin-bottom: 5px; - @include sofia-pro-bold; + @include roboto-bold; font-size: 18px; color: #3d3d3d; } .last-child { - @include sofia-pro-medium; + @include roboto-medium; font-size: 9px; color: #a3a3ae; @@ -287,7 +287,7 @@ div .challenge.tile-view { a.name, span.name { display: block; - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 500; font-size: 12px; line-height: 16px; @@ -306,7 +306,7 @@ div .challenge.tile-view { } p.subtrack-color { - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'BarlowCondensed', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 500; font-size: 10px; line-height: 14px; @@ -349,7 +349,7 @@ div .challenge.tile-view { // } .title { - @include sofia-pro-light; + @include roboto-light; font-size: 18px; line-height: 23px; @@ -362,7 +362,7 @@ div .challenge.tile-view { } span { - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'BarlowCondensed', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 11px; line-height: 15px; @@ -383,7 +383,7 @@ div .challenge.tile-view { .title { margin-bottom: 60px; - font-family: 'Sofia Pro', Arial, Helvetica, sans-serif; + font-family: 'BarlowCondensed', Arial, Helvetica, sans-serif; font-weight: 300; font-size: 18px; line-height: 23px; @@ -393,7 +393,7 @@ div .challenge.tile-view { span { margin-top: 20px; - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'BarlowCondensed', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 11px; line-height: 15px; @@ -447,7 +447,7 @@ div .challenge.tile-view { .challenge-details { .currentPhase { margin-bottom: 20px; - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'BarlowCondensed', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 300; font-size: 18px; line-height: 23px; @@ -464,7 +464,7 @@ div .challenge.tile-view { background-image: url(assets/images/ico-calendar.svg); > p { - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 700; } @@ -501,7 +501,7 @@ div .challenge.tile-view { .stalled-challenge { min-height: 83px; padding: 21px 20px 0 20px; - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'BarlowCondensed', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 500; font-size: 12px; line-height: 18px; @@ -545,7 +545,7 @@ div .challenge.tile-view { border: 1px solid #f0f0f0; border-radius: 4px; background-color: $tc-white; - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'BarlowCondensed', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 12px; text-transform: uppercase; @@ -583,7 +583,7 @@ div .challenge.tile-view { position: relative; .date-completed { - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'BarlowCondensed', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 500; font-size: 10px; line-height: 14px; @@ -643,7 +643,7 @@ div .challenge.tile-view { .score { margin-bottom: 5px; - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 32px; line-height: 38px; @@ -651,7 +651,7 @@ div .challenge.tile-view { } p:last-child { - font-family: 'Sofia Pro', "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: 'BarlowCondensed', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 12px; line-height: 14px; @@ -689,7 +689,7 @@ div .challenge.tile-view { margin: 30px auto 0; text-align: center; - @include sofia-pro-regular; + @include roboto-regular; font-size: 24px; line-height: 30px; @@ -702,7 +702,7 @@ div .challenge.tile-view { margin-top: 30px; li { - @include sofia-pro-regular; + @include roboto-regular; font-size: 15px; line-height: 18px; @@ -720,7 +720,7 @@ div .challenge.tile-view { } ul.divisions { - @include sofia-pro-regular; + @include roboto-regular; li.division { border-bottom: 1px solid #f0f0f0; @@ -844,7 +844,7 @@ div .challenge.tile-view { .no-challenges { margin: 30px; - @include sofia-pro-regular; + @include roboto-regular; font-size: 16px; color: #a3a3ae; @@ -877,7 +877,7 @@ div .challenge.tile-view { h2.detailed { margin: 30px auto 0; - @include sofia-pro-regular; + @include roboto-regular; font-size: 24px; line-height: 30px; @@ -897,7 +897,7 @@ div .challenge.tile-view { width: 28%; margin: 0 15px; - @include sofia-pro-regular; + @include roboto-regular; font-size: 15px; line-height: 18px; diff --git a/src/shared/components/Contentful/SearchBar/SearchBar.jsx b/src/shared/components/Contentful/SearchBar/SearchBar.jsx index 3fe97914e3..ab0abb9e09 100644 --- a/src/shared/components/Contentful/SearchBar/SearchBar.jsx +++ b/src/shared/components/Contentful/SearchBar/SearchBar.jsx @@ -379,12 +379,13 @@ export class SearchBarInner extends Component { * Update suggestion list with new search text * This function use debounce delay to avoid processing or requesting too much * - * @param {String} searchText Search text + * @param {String} searchTerm Search text */ - updateSuggestionListWithNewSearch(searchText) { + updateSuggestionListWithNewSearch(searchTerm) { const { selectedFilter, } = this.state; + const searchText = searchTerm ? encodeURIComponent(searchTerm) : ''; if (searchText) { const query = { @@ -499,6 +500,7 @@ export class SearchBarInner extends Component { { + if (urlQuery.tax) { + // check if tax exists or is wrong + const foundSome = _.some( + _.flatten( + _.values(taxonomy), + ), cat => cat.name.toLowerCase() === urlQuery.tax.toLowerCase(), + ); + if (!foundSome) { + delete urlQuery.tax; + updateQuery({ + ...query, + ...urlQuery, + }); + this.setState({ + query: { + ...query, + ...urlQuery, + }, + }); + } + } const tree = tracksTreeBuilder(taxonomy, urlQuery); this.setState({ tree, diff --git a/src/shared/services/contentful.js b/src/shared/services/contentful.js index ded9dacaf7..81b7dd1e1c 100644 --- a/src/shared/services/contentful.js +++ b/src/shared/services/contentful.js @@ -316,12 +316,10 @@ class Service { // thus we need to find it first await this.queryEntries({ content_type: 'person', - query: author, + query: encodeURIComponent(author), }) .then((result) => { - if (result.total) { - query['fields.contentAuthor.sys.id'] = result.items[0].sys.id; - } + query['fields.contentAuthor.sys.id'] = result.total ? result.items[0].sys.id : 'NO_SUCH_ID'; }); } if (tax && track && taxonomy && taxonomy[track]) { @@ -335,19 +333,19 @@ class Service { } }); } else { - const taxId = _.find(taxonomy[track], ['name', tax]).id; - taxIDs.push(taxId); + const taxId = _.find(taxonomy[track], ['name', tax]); + if (taxId) taxIDs.push(taxId.id); } if (taxIDs.length) query['fields.contentCategory.sys.id[in]'] = taxIDs.join(','); } if (track) query['fields.trackCategory'] = track; if (!_.isEmpty(tags)) { - query['fields.tags[all]'] = tags.join(','); + query['fields.tags[all]'] = tags.map(t => encodeURIComponent(t)).join(','); } if (startDate) query['fields.creationDate[gte]'] = startDate; if (endDate) query['fields.creationDate[lte]'] = endDate; - if (phrase) query.query = phrase; - if (title) query['fields.title[match]'] = title; + if (phrase) query.query = encodeURIComponent(phrase); + if (title) query['fields.title[match]'] = encodeURIComponent(title); if (sortBy) { switch (sortBy) { case 'Likes': query.order = '-fields.upvotes,-fields.creationDate'; break; diff --git a/src/styles/_global/_fonts.scss b/src/styles/_global/_fonts.scss index c13e8f6378..b14c8d0d1d 100644 --- a/src/styles/_global/_fonts.scss +++ b/src/styles/_global/_fonts.scss @@ -52,19 +52,6 @@ } } -/* Sofia Pro font is currently used in the Topcoder footer - and header. */ -@include font-family('Sofia Pro', 300, normal, '../assets/fonts/sofiapro/', 'sofiapro-light-webfont'); -@include font-family('Sofia Pro', 300, italic, '../assets/fonts/sofiapro/', 'sofiapro-light-italic-webfont'); -@include font-family('Sofia Pro', 400, normal, '../assets/fonts/sofiapro/', 'sofiapro-regular-webfont'); -@include font-family('Sofia Pro', 400, italic, '../assets/fonts/sofiapro/', 'sofiapro-regular-italic-webfont'); -@include font-family('Sofia Pro', 500, normal, '../assets/fonts/sofiapro/', 'sofiapro-medium-webfont'); -@include font-family('Sofia Pro', 500, italic, '../assets/fonts/sofiapro/', 'sofiapro-medium-italic-webfont'); -@include font-family('Sofia Pro', 600, normal, '../assets/fonts/sofiapro/', 'sofiapro-semibold-webfont'); -@include font-family('Sofia Pro', 600, italic, '../assets/fonts/sofiapro/', 'sofiapro-semibold-italic-webfont'); -@include font-family('Sofia Pro', 700, normal, '../assets/fonts/sofiapro/', 'sofiapro-bold-webfont'); -@include font-family('Sofia Pro', 700, italic, '../assets/fonts/sofiapro/', 'sofiapro-bold-italic-webfont'); - /* OpenSans font is being used by the new design of community pages */ @include font-family('Open Sans', 300, normal, 'assets/fonts/opensans/', 'opensans-light-webfont'); @include font-family('Open Sans', 300, italic, 'assets/fonts/opensans/', 'opensans-lightitalic-webfont'); diff --git a/src/styles/_mixins/_typography.scss b/src/styles/_mixins/_typography.scss index ab68135764..bad7263c49 100644 --- a/src/styles/_mixins/_typography.scss +++ b/src/styles/_mixins/_typography.scss @@ -2,40 +2,9 @@ * Defines typography/font related mixins not currently implemented in topcoder-react-ui-ki */ -@mixin sofia-pro-extra-light { - font-family: 'Sofia Pro', Arial, Helvetica, sans-serif; - font-weight: 200; -} - -@mixin sofia-pro-light { - font-family: 'Sofia Pro', Arial, Helvetica, sans-serif; - font-weight: 300; -} - -@mixin sofia-pro-regular { - font-family: 'Sofia Pro', Arial, Helvetica, sans-serif; - font-weight: 400; -} - -@mixin sofia-pro-italic { - @include sofia-pro-regular; - - font-style: italic; -} - -@mixin sofia-pro-medium { - font-family: 'Sofia Pro', Arial, Helvetica, sans-serif; - font-weight: 500; -} - -@mixin sofia-pro-semi-bold { - font-family: 'Sofia Pro', Arial, Helvetica, sans-serif; - font-weight: 600; -} - -@mixin sofia-pro-bold { - font-family: 'Sofia Pro', Arial, Helvetica, sans-serif; - font-weight: bold; +@mixin roboto-extra-light { + font-family: 'Roboto', Arial, Helvetica, sans-serif; + font-weight: 100; } @mixin merriweather-sans-light { diff --git a/src/styles/awesome.css b/src/styles/awesome.css index c0dc23bb1e..03b1fc343a 100644 --- a/src/styles/awesome.css +++ b/src/styles/awesome.css @@ -79,7 +79,7 @@ .rrt-text { margin-top: 10px; - font-family: 'Sofia Pro', Arial, Helvetica, sans-serif; + font-family: 'Roboto', Arial, Helvetica, sans-serif; font-weight: 300 !important; font-size: 16px !important; }