@@ -34,6 +34,20 @@ let mounted = false;
34
34
35
35
const SEO_PAGE_TITLE = 'Topcoder Challenges' ;
36
36
37
+ const DEVELOP_TRACK_ONLY = [ 'UI_PROTOTYPE_COMPETITION' , 'ASSEMBLY_COMPETITION' , 'FIRST_2_FINISH' , 'BUG_HUNT' , 'CODE' ,
38
+ 'DESIGN_FIRST_2_FINISH' , 'DESIGN' , 'DEVELOPMENT' , 'ARCHITECTURE' , 'CONCEPTUALIZATION' ,
39
+ 'TEST_SCENARIOS' , 'CONTENT_CREATION' , 'TEST_SUITES' , 'SPECIFICATION' , 'RIA_BUILD_COMPETITION' ,
40
+ 'WEB_DESIGNS' , 'WIDGET_OR_MOBILE_SCREEN_DESIGN' , 'APPLICATION_FRONT_END_DESIGN' ,
41
+ 'PRINT_OR_PRESENTATION' , 'IDEA_GENERATION' , 'WIREFRAMES' , 'LOGO_DESIGN' , 'BANNERS_OR_ICONS' ,
42
+ 'STUDIO_OTHER' , 'FRONT_END_FLASH' ] ;
43
+
44
+ const DESIGN_TRACK_ONLY = [ 'WEB_DESIGNS' , 'WIDGET_OR_MOBILE_SCREEN_DESIGN' , 'DESIGN_FIRST_2_FINISH' ,
45
+ 'APPLICATION_FRONT_END_DESIGN' , 'PRINT_OR_PRESENTATION' , 'IDEA_GENERATION' , 'WIREFRAMES' ,
46
+ 'LOGO_DESIGN' , 'BANNERS_OR_ICONS' , 'STUDIO_OTHER' , 'FRONT_END_FLASH' ] ;
47
+
48
+ const DATASCIENCE_TRACK_ONLY = [ 'DEVELOP_MARATHON_MATCH' , 'MARATHON_MATCH' , 'SRM' ] ;
49
+
50
+
37
51
export class ListingContainer extends React . Component {
38
52
componentDidMount ( ) {
39
53
const {
@@ -175,14 +189,33 @@ export class ListingContainer extends React.Component {
175
189
if ( ! filter ) {
176
190
return f ;
177
191
}
192
+
178
193
if ( filter . tags ) {
179
194
f . keywords = filter . tags . join ( ',' ) ;
180
195
}
181
- if ( filter . subtracks ) {
182
- f . subTrack = filter . subtracks . join ( ',' ) ;
183
- }
196
+
197
+ const finalTracks = _ . clone ( filter . tracks ) || { } ;
198
+ var finalSubTracks = _ . clone ( filter . subtracks ) ;
199
+
184
200
if ( filter . tracks ) {
185
- const tracks = Object . keys ( filter . tracks ) . map ( t => t . toUpperCase ( ) ) ;
201
+ finalSubTracks = [ ] ;
202
+ if ( filter . tracks . design ) {
203
+ finalSubTracks = _ . concat ( finalSubTracks , DESIGN_TRACK_ONLY ) ;
204
+ }
205
+
206
+ if ( filter . tracks . develop && ! filter . tracks . data_science ) {
207
+ finalSubTracks = _ . concat ( finalSubTracks , DEVELOP_TRACK_ONLY ) ;
208
+ } else if ( ! filter . tracks . develop && filter . tracks . data_science ) {
209
+ finalTracks [ 'develop' ] = true ;
210
+ finalSubTracks = _ . concat ( finalSubTracks , DATASCIENCE_TRACK_ONLY ) ;
211
+ }
212
+ }
213
+
214
+ if ( finalSubTracks ) {
215
+ f . subTrack = finalSubTracks . join ( ',' ) ;
216
+ }
217
+ if ( filter . tracks && finalTracks ) {
218
+ const tracks = Object . keys ( finalTracks ) . map ( t => t . toUpperCase ( ) ) ;
186
219
f . track = tracks . join ( ',' ) ;
187
220
}
188
221
if ( filter . text ) {
0 commit comments