From d7e336ea391ebf3c950cf09f999a48a00db7402a Mon Sep 17 00:00:00 2001 From: LieutenantRoger Date: Mon, 24 Aug 2020 22:13:15 +0800 Subject: [PATCH 01/16] Refactor challenge list --- src/services/challenges.js | 46 ++++++++++++++++++++++++++++------- src/utils/challenge/filter.js | 46 ++++++++++++++++++++++++----------- src/utils/tc.js | 6 ++--- 3 files changed, 72 insertions(+), 26 deletions(-) diff --git a/src/services/challenges.js b/src/services/challenges.js index f24bdf5e..430c091c 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -15,6 +15,36 @@ import { getApi } from './api'; import { getService as getMembersService } from './members'; import { getService as getSubmissionsService } from './submissions'; +export function getFilterUrl(backendFilter, frontFilter) { + const ff = _.clone(frontFilter); + const { tags, tracks, types } = ff; + delete ff.tags; + delete ff.tracks; + delete ff.types; + delete ff.communityId; + + console.log(ff); + + let urlFilter = qs.stringify(_.reduce(ff, (result, value, key) => { + // eslint-disable-next-line no-param-reassign + if (value) result[key] = value; + return result; + }, {})); + console.log(urlFilter); + + const ftags = _.map(tags, val => `tags[]=${val}`).join('&'); + const ftracks = _.map(_.reduce(tracks, (result, value, key) => { + // eslint-disable-next-line no-unused-expressions + tracks[key] && result.push(key); + return result; + }, []), val => `tracks[]=${val}`).join('&'); + const ftypes = _.map(types, val => `types[]=${val}`).join('&'); + if (ftags.length > 0) urlFilter += `&${ftags}`; + if (ftracks.length > 0) urlFilter += `&${ftracks}`; + if (ftypes.length > 0) urlFilter += `&${ftypes}`; + return urlFilter; +} + export const ORDER_BY = { SUBMISSION_END_DATE: 'submissionEndDate', }; @@ -133,14 +163,12 @@ class ChallengesService { */ const getChallenges = async ( endpoint, - filters = {}, - params = {}, + filter, ) => { - const query = { - ...filters, - ...params, - }; - const url = `${endpoint}?${qs.stringify(query)}`; + console.log(filter); + const query = getFilterUrl(filter.backendFilter, filter.frontFilter); + const url = `${endpoint}?${query}`; + console.log(url); const res = await this.private.apiV5.get(url).then(checkErrorV5); return { challenges: res.result || [], @@ -462,8 +490,8 @@ class ChallengesService { * @param {Object} params Optional. * @return {Promise} Resolves to the api response. */ - async getChallenges(filters, params) { - return this.private.getChallenges('/challenges/', filters, params) + async getChallenges(filter) { + return this.private.getChallenges('/challenges/', filter) .then((res) => { res.challenges.forEach(item => normalizeChallenge(item)); return res; diff --git a/src/utils/challenge/filter.js b/src/utils/challenge/filter.js index 36e91e6f..b547c687 100644 --- a/src/utils/challenge/filter.js +++ b/src/utils/challenge/filter.js @@ -144,22 +144,23 @@ function filterByStatus(challenge, state) { } function filterByTags(challenge, state) { - if (!state.tags) return true; + if (!state.tags || state.tags.length === 0) return true; const { platforms, tags } = challenge; - const str = `${platforms} ${tags}`.toLowerCase(); + const str = `${platforms.join(' ')} ${tags.join(' ')}`.toLowerCase(); return state.tags.some(tag => str.includes(tag.toLowerCase())); } function filterByText(challenge, state) { - if (!state.text) return true; + if (!state.name) return true; const str = `${challenge.name} ${challenge.tags} ${challenge.platforms} ${challenge.tags}` .toLowerCase(); - return str.includes(state.text.toLowerCase()); + return str.includes(state.name.toLowerCase()); } function filterByTrack(challenge, state) { - if (!state.tracks) return true; - return _.keys(state.tracks).some(track => challenge.track === track); + // if (!state.tracks) return true; + // eslint-disable-next-line max-len + return state.tracks[challenge.track] === true; } function filterByTypes(challenge, state) { @@ -239,7 +240,13 @@ export function getFilterFunction(state) { */ export function getReviewOpportunitiesFilterFunction(state, validTypes) { return (opp) => { - const newType = _.find(validTypes, { name: opp.challenge.type }) || {}; + const trackAbbr = { + DATA_SCIENCE: 'DS', + DEVELOP: 'Dev', + DESIGN: 'Des', + QA: 'QA', + }; + // const newType = _.find(validTypes, { name: opp.challenge.type }) || {}; // Review Opportunity objects have a challenge field which // is largely compatible with many of the existing filter functions @@ -248,16 +255,27 @@ export function getReviewOpportunitiesFilterFunction(state, validTypes) { ...opp.challenge, // This allows filterByText to search for Review Types and Challenge Titles name: `${opp.challenge.title} ${REVIEW_OPPORTUNITY_TYPES[opp.type]}`, - registrationStartDate: opp.startDate, // startDate of Review, not Challenge - submissionEndDate: opp.startDate, // Currently uses startDate for both date comparisons - communities: new Set([ // Used to filter by Track, and communities at a future date - opp.challenge.track.toLowerCase(), - ]), - typeId: newType.id, + // registrationStartDate: opp.startDate, // startDate of Review, not Challenge + // submissionEndDate: opp.startDate, // Currently uses startDate for both date comparisons + // communities: new Set([ // Used to filter by Track, and communities at a future date + // opp.challenge.track === 'QA' ? 'Dev' : trackAbbr[opp.challenge.track], + // ]), + track: trackAbbr[opp.challenge.track], + // typeId: newType.id, tags: opp.challenge.technologies || [], platforms: opp.challenge.platforms || [], }; - + /** + console.log(challenge); + console.log(`=====`); + console.log(`11111`); + console.log(filterByTrack(challenge, state)); + console.log(filterByText(challenge, state)); + console.log(filterByTags(challenge, state)); + console.log(filterByEndDate(challenge, state)); + console.log(filterByStartDate(challenge, state)); + console.log(filterByReviewOpportunityType(opp, state)); + */ return ( filterByTrack(challenge, state) && filterByText(challenge, state) diff --git a/src/utils/tc.js b/src/utils/tc.js index 5388d4bb..01842493 100644 --- a/src/utils/tc.js +++ b/src/utils/tc.js @@ -11,9 +11,9 @@ * uses upper-case literals to encode the tracks. At some point, we should * update it in this code as well! */ export const COMPETITION_TRACKS = { - DATA_SCIENCE: 'Data Science', - DESIGN: 'Design', - DEVELOP: 'Development', + DS: 'Data Science', + DES: 'Design', + DEV: 'Development', QA: 'Quality Assurance', }; From 43800997dcad2b14ba6e22f78447cdec4d11d609 Mon Sep 17 00:00:00 2001 From: LieutenantRoger Date: Sun, 30 Aug 2020 23:52:51 +0800 Subject: [PATCH 02/16] Fix test issues in lib --- __tests__/__snapshots__/index.js.snap | 7 ++++--- src/services/challenges.js | 8 ++++---- src/utils/challenge/filter.js | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/__tests__/__snapshots__/index.js.snap b/__tests__/__snapshots__/index.js.snap index 53d2317a..bc9914b9 100644 --- a/__tests__/__snapshots__/index.js.snap +++ b/__tests__/__snapshots__/index.js.snap @@ -303,6 +303,7 @@ Object { "SUBMISSION_END_DATE": "submissionEndDate", }, "default": undefined, + "getFilterUrl": [Function], "getService": [Function], "normalizeChallenge": [Function], }, @@ -372,9 +373,9 @@ Object { }, "tc": Object { "COMPETITION_TRACKS": Object { - "DATA_SCIENCE": "Data Science", - "DESIGN": "Design", - "DEVELOP": "Development", + "DES": "Design", + "DEV": "Development", + "DS": "Data Science", "QA": "Quality Assurance", }, "REVIEW_OPPORTUNITY_TYPES": Object { diff --git a/src/services/challenges.js b/src/services/challenges.js index 430c091c..17def6e2 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -23,14 +23,14 @@ export function getFilterUrl(backendFilter, frontFilter) { delete ff.types; delete ff.communityId; - console.log(ff); + // console.log(ff); let urlFilter = qs.stringify(_.reduce(ff, (result, value, key) => { // eslint-disable-next-line no-param-reassign if (value) result[key] = value; return result; }, {})); - console.log(urlFilter); + // console.log(urlFilter); const ftags = _.map(tags, val => `tags[]=${val}`).join('&'); const ftracks = _.map(_.reduce(tracks, (result, value, key) => { @@ -165,10 +165,10 @@ class ChallengesService { endpoint, filter, ) => { - console.log(filter); + // console.log(filter); const query = getFilterUrl(filter.backendFilter, filter.frontFilter); const url = `${endpoint}?${query}`; - console.log(url); + // console.log(url); const res = await this.private.apiV5.get(url).then(checkErrorV5); return { challenges: res.result || [], diff --git a/src/utils/challenge/filter.js b/src/utils/challenge/filter.js index b547c687..176d1d3e 100644 --- a/src/utils/challenge/filter.js +++ b/src/utils/challenge/filter.js @@ -238,7 +238,7 @@ export function getFilterFunction(state) { * @param {Object} state * @return {Function} */ -export function getReviewOpportunitiesFilterFunction(state, validTypes) { +export function getReviewOpportunitiesFilterFunction(state) { return (opp) => { const trackAbbr = { DATA_SCIENCE: 'DS', @@ -280,7 +280,7 @@ export function getReviewOpportunitiesFilterFunction(state, validTypes) { filterByTrack(challenge, state) && filterByText(challenge, state) && filterByTags(challenge, state) - // && filterByTypes(challenge, state) + && filterByTypes(challenge, state) && filterByEndDate(challenge, state) && filterByStartDate(challenge, state) && filterByReviewOpportunityType(opp, state) From 86571d7e5172ac95a832fb51f1e6320b846bff32 Mon Sep 17 00:00:00 2001 From: LieutenantRoger Date: Tue, 1 Sep 2020 00:21:30 +0800 Subject: [PATCH 03/16] restore the old filterByType operation --- src/utils/challenge/filter.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/utils/challenge/filter.js b/src/utils/challenge/filter.js index 176d1d3e..654e5ed5 100644 --- a/src/utils/challenge/filter.js +++ b/src/utils/challenge/filter.js @@ -164,7 +164,7 @@ function filterByTrack(challenge, state) { } function filterByTypes(challenge, state) { - if (!state.types) return true; + if (state.types.length === 0) return true; return state.types.includes(challenge.typeId); } @@ -173,10 +173,10 @@ function filterByUpcoming(challenge, state) { return moment().isBefore(challenge.registrationStartDate); } -function filterByUsers(challenge, state) { - if (!state.userChallenges) return true; - return state.userChallenges.find(ch => challenge.id === ch); -} +// function filterByUsers(challenge, state) { +// if (!state.userChallenges) return true; +// return state.userChallenges.find(ch => challenge.id === ch); +// } /** * Returns clone of the state with the specified competition track added. @@ -216,7 +216,7 @@ export function getFilterFunction(state) { && filterByText(challenge, state) && filterByTags(challenge, state) && filterByTypes(challenge, state) - && filterByUsers(challenge, state) + // && filterByUsers(challenge, state) && filterByEndDate(challenge, state) && filterByStartDate(challenge, state) && filterByStarted(challenge, state) @@ -238,7 +238,7 @@ export function getFilterFunction(state) { * @param {Object} state * @return {Function} */ -export function getReviewOpportunitiesFilterFunction(state) { +export function getReviewOpportunitiesFilterFunction(state, validTypes) { return (opp) => { const trackAbbr = { DATA_SCIENCE: 'DS', @@ -247,6 +247,7 @@ export function getReviewOpportunitiesFilterFunction(state) { QA: 'QA', }; // const newType = _.find(validTypes, { name: opp.challenge.type }) || {}; + const newType = _.find(validTypes, { name: opp.challenge.subTrack === 'FIRST_2_FINISH' ? 'First2Finish' : 'Challenge' }) || {}; // Review Opportunity objects have a challenge field which // is largely compatible with many of the existing filter functions @@ -261,7 +262,7 @@ export function getReviewOpportunitiesFilterFunction(state) { // opp.challenge.track === 'QA' ? 'Dev' : trackAbbr[opp.challenge.track], // ]), track: trackAbbr[opp.challenge.track], - // typeId: newType.id, + typeId: newType.abbreviation, tags: opp.challenge.technologies || [], platforms: opp.challenge.platforms || [], }; From f2793564f3ce4dfa289d908718aac302f89bce06 Mon Sep 17 00:00:00 2001 From: LieutenantRoger Date: Sun, 13 Sep 2020 00:25:57 +0800 Subject: [PATCH 04/16] change groups param --- src/services/challenges.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/services/challenges.js b/src/services/challenges.js index 17def6e2..86f31942 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -17,11 +17,13 @@ import { getService as getSubmissionsService } from './submissions'; export function getFilterUrl(backendFilter, frontFilter) { const ff = _.clone(frontFilter); - const { tags, tracks, types } = ff; + // eslint-disable-next-line object-curly-newline + const { tags, tracks, types, groups } = ff; delete ff.tags; delete ff.tracks; delete ff.types; delete ff.communityId; + delete ff.groups; // console.log(ff); @@ -39,9 +41,11 @@ export function getFilterUrl(backendFilter, frontFilter) { return result; }, []), val => `tracks[]=${val}`).join('&'); const ftypes = _.map(types, val => `types[]=${val}`).join('&'); + const fgroups = _.map(groups, val => `groups[]=${val}`).join('&'); if (ftags.length > 0) urlFilter += `&${ftags}`; if (ftracks.length > 0) urlFilter += `&${ftracks}`; if (ftypes.length > 0) urlFilter += `&${ftypes}`; + if (fgroups.length > 9) urlFilter += `&${fgroups}`; return urlFilter; } From d89ff66972d064a2354ada0d2e6232405f378824 Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Mon, 21 Sep 2020 02:19:43 -0300 Subject: [PATCH 05/16] fix: for #4594 Issues: https://github.com/topcoder-platform/community-app/issues/4594 https://github.com/topcoder-platform/community-app/issues/4595 https://github.com/topcoder-platform/community-app/issues/4596 https://github.com/topcoder-platform/community-app/issues/4597 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6559a5cf..83c20aab 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .", "test": "npm run lint && npm run jest" }, - "version": "1000.19.44", + "version": "1000.22.8", "dependencies": { "auth0-js": "^6.8.4", "config": "^3.2.0", From 6ab57cc1a7150a048acf6c43454a92108c45b9cb Mon Sep 17 00:00:00 2001 From: LieutenantRoger Date: Sat, 26 Sep 2020 19:21:32 +0800 Subject: [PATCH 06/16] fix challenge detail screen --- src/services/challenges.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/services/challenges.js b/src/services/challenges.js index 86f31942..80fd86c2 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -186,6 +186,22 @@ class ChallengesService { }, }; }; + + const getChallengeDetails = async ( + endpoint, + legacyInfo, + ) => { + let query = ''; + if (legacyInfo) { + query = `legacyId=${legacyInfo.legacyId}`; + } + const url = `${endpoint}?${query}`; + const res = await this.private.apiV5.get(url).then(checkErrorV5); + return { + challenges: res.result || [], + }; + }; + /** * Private function being re-used in all methods related to getting * challenges. It handles query-related arguments in the uniform way: @@ -221,6 +237,7 @@ class ChallengesService { apiV2: getApi('V2', tokenV2), apiV3: getApi('V3', tokenV3), getChallenges, + getChallengeDetails, getMemberChallenges, tokenV2, tokenV3, @@ -359,10 +376,10 @@ class ChallengesService { // condition based on ROUTE used for Review Opportunities, change if needed if (/^[\d]{5,8}$/.test(challengeId)) { isLegacyChallenge = true; - challenge = await this.private.getChallenges('/challenges/', { legacyId: challengeId }) + challenge = await this.private.getChallengeDetails('/challenges/', { legacyId: challengeId }) .then(res => res.challenges[0]); } else { - challenge = await this.private.getChallenges(`/challenges/${challengeId}`) + challenge = await this.private.getChallengeDetails(`/challenges/${challengeId}`) .then(res => res.challenges); } From 3deb718a5b0258ebe1ceab8abafdce418e14181c Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Wed, 30 Sep 2020 21:30:53 -0300 Subject: [PATCH 07/16] fix: for issue #4965 Issue: https://github.com/topcoder-platform/community-app/issues/4965 PRs: https://github.com/topcoder-platform/community-app/pull/5008 https://github.com/topcoder-platform/topcoder-react-lib/pull/259 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 83c20aab..013d2c0e 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .", "test": "npm run lint && npm run jest" }, - "version": "1000.22.8", + "version": "1000.24.0", "dependencies": { "auth0-js": "^6.8.4", "config": "^3.2.0", From 5dc91875f60c6138041c4738c3c40b253351f489 Mon Sep 17 00:00:00 2001 From: narekcat Date: Sat, 3 Oct 2020 18:47:51 +0400 Subject: [PATCH 08/16] fix: for issue #5036 --- src/services/challenges.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/services/challenges.js b/src/services/challenges.js index 80fd86c2..0076a96a 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -169,20 +169,21 @@ class ChallengesService { endpoint, filter, ) => { - // console.log(filter); - const query = getFilterUrl(filter.backendFilter, filter.frontFilter); - const url = `${endpoint}?${query}`; - // console.log(url); - const res = await this.private.apiV5.get(url).then(checkErrorV5); + let res = {}; + if (_.some(filter.frontFilter.tracks, val => val)) { + const query = getFilterUrl(filter.backendFilter, filter.frontFilter); + const url = `${endpoint}?${query}`; + res = await this.private.apiV5.get(url).then(checkErrorV5); + } return { challenges: res.result || [], - totalCount: res.headers.get('x-total'), + totalCount: res.headers ? res.headers.get('x-total') : 0, meta: { - allChallengesCount: res.headers.get('x-total'), + allChallengesCount: res.headers ? res.headers.get('x-total') : 0, myChallengesCount: 0, ongoingChallengesCount: 0, openChallengesCount: 0, - totalCount: res.headers.get('x-total'), + totalCount: res.headers ? res.headers.get('x-total') : 0, }, }; }; From d7c16afc9244890c8a4914b85f3d051197f40e96 Mon Sep 17 00:00:00 2001 From: "Luiz R. Rodrigues" Date: Sun, 4 Oct 2020 23:21:52 -0300 Subject: [PATCH 09/16] Challengelist sync missing COMPETITION_TRACKS rename --- package.json | 2 +- src/reducers/challenge.js | 2 +- src/services/challenges.js | 4 ++-- src/services/reviewOpportunities.js | 8 ++++---- src/utils/challenge/filter.js | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index e53c61d8..89bf779d 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .", "test": "npm run lint && npm run jest" }, - "version": "1000.24.1", + "version": "1000.24.2", "dependencies": { "auth0-js": "^6.8.4", "config": "^3.2.0", diff --git a/src/reducers/challenge.js b/src/reducers/challenge.js index 7fb1dbd9..e706cb07 100644 --- a/src/reducers/challenge.js +++ b/src/reducers/challenge.js @@ -471,7 +471,7 @@ export function factory(options = {}) { const challengeDetails = _.get(res, 'payload', {}); const track = _.get(challengeDetails, 'track', ''); let checkpointsPromise = null; - if (track === COMPETITION_TRACKS.DESIGN) { + if (track === COMPETITION_TRACKS.DES) { const p = _.get(challengeDetails, 'phases', []) .filter(x => x.name === 'Checkpoint Review'); if (p.length && !p[0].isOpen) { diff --git a/src/services/challenges.js b/src/services/challenges.js index 61305d13..d70372c9 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -691,7 +691,7 @@ class ChallengesService { let contentType; let url; - if (track === COMPETITION_TRACKS.DESIGN) { + if (track === COMPETITION_TRACKS.DES) { ({ api } = this.private); contentType = 'application/json'; url = '/submissions/'; // The submission info is contained entirely in the JSON body @@ -709,7 +709,7 @@ class ChallengesService { }, onProgress).then((res) => { const jres = JSON.parse(res); // Return result for Develop submission - if (track === COMPETITION_TRACKS.DEVELOP) { + if (track === COMPETITION_TRACKS.DEV) { return jres; } // Design Submission requires an extra "Processing" POST diff --git a/src/services/reviewOpportunities.js b/src/services/reviewOpportunities.js index 9f3cdf31..6e255a95 100644 --- a/src/services/reviewOpportunities.js +++ b/src/services/reviewOpportunities.js @@ -17,10 +17,10 @@ export function normalizeChallenges(opportunities) { * until receive API V5 update. */ _.map(opportunities, (opportunity) => { const { challenge } = opportunity; - challenge.track = COMPETITION_TRACKS.DEVELOP; + challenge.track = COMPETITION_TRACKS.DEV; if (challenge.technologies) { - if (challenge.technologies.includes(COMPETITION_TRACKS.DATA_SCIENCE)) { - challenge.track = COMPETITION_TRACKS.DATA_SCIENCE; + if (challenge.technologies.includes(COMPETITION_TRACKS.DS)) { + challenge.track = COMPETITION_TRACKS.DS; } } else if (challenge.subTrack === OLD_SUBTRACKS.TEST_SUITES || challenge.subTrack === OLD_SUBTRACKS.BUG_HUNT @@ -28,7 +28,7 @@ export function normalizeChallenges(opportunities) { || challenge.subTrack === OLD_COMPETITION_TRACKS.TESTING_COMPETITION) { challenge.track = COMPETITION_TRACKS.QA; } else if (challenge.track === OLD_COMPETITION_TRACKS.DESIGN) { - challenge.track = COMPETITION_TRACKS.DESIGN; + challenge.track = COMPETITION_TRACKS.DES; } return _.defaults(opportunity, { challenge }); }); diff --git a/src/utils/challenge/filter.js b/src/utils/challenge/filter.js index 1b09b1d6..5812559f 100644 --- a/src/utils/challenge/filter.js +++ b/src/utils/challenge/filter.js @@ -90,7 +90,7 @@ function filterByRegistrationOpen(challenge, state) { if (!registrationPhase || !registrationPhase.isOpen) { return false; } - if (challenge.track === COMPETITION_TRACKS.DESIGN) { + if (challenge.track === COMPETITION_TRACKS.DES) { const checkpointPhase = challengePhases.find(item => item.name === 'Checkpoint Submission')[0]; return !checkpointPhase || !checkpointPhase.isOpen; } From 534fb7cc7b22bc54213092deb5e9bd56cab5f149 Mon Sep 17 00:00:00 2001 From: Cagdas U Date: Mon, 5 Oct 2020 18:50:54 +0300 Subject: [PATCH 10/16] fix: update track abbreviations --- src/utils/challenge/filter.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utils/challenge/filter.js b/src/utils/challenge/filter.js index 5812559f..0728dc15 100644 --- a/src/utils/challenge/filter.js +++ b/src/utils/challenge/filter.js @@ -249,10 +249,10 @@ export function getFilterFunction(state) { export function getReviewOpportunitiesFilterFunction(state, validTypes) { return (opp) => { const trackAbbr = { - DATA_SCIENCE: 'DS', - DEVELOP: 'Dev', - DESIGN: 'Des', - QA: 'QA', + 'Data Science': 'DS', + Development: 'Dev', + Design: 'Des', + 'Quality Assurance': 'QA', }; // const newType = _.find(validTypes, { name: opp.challenge.type }) || {}; const newType = _.find(validTypes, { name: opp.challenge.subTrack === 'FIRST_2_FINISH' ? 'First2Finish' : 'Challenge' }) || {}; From 79acf3d6a2deebb1531b8812d779c3ab060cefb5 Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Mon, 5 Oct 2020 19:07:21 -0300 Subject: [PATCH 11/16] fix: for issue #5045 #5045 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 89bf779d..f50b33db 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .", "test": "npm run lint && npm run jest" }, - "version": "1000.24.2", + "version": "1000.24.3", "dependencies": { "auth0-js": "^6.8.4", "config": "^3.2.0", From 88f86f2558178285aeea77798ce3f00494f860fb Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Mon, 5 Oct 2020 19:11:07 -0300 Subject: [PATCH 12/16] ci: added dist tag --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0e161844..e8eac28e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,7 +28,7 @@ jobs: - attach_workspace: at: . - run: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc - - run: npm publish + - run: npm publish --tag test-release # dont change anything workflows: version: 2 From 732c9e004b4e05941d1e64c990c4dfdbfe032308 Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Tue, 6 Oct 2020 22:27:36 -0300 Subject: [PATCH 13/16] fix: for issue #5036 Issue: https://github.com/topcoder-platform/community-app/issues/5036 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f50b33db..e14602c8 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .", "test": "npm run lint && npm run jest" }, - "version": "1000.24.3", + "version": "1000.24.4", "dependencies": { "auth0-js": "^6.8.4", "config": "^3.2.0", From fb8099307b236d5e9908ce897e06b798be54244b Mon Sep 17 00:00:00 2001 From: "Luiz R. Rodrigues" Date: Thu, 8 Oct 2020 20:47:35 -0300 Subject: [PATCH 14/16] Implement TCO filter to Challenge Listing page --- src/services/challenges.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/services/challenges.js b/src/services/challenges.js index f035a394..e232274b 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -18,12 +18,13 @@ import { getService as getSubmissionsService } from './submissions'; export function getFilterUrl(backendFilter, frontFilter) { const ff = _.clone(frontFilter); // eslint-disable-next-line object-curly-newline - const { tags, tracks, types, groups } = ff; + const { tags, tracks, types, groups, events } = ff; delete ff.tags; delete ff.tracks; delete ff.types; delete ff.communityId; delete ff.groups; + delete ff.events; // console.log(ff); @@ -42,10 +43,12 @@ export function getFilterUrl(backendFilter, frontFilter) { }, []), val => `tracks[]=${val}`).join('&'); const ftypes = _.map(types, val => `types[]=${val}`).join('&'); const fgroups = _.map(groups, val => `groups[]=${val}`).join('&'); + const fevents = _.map(events, val => `events[]=${val}`).join('&'); if (ftags.length > 0) urlFilter += `&${ftags}`; if (ftracks.length > 0) urlFilter += `&${ftracks}`; if (ftypes.length > 0) urlFilter += `&${ftypes}`; if (fgroups.length > 9) urlFilter += `&${fgroups}`; + if (fevents.length > 0) urlFilter += `&${fevents}`; return urlFilter; } From de74fea015185030eb0a07b98b1113e689509ba0 Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Thu, 8 Oct 2020 22:18:51 -0300 Subject: [PATCH 15/16] fix: for issue #5056 Issue: https://github.com/topcoder-platform/community-app/issues/5056 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e14602c8..1bf653d3 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .", "test": "npm run lint && npm run jest" }, - "version": "1000.24.4", + "version": "1000.24.5", "dependencies": { "auth0-js": "^6.8.4", "config": "^3.2.0", From 7c653ab0c1161cdbf0383e9cecc8a73ce9ab26ce Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Fri, 9 Oct 2020 02:12:01 -0300 Subject: [PATCH 16/16] Smoke Testing 2020-10-09 Issue: https://github.com/topcoder-platform/community-app/issues/5080 PRs: https://github.com/topcoder-platform/topcoder-react-lib/pull/271 https://github.com/topcoder-platform/community-app/pull/5079/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1bf653d3..a19edae2 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .", "test": "npm run lint && npm run jest" }, - "version": "1000.24.5", + "version": "1000.24.6", "dependencies": { "auth0-js": "^6.8.4", "config": "^3.2.0", pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy