Skip to content

Commit 3faefdd

Browse files
committed
Merge branch 'dev' into tom-listings-auth
2 parents c514513 + 03bcd01 commit 3faefdd

15 files changed

+114
-76
lines changed

app/account/logout/logout.spec.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ import angular from 'angular'
44
describe('Logout Controller', function() {
55
var controller
66
var fakeWindow = {
7+
// Without the `angular` field our fake window will crush
8+
// `[email protected]` and higher!
9+
angular: {
10+
callbacks: {}
11+
},
712
location: {
813
href: ''
914
}
@@ -15,14 +20,11 @@ describe('Logout Controller', function() {
1520
angular.mock.module('tc.account', function($provide) {
1621
$provide.value('$window', fakeWindow)
1722
})
18-
1923
bard.inject(this, '$controller', 'TcAuthService', '$window', '$q', 'CONSTANTS')
20-
2124
bard.mockService(TcAuthService, {
2225
logout: $q.when({}),
2326
_default: $q.when({})
2427
})
25-
2628
controller = $controller('LogoutController')
2729
})
2830

app/directives/challenge-tile/challenge-tile.jade

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,17 @@
1212
.challenge-details
1313
p.currentPhase {{challenge.userCurrentPhase}}
1414

15-
.challenge-calendar(ng-show="challenge.userCurrentPhaseEndTime")
16-
p.ends-in Ends In
15+
.challenge-calendar(ng-show="challenge.userCurrentPhaseEndTime", ng-class="{'challenge-late' : challenge.isLate}")
16+
p.ends-in {{challenge.isLate ? 'Late for' : 'Ends In'}}
1717
p.time-remaining {{challenge.userCurrentPhaseEndTime[0]}}
1818
p.unit-of-time {{challenge.userCurrentPhaseEndTime[1]}}
1919

2020
.stalled-challenge(ng-hide="challenge.userCurrentPhaseEndTime") This challenge is currently paused.
2121

2222
.phase-action(ng-show="challenge.userAction", ng-switch="challenge.userAction")
2323
a.tc-btn.tc-btn-s.tc-btn-wide.tc-btn-ghost.submit(ng-switch-when="Submit", ng-href="{{challenge|challengeLinks:'submit'}}") Submit
24+
a.tc-btn.tc-btn-s.tc-btn-wide.tc-btn-ghost.submit(ng-switch-when="Appeal", ng-href="{{challenge|challengeLinks:'viewScorecards'}}") View Scorecards
25+
a.tc-btn.tc-btn-s.tc-btn-wide.tc-btn-ghost.submit(ng-switch-when="Appeal", ng-href="{{challenge|challengeLinks:'completeAppeals'}}") Complete Appeals
2426

2527
.submitted(ng-switch-when="Submitted") Submitted
2628

@@ -88,7 +90,7 @@
8890
p.roles(ng-hide="challenge.track === 'DATA_SCIENCE'") #[span Role: ] #[span {{challenge.userDetails.roles | listRoles}}]
8991

9092
.challenge-details
91-
.challenge-info
93+
.challenge-info(ng-class="{'challenge-late' : challenge.isLate}")
9294
p.currentPhase {{challenge.userCurrentPhase}}
9395

9496
p.ends-in(ng-show="challenge.userCurrentPhaseEndTime") Ends: {{challenge.userCurrentPhaseEndTime[2] | localTime}}
@@ -97,6 +99,8 @@
9799

98100
.phase-action(ng-switch="challenge.userAction")
99101
a.tc-btn.tc-btn-s.tc-btn-wide.tc-btn-ghost.submit(ng-switch-when="Submit", ng-href="{{challenge|challengeLinks:'submit'}}") Submit
102+
a.tc-btn.tc-btn-s.tc-btn-wide.tc-btn-ghost.submit(ng-switch-when="Appeal", ng-href="{{challenge|challengeLinks:'viewScorecards'}}") View Scorecards
103+
a.tc-btn.tc-btn-s.tc-btn-wide.tc-btn-ghost.submit(ng-switch-when="Appeal", ng-href="{{challenge|challengeLinks:'completeAppeals'}}") Complete Appeals
100104

101105
.submitted(ng-switch-when="Submitted") Submitted
102106

app/filters/challengeLinks.filter.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ import _ from 'lodash'
6969
return String.supplant('https://{subdomain}.{domain}/challenge-details/{id}/?type={track}', data)
7070
case 'detail':
7171
return String.supplant('https://{subdomain}.{domain}/challenge-details/{id}/?type={track}', data)
72+
case 'viewScorecards':
73+
return String.supplant('https://software.{domain}/review/actions/ViewProjectDetails?pid={id}', data)
74+
case 'completeAppeals':
75+
return String.supplant('https://software.{domain}/review/actions/EarlyAppeals?pid={id}', data)
7276
}
7377
}
7478
}

app/layout/footer/footer.jade

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
footer.bottom-footer
22
// Footer links
33
nav.menu-item
4-
.menu-item-header.show-small OTHERS
54

65
ul.submenu
76
li.submenu-item #[a.menu-link(ng-href="https://www.{{domain}}/sitemap") SITE MAP]

app/profile/badges/badges.controller.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,12 @@ import moment from 'moment-timezone'
661661
name: 'Predix Community',
662662
groupClass: 'Predix-Community',
663663
active: false
664+
},
665+
{
666+
id: 1009,
667+
name: 'iOS Community',
668+
groupClass: 'iOS-Community',
669+
active: false
664670
}
665671
]
666672
}

app/services/challenge.service.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ import moment from 'moment'
105105
}
106106
})
107107
}
108+
if (challenge.userCurrentPhase === 'Appeals') {
109+
challenge.userAction = 'Appeal'
110+
}
108111

109112
if (challenge.userCurrentPhaseEndTime) {
110113
var fullTime = challenge.userCurrentPhaseEndTime
@@ -119,6 +122,7 @@ import moment from 'moment'
119122
// Add actual time ['2', 'months', actual date]
120123
timeAndUnit.push(fullTime)
121124
challenge.userCurrentPhaseEndTime = timeAndUnit
125+
challenge.isLate = moment().diff(fullTime) > 0 // If > 0 then the challenge has 'Late Deliverables' or
122126
}
123127
})
124128
}

app/services/helpers.service.spec.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ const mockData = require('../../tests/test-helpers/mock-data')
55
describe('Helper Service', function() {
66

77
var fakeWindow = {
8+
// Without the `angular` field our fake window will crush
9+
// `[email protected]` and higher!
10+
angular: {
11+
callbacks: {}
12+
},
813
location: {
914
href: '/'
1015
},

app/services/jwtInterceptor.service.spec.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ describe('JWT Interceptor Service', function() {
3333
})
3434
},
3535
fakeWindow = {
36+
// Without the `angular` field our fake window will crush
37+
// `[email protected]` and higher!
38+
angular: {
39+
callbacks: {}
40+
},
3641
location: ''
3742
}
3843

assets/css/directives/badge-tooltip.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,9 @@
440440
.Predix-Community {
441441
background-position: -50px -672px;
442442
}
443+
.iOS-Community {
444+
background-position: -95px -672px;
445+
}
443446
.Wireframe {
444447
width: 31px;
445448
background-position: 0px -1009px !important;

assets/css/directives/challenge-tile.scss

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,12 @@ challenge-tile .challenge.tile-view {
222222
text-transform: lowercase;
223223
color: #7F7F7F;
224224
}
225+
226+
&.challenge-late {
227+
.ends-in, .time-remaining, .unit-of-time {
228+
color: #ee6666;
229+
}
230+
}
225231
}
226232

227233
.stalled-challenge {
@@ -239,8 +245,8 @@ challenge-tile .challenge.tile-view {
239245
min-height: 55px;
240246

241247
.submit {
242-
margin-bottom: 25px;
243-
display: inline-block;
248+
margin: 12px;
249+
display: block;
244250
}
245251

246252
.submitted {
@@ -462,6 +468,12 @@ challenge-tile .challenge.list-view {
462468
font-size: 14px;
463469
color: #A3A3AE;
464470
}
471+
472+
&.challenge-late {
473+
.ends-in, .time-remaining, .unit-of-time {
474+
color: #ee6666;
475+
}
476+
}
465477
}
466478

467479
.marathon-score {
@@ -486,7 +498,8 @@ challenge-tile .challenge.list-view {
486498

487499
.phase-action {
488500
.submit {
489-
display: inline-block;
501+
display: block;
502+
margin: 6px 0;
490503
}
491504

492505
.submitted {

assets/css/layout/footer.scss

Lines changed: 58 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,31 @@
11
@import 'topcoder/tc-includes';
22

3+
footer {
4+
font-family: "Merriweather Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
5+
font-weight: 400;
6+
}
7+
38
.bottom-footer {
49
background-color: $gray-darkest;
510
padding: 1px 20px 30px 20px;
611
}
712

13+
.bottom-footer .menu-item .menu-link {
14+
color: $tc-white;
15+
font-size: 16px;
16+
}
17+
18+
.bottom-footer .menu-item .menu-link:hover {
19+
color: $primary;
20+
}
21+
822
.social-links {
923
font-size: 13px;
1024
line-height: 1.2em;
1125
text-align: center;
1226
font-weight: normal;
1327
margin: 35px 0;
14-
color: #fff;
28+
color: $tc-white;
1529

1630
a {
1731
display: inline-block;
@@ -23,60 +37,83 @@
2337
margin-left: 30px;
2438
}
2539
}
40+
41+
.fb-link {
42+
background-image: url(../../images/ico-facebook_desktop.svg);
43+
width: 27px;
44+
height: 27px;
45+
}
46+
47+
.twitter-link {
48+
background-image: url(../../images/ico-twitter_desktop.svg);
49+
width: 28px;
50+
height: 24px;
51+
}
52+
53+
.linkedin-link {
54+
background-image: url(../../images/ico-linkedin_desktop.svg);
55+
width: 27px;
56+
height: 27px;
57+
}
58+
59+
.google-link {
60+
background-image: url(../../images/ico-google_desktop.svg);
61+
width: 27px;
62+
height: 27px;
63+
}
2664
}
2765

2866
.copyright-notice {
2967
text-align: center;
3068
font-size: 12px;
3169
line-height: 14px;
32-
color: #656565;
70+
color: $tc-white;
3371
}
3472

3573

3674
@media only screen and (max-width : 1024px) {
3775
// removed fold-pusher from the rule to remove white space
38-
// .bottom-footer, .fold-pusher {
39-
.bottom-footer {
40-
height: 200px;
76+
.bottom-footer, .fold-pusher {
77+
// .bottom-footer {
78+
height: auto;
4179
}
4280
.bottom-footer .menu-item {
43-
display: none;
44-
margin-top: 10px;
81+
display: block;
82+
}
83+
.bottom-footer {
84+
padding-top: 36px;
4585
}
4686

4787
.social-links {
88+
margin-top: 0;
89+
margin-bottom: 6px;
90+
4891
.fb-link {
49-
background-image: url(../../images/ico-facebook.svg);
5092
width: 27px;
5193
height: 27px;
5294
}
5395

5496
.twitter-link {
55-
background-image: url(../../images/ico-twitter.svg);
5697
width: 28px;
5798
height: 24px;
5899
}
59100

60101
.linkedin-link {
61-
background-image: url(../../images/ico-linkedin.svg);
62102
width: 27px;
63103
height: 27px;
64104
}
65105

66106
.google-link {
67-
background-image: url(../../images/ico-google.svg);
68107
width: 27px;
69108
height: 27px;
70109
}
71110
}
72111

73112
.bottom-footer nav {
74-
position: absolute;
75-
top: 1047px;
76-
left: 0;
77-
width: 100%;
78-
padding: 20px;
79-
background-color: $gray-darkest;
113+
position: relative;;
114+
top: auto;
115+
left: auto;
116+
text-align: center;
80117

81118
ul a {
82119
color: $white;
@@ -86,9 +123,9 @@
86123

87124
@media only screen and (min-width : 1025px) {
88125
// removed fold-pusher from the rule to remove white space
89-
// .bottom-footer, .fold-pusher {
90-
.bottom-footer {
91-
height: 270px;
126+
.bottom-footer, .fold-pusher {
127+
// .bottom-footer {
128+
height: 200px;
92129
}
93130
.bottom-footer {
94131
padding-top: 40px;
@@ -102,25 +139,19 @@
102139
font-weight: normal;
103140

104141
.menu-link {
105-
color: #fff;
106-
font-size: 16px;
107142
line-height: 21px;
108143
}
109-
.menu-link:hover {
110-
color: #0096ff;
111-
}
112144
}
113145
}
114146

115147
.copyright-notice {
116148
font-size: 15px;
117-
color: #fff;
149+
color: $tc-white;
118150
}
119151

120152
.account-footer {
121153
.copyright-notice {
122154
font-size: 12px;
123-
color: #656565;
124155
}
125156
}
126157

@@ -132,21 +163,5 @@
132163
height: 26px;
133164
margin-top: 13px;
134165
}
135-
136-
.fb-link {
137-
background-image: url(../../images/ico-facebook_desktop.svg);
138-
}
139-
140-
.twitter-link {
141-
background-image: url(../../images/ico-twitter_desktop.svg);
142-
}
143-
144-
.linkedin-link {
145-
background-image: url(../../images/ico-linkedin_desktop.svg);
146-
}
147-
148-
.google-link {
149-
background-image: url(../../images/ico-google_desktop.svg);
150-
}
151166
}
152167
}

assets/images/badge.grid.large.png

1.8 KB
Loading

assets/scripts/kissmetrics.analytics.js

Whitespace-only changes.

0 commit comments

Comments
 (0)