Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit 765e008

Browse files
committed
Merge pull request #199 from appirio-tech/ios-registered
iOS registered
2 parents 4a06bca + 3cdd4cb commit 765e008

17 files changed

+365
-187
lines changed

app/directives/challenge-tiles/challenge-tile.directive.js renamed to app/directives/challenge-tile/challenge-tile.directive.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,7 @@
66
function challengeTile() {
77
return {
88
restrict: 'E',
9-
templateUrl: function(elem, attrs) {
10-
if (attrs.spotlight) {
11-
return 'directives/challenge-tiles/spotlight-tile.directive.html';
12-
}
13-
14-
return 'directives/challenge-tiles/challenge-tile.directive.html';
15-
},
9+
templateUrl: 'directives/challenge-tile/challenge-tile.directive.html',
1610
scope: {
1711
challenge: '=',
1812
view: '='
@@ -23,9 +17,7 @@
2317
activate();
2418

2519
function activate() {
26-
if (!$attrs.spotlight) {
27-
processChallenge($scope.challenge);
28-
}
20+
processChallenge($scope.challenge);
2921
}
3022

3123
function processChallenge(challenge) {

app/directives/challenge-tiles/spotlight-tile.directive.jade

Lines changed: 0 additions & 24 deletions
This file was deleted.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
.challenge.tile-view(ng-show="view === 'tile'", ng-class="challenge.track")
2+
.challenge-track
3+
4+
header
5+
a(ng-href="https://www.{{DOMAIN}}/challenge-details/{{challenge.id}}/?type={{challenge.track}}") {{challenge.name}}
6+
7+
p #[span iOS] {{challenge.track}}
8+
9+
.challenge-details
10+
p.prize-money(ng-show="challenge.reviewType === 'PEER'") Peer Review Challenge
11+
12+
p.prize-money(ng-hide="challenge.reviewType === 'PEER'") {{challenge.totalCheckpointPrize || 0 | currency:undefined:0}}
13+
14+
p.technologies {{challenge.technologies}}
15+
16+
.challenge-calendar
17+
p.starts-in Starts In
18+
p.time-remaining 3
19+
p.unit-of-time days
20+
21+
button.phase-action(ng-class="{'action-completed': challenge.currentPhaseActionCompleted}") Submit
22+
23+
.challenge-links
24+
.stats
25+
a.registrants(ng-href="https://www.{{DOMAIN}}/challenge-details/{{challenge.id}}/?type={{challenge.track}}#viewRegistrant")
26+
.registrants-icon
27+
28+
p {{challenge.numRegistrants}}
29+
30+
a.submissions(ng-href="https://www.{{DOMAIN}}/challenge-details/{{challenge.id}}/?type={{challenge.track}}#viewRegistrant")
31+
.submissions-icon
32+
33+
p {{challenge.numSubmissions}}
34+
35+
a.forum(ng-href="http://apps.{{DOMAIN}}/forums//?module=Category&categoryID={{challenge.forumId}}")
36+
.forum-icon
37+
38+
p Posts
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
(function() {
2+
'use strict';
3+
angular.module('tcUIComponents').directive('iosCard', function() {
4+
return {
5+
restrict: 'E',
6+
templateUrl: 'directives/ios-card/ios-card.directive.html',
7+
scope: {
8+
challenge: '=challenge',
9+
view: '='
10+
},
11+
controller: ['$scope', 'CONSTANTS', function($scope, CONSTANTS) {
12+
$scope.DOMAIN = CONSTANTS.domain;
13+
}]
14+
};
15+
});
16+
})();

app/index.jade

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,12 @@ html
6060
link(rel="stylesheet", href="assets/css/directives/srm-tile.css")
6161
link(rel="stylesheet", href="assets/css/directives/skill-tile.css")
6262
link(rel="stylesheet", href="assets/css/directives/profile-widget.css")
63+
link(rel="stylesheet", href="assets/css/directives/ios-card.css")
6364
link(rel="stylesheet", href="assets/css/directives/history-graph.css")
6465
link(rel="stylesheet", href="assets/css/directives/external-link-data.css")
6566
link(rel="stylesheet", href="assets/css/directives/external-account.css")
6667
link(rel="stylesheet", href="assets/css/directives/distribution-graph.css")
67-
link(rel="stylesheet", href="assets/css/directives/challenge-tiles.css")
68+
link(rel="stylesheet", href="assets/css/directives/challenge-tile.css")
6869
link(rel="stylesheet", href="assets/css/directives/badge-tooltip.css")
6970
link(rel="stylesheet", href="assets/css/account/reset-password.css")
7071
link(rel="stylesheet", href="assets/css/account/register.css")
@@ -137,11 +138,12 @@ html
137138
script(src="directives/account/validate-email.directive.js")
138139
script(src="directives/account/validate-register.directive.js")
139140
script(src="directives/badges/badge-tooltip.directive.js")
140-
script(src="directives/challenge-tiles/challenge-tile.directive.js")
141+
script(src="directives/challenge-tile/challenge-tile.directive.js")
141142
script(src="directives/distribution-graph/distribution-graph.directive.js")
142143
script(src="directives/external-account/external-account.directive.js")
143144
script(src="directives/focus-on.directive.js")
144145
script(src="directives/history-graph/history-graph.directive.js")
146+
script(src="directives/ios-card/ios-card.directive.js")
145147
script(src="directives/on-file-change.directive.js")
146148
script(src="directives/profile-widget/profile-widget.directive.js")
147149
script(src="directives/right-placeholder.directive.js")

app/my-dashboard/programs/programs.controller.js

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@
88
'MemberCertService',
99
'CONSTANTS',
1010
'$log',
11-
'ChallengeService'
11+
'ChallengeService',
12+
'$q'
1213
];
1314

14-
function ProgramsController (UserService, MemberCertService, CONSTANTS, $log, ChallengeService) {
15+
function ProgramsController (UserService, MemberCertService, CONSTANTS, $log, ChallengeService, $q) {
1516
var vm = this;
1617
vm.domain = CONSTANTS.domain;
1718
vm.registered = false;
@@ -54,15 +55,33 @@
5455
}
5556

5657
function loadChallenges() {
57-
return ChallengeService.getiOSChallenges()
58+
var challengePromises = [
59+
ChallengeService.getiOSChallenges({
60+
filter: "reviewType=peer&status=active",
61+
limit: 3,
62+
offset: 0,
63+
orderBy: 'submissionEndDate'
64+
}),
65+
ChallengeService.getiOSChallenges({
66+
filter: "technologies=ios,swift&status=active",
67+
limit: 3,
68+
offset: 0,
69+
orderBy: 'submissionEndDate'
70+
})
71+
];
72+
73+
return $q.all(challengePromises)
5874
.then(function(challenges) {
59-
// When filtering by reviewType is fixed on the backend,
60-
// we can show both types of challenges. For now, it's showing internal
61-
// challenges
75+
var peerChallenges = challenges[0];
76+
var iOSChallenges = challenges[1];
77+
var challenges = [];
78+
79+
if (peerChallenges.length === 0) {
80+
challenges = challenges.concat(iOSChallenges);
81+
} else if (peerChallenges.length > 0) {
82+
challenges = challenges.concat(peerChallenges[0]).concat(iOSChallenges.slice(0, iOSChallenges.length - 1));
83+
}
6284

63-
// var peerChallenges = challenges[0];
64-
// var iOSChallenges = challenges[1];
65-
// vm.challenges = [peerChallenges[0], iOSChallenges[0], iOSChallenges[1]];
6685
vm.challenges = challenges;
6786
vm.loading = false;
6887
})
Lines changed: 11 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
header(ng-hide="vm.loading")
2+
h1.section-title #[span iOS]: Show Your Skills
3+
14
.section-loading(ng-show="vm.loading")
25

36
section.ios(ng-hide="vm.loading")
@@ -17,34 +20,14 @@ section.ios(ng-hide="vm.loading")
1720
//- p Join Us
1821
1922
.registered(ng-show="vm.registered")
20-
h1.section-title #[span iOS]: Show Your Skills
21-
22-
.registered-badge
23-
i.fa.fa-apple.fa-3x
24-
25-
img(src="/images/member-program/svg/Member-06.svg", alt="Development Challenge Icon")
26-
27-
p Badge 1 Achieved
28-
29-
a(href="http://ios.{{vm.domain}}", title="topcoder iOS Member Program") View Challenges
30-
31-
.challenge(ng-repeat="challenge in vm.challenges | orderBy:reviewType:true| orderBy:registrationEndDate:true")
32-
p.title {{challenge.challengeName}}
33-
34-
i.fa.fa-apple.fa-3x
35-
36-
p.technologies Technologies: {{challenge.technologies}}
37-
38-
p.prize(ng-class="{hidden: challenge.reviewType === 'PEER'}") {{challenge.totalPrize | currency:undefined:0}}
39-
40-
p.days-remaining {{challenge.registrationEndDate | timeDiff}}
41-
span Registration Ends
23+
.badge-and-challenges
24+
.registered-badge
25+
.flex-wrapper
26+
p iOS DEVELOPER
4227

43-
.stats
44-
i.fa.fa-user
45-
span {{challenge.numRegistrants}}
28+
.badge-timeline
29+
img(src="/images/member-program/svg/Member-06.svg", alt="Development Challenge Icon")
4630

47-
i.fa.fa-files-o
48-
span {{challenge.numSubmissions}}
31+
a(href="http://ios.{{vm.domain}}", title="topcoder iOS Member Program") View Challenges
4932

50-
a(ng-href="https://www.{{vm.domain}}/challenge-details/{{challenge.challengeId}}/?type=develop", title="Go to challenge") Register Now!
33+
ios-card(ng-repeat="challenge in vm.challenges | orderBy:reviewType:true| orderBy:registrationEndDate:true", challenge="challenge", view="'tile'")

app/services/challenge.service.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,8 @@
6060
return deferred.promise;
6161
}
6262

63-
function getiOSChallenges() {
64-
var iOSParams = {
65-
filter: "technologies=ios&status=active",
66-
limit: 3,
67-
offset: 0,
68-
orderBy: 'submissionEndDate'
69-
};
70-
return api.all('challenges').getList(iOSParams);
63+
function getiOSChallenges(params) {
64+
return api.all('challenges').getList(params);
7165
}
7266

7367
/** NOT USED NEEDS TO BE REFACTORED **/

assets/css/directives/challenge-tiles.scss renamed to assets/css/directives/challenge-tile.scss

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,6 @@
4343
}
4444
}
4545

46-
// .thumbnail {
47-
// display: flex;
48-
// flex-direction: row;
49-
// justify-content: center;
50-
// margin: 20px 0;
51-
// img {
52-
// }
53-
// }
54-
5546
.challenge-details {
5647
display: flex;
5748
flex-direction: column;

0 commit comments

Comments
 (0)