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

iOS registered #199

Merged
merged 2 commits into from
Sep 21, 2015
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
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,7 @@
function challengeTile() {
return {
restrict: 'E',
templateUrl: function(elem, attrs) {
if (attrs.spotlight) {
return 'directives/challenge-tiles/spotlight-tile.directive.html';
}

return 'directives/challenge-tiles/challenge-tile.directive.html';
},
templateUrl: 'directives/challenge-tile/challenge-tile.directive.html',
scope: {
challenge: '=',
view: '='
Expand All @@ -23,9 +17,7 @@
activate();

function activate() {
if (!$attrs.spotlight) {
processChallenge($scope.challenge);
}
processChallenge($scope.challenge);
}

function processChallenge(challenge) {
Expand Down
24 changes: 0 additions & 24 deletions app/directives/challenge-tiles/spotlight-tile.directive.jade

This file was deleted.

38 changes: 38 additions & 0 deletions app/directives/ios-card/ios-card.directive.jade
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
.challenge.tile-view(ng-show="view === 'tile'", ng-class="challenge.track")
.challenge-track

header
a(ng-href="https://www.{{DOMAIN}}/challenge-details/{{challenge.id}}/?type={{challenge.track}}") {{challenge.name}}

p #[span iOS] {{challenge.track}}

.challenge-details
p.prize-money(ng-show="challenge.reviewType === 'PEER'") Peer Review Challenge

p.prize-money(ng-hide="challenge.reviewType === 'PEER'") {{challenge.totalCheckpointPrize || 0 | currency:undefined:0}}

p.technologies {{challenge.technologies}}

.challenge-calendar
p.starts-in Starts In
p.time-remaining 3
p.unit-of-time days

button.phase-action(ng-class="{'action-completed': challenge.currentPhaseActionCompleted}") Submit

.challenge-links
.stats
a.registrants(ng-href="https://www.{{DOMAIN}}/challenge-details/{{challenge.id}}/?type={{challenge.track}}#viewRegistrant")
.registrants-icon

p {{challenge.numRegistrants}}

a.submissions(ng-href="https://www.{{DOMAIN}}/challenge-details/{{challenge.id}}/?type={{challenge.track}}#viewRegistrant")
.submissions-icon

p {{challenge.numSubmissions}}

a.forum(ng-href="http://apps.{{DOMAIN}}/forums//?module=Category&categoryID={{challenge.forumId}}")
.forum-icon

p Posts
16 changes: 16 additions & 0 deletions app/directives/ios-card/ios-card.directive.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
(function() {
'use strict';
angular.module('tcUIComponents').directive('iosCard', function() {
return {
restrict: 'E',
templateUrl: 'directives/ios-card/ios-card.directive.html',
scope: {
challenge: '=challenge',
view: '='
},
controller: ['$scope', 'CONSTANTS', function($scope, CONSTANTS) {
$scope.DOMAIN = CONSTANTS.domain;
}]
};
});
})();
6 changes: 4 additions & 2 deletions app/index.jade
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,12 @@ html
link(rel="stylesheet", href="assets/css/directives/srm-tile.css")
link(rel="stylesheet", href="assets/css/directives/skill-tile.css")
link(rel="stylesheet", href="assets/css/directives/profile-widget.css")
link(rel="stylesheet", href="assets/css/directives/ios-card.css")
link(rel="stylesheet", href="assets/css/directives/history-graph.css")
link(rel="stylesheet", href="assets/css/directives/external-link-data.css")
link(rel="stylesheet", href="assets/css/directives/external-account.css")
link(rel="stylesheet", href="assets/css/directives/distribution-graph.css")
link(rel="stylesheet", href="assets/css/directives/challenge-tiles.css")
link(rel="stylesheet", href="assets/css/directives/challenge-tile.css")
link(rel="stylesheet", href="assets/css/directives/badge-tooltip.css")
link(rel="stylesheet", href="assets/css/account/reset-password.css")
link(rel="stylesheet", href="assets/css/account/register.css")
Expand Down Expand Up @@ -137,11 +138,12 @@ html
script(src="directives/account/validate-email.directive.js")
script(src="directives/account/validate-register.directive.js")
script(src="directives/badges/badge-tooltip.directive.js")
script(src="directives/challenge-tiles/challenge-tile.directive.js")
script(src="directives/challenge-tile/challenge-tile.directive.js")
script(src="directives/distribution-graph/distribution-graph.directive.js")
script(src="directives/external-account/external-account.directive.js")
script(src="directives/focus-on.directive.js")
script(src="directives/history-graph/history-graph.directive.js")
script(src="directives/ios-card/ios-card.directive.js")
script(src="directives/on-file-change.directive.js")
script(src="directives/profile-widget/profile-widget.directive.js")
script(src="directives/right-placeholder.directive.js")
Expand Down
37 changes: 28 additions & 9 deletions app/my-dashboard/programs/programs.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@
'MemberCertService',
'CONSTANTS',
'$log',
'ChallengeService'
'ChallengeService',
'$q'
];

function ProgramsController (UserService, MemberCertService, CONSTANTS, $log, ChallengeService) {
function ProgramsController (UserService, MemberCertService, CONSTANTS, $log, ChallengeService, $q) {
var vm = this;
vm.domain = CONSTANTS.domain;
vm.registered = false;
Expand Down Expand Up @@ -54,15 +55,33 @@
}

function loadChallenges() {
return ChallengeService.getiOSChallenges()
var challengePromises = [
ChallengeService.getiOSChallenges({
filter: "reviewType=peer&status=active",
limit: 3,
offset: 0,
orderBy: 'submissionEndDate'
}),
ChallengeService.getiOSChallenges({
filter: "technologies=ios,swift&status=active",
limit: 3,
offset: 0,
orderBy: 'submissionEndDate'
})
];

return $q.all(challengePromises)
.then(function(challenges) {
// When filtering by reviewType is fixed on the backend,
// we can show both types of challenges. For now, it's showing internal
// challenges
var peerChallenges = challenges[0];
var iOSChallenges = challenges[1];
var challenges = [];

if (peerChallenges.length === 0) {
challenges = challenges.concat(iOSChallenges);
} else if (peerChallenges.length > 0) {
challenges = challenges.concat(peerChallenges[0]).concat(iOSChallenges.slice(0, iOSChallenges.length - 1));
}

// var peerChallenges = challenges[0];
// var iOSChallenges = challenges[1];
// vm.challenges = [peerChallenges[0], iOSChallenges[0], iOSChallenges[1]];
vm.challenges = challenges;
vm.loading = false;
})
Expand Down
39 changes: 11 additions & 28 deletions app/my-dashboard/programs/programs.jade
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
header(ng-hide="vm.loading")
h1.section-title #[span iOS]: Show Your Skills

.section-loading(ng-show="vm.loading")

section.ios(ng-hide="vm.loading")
Expand All @@ -17,34 +20,14 @@ section.ios(ng-hide="vm.loading")
//- p Join Us

.registered(ng-show="vm.registered")
h1.section-title #[span iOS]: Show Your Skills

.registered-badge
i.fa.fa-apple.fa-3x

img(src="/images/member-program/svg/Member-06.svg", alt="Development Challenge Icon")

p Badge 1 Achieved

a(href="http://ios.{{vm.domain}}", title="topcoder iOS Member Program") View Challenges

.challenge(ng-repeat="challenge in vm.challenges | orderBy:reviewType:true| orderBy:registrationEndDate:true")
p.title {{challenge.challengeName}}

i.fa.fa-apple.fa-3x

p.technologies Technologies: {{challenge.technologies}}

p.prize(ng-class="{hidden: challenge.reviewType === 'PEER'}") {{challenge.totalPrize | currency:undefined:0}}

p.days-remaining {{challenge.registrationEndDate | timeDiff}}
span Registration Ends
.badge-and-challenges
.registered-badge
.flex-wrapper
p iOS DEVELOPER

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

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

a(ng-href="https://www.{{vm.domain}}/challenge-details/{{challenge.challengeId}}/?type=develop", title="Go to challenge") Register Now!
ios-card(ng-repeat="challenge in vm.challenges | orderBy:reviewType:true| orderBy:registrationEndDate:true", challenge="challenge", view="'tile'")
10 changes: 2 additions & 8 deletions app/services/challenge.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,8 @@
return deferred.promise;
}

function getiOSChallenges() {
var iOSParams = {
filter: "technologies=ios&status=active",
limit: 3,
offset: 0,
orderBy: 'submissionEndDate'
};
return api.all('challenges').getList(iOSParams);
function getiOSChallenges(params) {
return api.all('challenges').getList(params);
}

/** NOT USED NEEDS TO BE REFACTORED **/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,6 @@
}
}

// .thumbnail {
// display: flex;
// flex-direction: row;
// justify-content: center;
// margin: 20px 0;
// img {
// }
// }

.challenge-details {
display: flex;
flex-direction: column;
Expand Down
Loading