@@ -53,8 +53,18 @@ import { getService } from 'services/contentful';
53
53
54
54
import ogUiDesign from
55
55
'../../../assets/images/open-graph/challenges/02-Design-Preview.png' ;
56
- import ogFirst2Finish from
57
- '../../../assets/images/open-graph/challenges/09-First2Finish.png' ;
56
+ import ogFirst2FinishDEV from
57
+ '../../../assets/images/open-graph/challenges/Development-First2Finish.png' ;
58
+ import ogFirst2FinishDESIGN from
59
+ '../../../assets/images/open-graph/challenges/Design-First2Finish.png' ;
60
+ import ogFirst2FinishQA from
61
+ '../../../assets/images/open-graph/challenges/QA-First2Finish.png' ;
62
+ import ogDEVTask from
63
+ '../../../assets/images/open-graph/challenges/Development-Task.png' ;
64
+ import ogDESIGNTask from
65
+ '../../../assets/images/open-graph/challenges/Design-Task.png' ;
66
+ import ogQATask from
67
+ '../../../assets/images/open-graph/challenges/QA-Task.png' ;
58
68
import ogDevelopment from
59
69
'../../../assets/images/open-graph/challenges/03-Development.png' ;
60
70
import ogBigPrizesChallenge from
@@ -63,6 +73,8 @@ import ogQAChallenge from
63
73
'../../../assets/images/open-graph/challenges/05-QA.png' ;
64
74
import ogDSChallenge from
65
75
'../../../assets/images/open-graph/challenges/04-Data-Science.png' ;
76
+ import ogMMChallenge from
77
+ '../../../assets/images/open-graph/challenges/MM-Challenge.png' ;
66
78
67
79
/* A fallback image, just in case we missed some corner case. */
68
80
import ogImage from
@@ -91,7 +103,19 @@ function getOgImage(challenge) {
91
103
}
92
104
93
105
switch ( subTrack ) {
94
- case SUBTRACKS . FIRST_2_FINISH : return ogFirst2Finish ;
106
+ case SUBTRACKS . FIRST_2_FINISH :
107
+ switch ( challenge . track ) {
108
+ case COMPETITION_TRACKS_V3 . DEVELOP : return challenge . type === 'Task' ? ogDEVTask : ogFirst2FinishDEV ;
109
+ case COMPETITION_TRACKS_V3 . QA : return challenge . type === 'Task' ? ogQATask : ogFirst2FinishQA ;
110
+ default : return ogFirst2FinishDEV ;
111
+ }
112
+
113
+ case SUBTRACKS . DESIGN_FIRST_2_FINISH :
114
+ switch ( challenge . track ) {
115
+ case COMPETITION_TRACKS_V3 . DESIGN : return challenge . type === 'Task' ? ogDESIGNTask : ogFirst2FinishDESIGN ;
116
+ default : return ogUiDesign ;
117
+ }
118
+
95
119
case SUBTRACKS . UI_PROTOTYPE_COMPETITION : {
96
120
const submission = ( challenge . phases || [ ] )
97
121
. find ( p => p . name === CHALLENGE_PHASE_TYPES . SUBMISSION ) ;
@@ -105,13 +129,19 @@ function getOgImage(challenge) {
105
129
case SUBTRACKS . QA :
106
130
case SUBTRACKS . TEST_SUITES :
107
131
return ogQAChallenge ;
108
- case SUBTRACKS . DS : return ogDSChallenge ;
132
+ case SUBTRACKS . MM :
133
+ if ( challenge . tags && challenge . tags . indexOf ( COMPETITION_TRACKS_V3 . DS ) !== - 1 ) {
134
+ return ogDSChallenge ;
135
+ }
136
+ return ogMMChallenge ;
109
137
default :
110
138
}
139
+
111
140
switch ( challenge . track ) {
112
141
case COMPETITION_TRACKS_V3 . DEVELOP : return ogDevelopment ;
113
- case COMPETITION_TRACKS_V3 . DESIGN : return ogUiDesign ;
142
+ case COMPETITION_TRACKS_V3 . DESIGN : return challenge . type === 'Task' ? ogDESIGNTask : ogUiDesign ;
114
143
case COMPETITION_TRACKS_V3 . DS : return ogDSChallenge ;
144
+ case COMPETITION_TRACKS_V3 . QA : return challenge . type === 'Task' ? ogQATask : ogQAChallenge ;
115
145
default : return ogImage ;
116
146
}
117
147
}
0 commit comments