Skip to content

Thrive spooky1 p0 2 #5767

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Nov 4, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ workflows:
filters:
branches:
only:
- free
- thrive-spooky1-p0-2
# This is stage env for production QA releases
- "build-prod-staging":
context : org-global
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,19 +82,19 @@ exports[`Default render 1`] = `
"title": "Competitive Programming",
},
Object {
"href": "/thrive/tracks?track=Data%20Science&tax=",
"href": "/thrive/tracks?track=Data%20Science",
"title": "Data Science",
},
Object {
"href": "/thrive/tracks?track=Design&tax=",
"href": "/thrive/tracks?track=Design",
"title": "Design",
},
Object {
"href": "/thrive/tracks?track=Development&tax=",
"href": "/thrive/tracks?track=Development",
"title": "Development",
},
Object {
"href": "/thrive/tracks?track=QA&tax=",
"href": "/thrive/tracks?track=QA",
"title": "QA",
},
],
Expand Down
8 changes: 4 additions & 4 deletions config/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -358,19 +358,19 @@ module.exports = {
},
{
title: 'Data Science',
href: '/thrive/tracks?track=Data%20Science&tax=',
href: '/thrive/tracks?track=Data%20Science',
},
{
title: 'Design',
href: '/thrive/tracks?track=Design&tax=',
href: '/thrive/tracks?track=Design',
},
{
title: 'Development',
href: '/thrive/tracks?track=Development&tax=',
href: '/thrive/tracks?track=Development',
},
{
title: 'QA',
href: '/thrive/tracks?track=QA&tax=',
href: '/thrive/tracks?track=QA',
},
],
},
Expand Down
8 changes: 4 additions & 4 deletions config/production.js
Original file line number Diff line number Diff line change
Expand Up @@ -139,19 +139,19 @@ module.exports = {
},
{
title: 'Data Science',
href: '/thrive/tracks?track=Data%20Science&tax=',
href: '/thrive/tracks?track=Data%20Science',
},
{
title: 'Design',
href: '/thrive/tracks?track=Design&tax=',
href: '/thrive/tracks?track=Design',
},
{
title: 'Development',
href: '/thrive/tracks?track=Development&tax=',
href: '/thrive/tracks?track=Development',
},
{
title: 'QA',
href: '/thrive/tracks?track=QA&tax=',
href: '/thrive/tracks?track=QA',
},
],
},
Expand Down
4 changes: 3 additions & 1 deletion src/server/services/contentful.js
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,9 @@ class ApiService {
* @return {Promise}
*/
async queryEntries(query) {
const res = await this.client.getEntries(query);
const decode = o => _.mapValues(o, prop => (typeof prop === 'object' ? decode(prop) : decodeURIComponent(prop)));
const decoded = decode(query);
const res = await this.client.getEntries(decoded);
return res.stringifySafe ? JSON.parse(res.stringifySafe()) : res;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,8 @@

.catsContainer {
display: flex;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
flex-direction: column;
align-items: flex-start;
border-left: 3px solid #e9e9e9;
padding-left: 7px;
margin-bottom: 5px;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
min-height: 217px;
display: flex;
flex-direction: column;
cursor: pointer;

@include xs-to-sm {
margin: auto;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ $text-black: #2a2a2a;
align-items: center;
width: 100%;
justify-content: flex-start;

&:last-child {
height: auto;
}
}

span {
Expand Down
12 changes: 9 additions & 3 deletions src/shared/containers/EDU/Search.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { updateQuery } from 'utils/url';
import qs from 'qs';
import LoadingIndicator from 'components/LoadingIndicator';
import SearchPageFilter from 'components/Contentful/SearchPageFilter/SearchPageFilter';
import moment from 'moment';
// Partials
import ResultTabs from './partials/ResultTabs';
// CSS
Expand Down Expand Up @@ -66,8 +67,8 @@ export default class EDUSearch extends React.Component {
const queryUpdate = {
author: filterState.selectedAuthor,
tags: filterState.tags,
startDate: filterState.startDate.format('YYYY-MM-DD'),
endDate: filterState.endDate.format('YYYY-MM-DD'),
startDate: filterState.startDate instanceof moment ? filterState.startDate.format('YYYY-MM-DD') : moment(filterState.startDate).format('YYYY-MM-DD'),
endDate: filterState.endDate instanceof moment ? filterState.endDate.format('YYYY-MM-DD') : moment(filterState.endDate).format('YYYY-MM-DD'),
track: filterState.selectedCategory ? filterState.selectedCategory.title : null,
tax: filterState.selectedCategory ? _.map(
_.filter(filterState.selectedCategory.items, item => item.selected),
Expand All @@ -88,6 +89,8 @@ export default class EDUSearch extends React.Component {
} = this.state;
const title = 'Tutorials And Workshops That Matter | Thrive | Topcoder';
const description = 'Thrive is our vault of content that we have been gathering over the years. It is full of tutorials and workshops that matter. Grow with us!';
let inputSelectedFilter = '0';
if (query.phrase) inputSelectedFilter = '1';

const metaTags = (
<MetaTags
Expand All @@ -111,7 +114,10 @@ export default class EDUSearch extends React.Component {
{/* Banner */}
<div className={searchTheme.bannerContainer}>
<div className={searchTheme.searchBarWrapp}>
<SearchBar inputlVal={query.phrase || query.title} selectedFilter={query.phrase ? '1' : '0'} />
<SearchBar
inputlVal={query.phrase || query.title}
inputSelectedFilter={inputSelectedFilter}
/>
</div>
</div>
<div className={searchTheme.shapeBanner} />
Expand Down
8 changes: 4 additions & 4 deletions src/shared/services/contentful.js
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ class Service {
// thus we need to find it first
await this.queryEntries({
content_type: 'person',
query: encodeURIComponent(author),
query: author,
})
.then((result) => {
query['fields.contentAuthor.sys.id'] = result.total ? result.items[0].sys.id : 'NO_SUCH_ID';
Expand All @@ -340,12 +340,12 @@ class Service {
}
if (track) query['fields.trackCategory'] = track;
if (!_.isEmpty(tags)) {
query['fields.tags[all]'] = tags.map(t => encodeURIComponent(t)).join(',');
query['fields.tags[all]'] = tags.map(t => t).join(',');
}
if (startDate) query['fields.creationDate[gte]'] = startDate;
if (endDate) query['fields.creationDate[lte]'] = endDate;
if (phrase) query.query = encodeURIComponent(phrase);
if (title) query['fields.title[match]'] = encodeURIComponent(title);
if (phrase) query.query = phrase;
if (title) query['fields.title[match]'] = title;
if (sortBy) {
switch (sortBy) {
case 'Likes': query.order = '-fields.upvotes,-fields.creationDate'; break;
Expand Down