diff --git a/app/community/members.jade b/app/community/members.jade
index c3b356b47..e8c6f8dc3 100644
--- a/app/community/members.jade
+++ b/app/community/members.jade
@@ -28,8 +28,9 @@
small {{ctrl.currentMonth}}
.members-wrapper
.user-tile(ng-repeat="item in ctrl.memberLeaderboard")
- .avatar-wrapper: img(ng-src="{{item.avatar}}")
- .user-name {{item.name}}
+ a.avatar-wrapper(ui-sref="profile.about({userHandle: item.name})")
+ img(ng-src="{{item.avatar}}")
+ a.user-name(ui-sref="profile.about({userHandle: item.name})") {{item.name}}
.user-tag(class="{{item.class}}") {{item.contestType}}
p.user-desc {{item.description}}
a(ng-href="//www.{{ctrl.domain}}/community/member-programs/topcoder-member-of-the-month/", target="_blank").user-more Read the story
diff --git a/app/directives/srm-tile/srm-tile.directive.jade b/app/directives/srm-tile/srm-tile.directive.jade
index 9709b2ab4..fc6b92c95 100644
--- a/app/directives/srm-tile/srm-tile.directive.jade
+++ b/app/directives/srm-tile/srm-tile.directive.jade
@@ -3,7 +3,7 @@
.challenge-track
header
- a(ng-href="https://community.{{DOMAIN}}/tc?module=MatchDetails&rd={{srm.rounds[0].id}}") {{srm.name}}
+ a(ng-href="https://community.{{DOMAIN}}/stat?c=round_overview&rd={{roundId}}") {{srm.name}}
.srm-details
p.starts-in Starts in #[span {{srm.codingStartAt | timeDiff:"quantity"}} {{srm.codingStartAt | timeDiff:'unit'}}]
@@ -17,22 +17,22 @@
.phase-status
.registered(ng-show="srm.userStatus === CONSTANTS.REGISTERED") Registered
.unregistered(ng-hide="srm.currentPhase !== CONSTANTS.REGISTRATION || srm.userStatus === CONSTANTS.REGISTERED")
- a.tc-btn.tc-btn-s.tc-btn-wide(href="https://community.{{DOMAIN}}/tc?module=MatchDetails&rd={{srm.rounds[0].id}}") Register
+ a.tc-btn.tc-btn-s.tc-btn-wide(href="https://community.{{DOMAIN}}/tc?module=MatchDetails&rd={{roundId}}") Register
.past-srm(ng-show="srm.status === 'PAST'")
.challenge-track
header
- a(ng-href="https://community.{{DOMAIN}}/tc?module=MatchDetails&rd={{srm.rounds[0].id}}") {{srm.name}}
+ a(ng-href="https://community.{{DOMAIN}}/stat?c=round_overview&rd={{roundId}}") {{srm.name}}
.ended-on #[span {{srm.codingEndAt | localTime:"MMM DD, YYYY" }}]
.member-stats
p.points #[span {{srm.result.finalPoints }}] #[span Points]
.ranks
- .division
+ a.division(href="https://community.{{DOMAIN}}/stat?c=round_stats&rd={{roundId}}&dn={{division}}")
p.rank {{srm.result.divisionPlacement}}
p.label #[span Division {{srm.result.division}}]
- .room
+ a.room(href="https://community.{{DOMAIN}}/stat?c=coder_room_stats&cr={{userId}}&rd={{roundId}}")
p.rank #[span {{srm.result.roomPlacement}}]
p.label #[span Room]
p.placement Placement
@@ -42,7 +42,7 @@
.challenge-track
header
.srm-name
- a(ng-href="https://community.{{DOMAIN}}/tc?module=MatchDetails&rd={{srm.rounds[0].id}}") {{srm.name}}
+ a(ng-href="https://community.{{DOMAIN}}/stat?c=round_overview&rd={{roundId}}") {{srm.name}}
.srm-details
p.starts-in Starts in #[span {{srm.codingStartAt | timeDiff:"quantity"}} {{srm.codingStartAt | timeDiff:'unit'}}]
@@ -50,13 +50,13 @@
.phase-status
.registered(ng-show="srm.userStatus === CONSTANTS.REGISTERED") Registered
.unregistered(ng-hide="srm.currentPhase !== CONSTANTS.REGISTRATION || srm.userStatus === CONSTANTS.REGISTERED")
- a.tc-btn.tc-btn-s.tc-btn-wide(href="https://community.{{DOMAIN}}/tc?module=MatchDetails&rd={{srm.rounds[0].id}}") Register
+ a.tc-btn.tc-btn-s.tc-btn-wide(href="https://community.{{DOMAIN}}/tc?module=MatchDetails&rd={{roundId}}") Register
.past-srm(ng-show="srm.status === 'PAST'")
.challenge-track
header
.srm-name
- a(ng-href="https://community.{{DOMAIN}}/tc?module=MatchDetails&rd={{srm.rounds[0].id}}") {{srm.name}}
+ a(ng-href="https://community.{{DOMAIN}}/stat?c=round_overview&rd={{roundId}}") {{srm.name}}
.srm-details
p.ended-on Ended {{srm.codingEndAt | timeDiff:"quantity"}} {{srm.codingEndAt | timeDiff:'unit'}} ago
@@ -65,10 +65,10 @@
p.points #[span {{srm.result.finalPoints }}] Points
.ranks
- .division
+ a.division(ng-class="{noclick: !srm.result.divisionPlacement}", href="https://community.{{DOMAIN}}/stat?c=round_stats&rd={{roundId}}&dn={{division}}")
p.rank {{srm.result.divisionPlacement}}
p.label #[span Div {{srm.result.division}}] #[span Placement]
- .room
+ a.room(ng-class="{noclick: !srm.result.roomPlacement}", href="https://community.{{DOMAIN}}/stat?c=coder_room_stats&cr={{userId}}&rd={{roundId}}")
p.rank #[span {{srm.result.roomPlacement}}]
p.label #[span Room] #[span Placement]
diff --git a/app/directives/srm-tile/srm-tile.directive.js b/app/directives/srm-tile/srm-tile.directive.js
index 85bf714b8..b5ab8afbc 100644
--- a/app/directives/srm-tile/srm-tile.directive.js
+++ b/app/directives/srm-tile/srm-tile.directive.js
@@ -8,14 +8,17 @@
srm: '=srm',
view: '=',
showResults: '=',
- showFooter: '='
+ showFooter: '=',
+ userId: '='
},
controller: ['$scope', '$filter', 'CONSTANTS', 'SRMService',
function($scope, $filter, CONSTANTS, SRMService) {
- $scope.DOMAIN = CONSTANTS.domain;
- $scope.CONSTANTS = CONSTANTS;
- $scope.srm.userStatus = _.get($scope.srm, 'userStatus', null);
- SRMService.processSRM($scope.srm);
+ $scope.DOMAIN = CONSTANTS.domain;
+ $scope.CONSTANTS = CONSTANTS;
+ $scope.srm.userStatus = _.get($scope.srm, 'userStatus', null);
+ SRMService.processSRM($scope.srm);
+ $scope.roundId = $scope.srm.rounds.length && $scope.srm.rounds[0].id;
+ $scope.division = $scope.srm.result && $scope.srm.result.division;
}]
};
});
diff --git a/app/my-dashboard/srms/srms.controller.js b/app/my-dashboard/srms/srms.controller.js
index 01c0ef967..3abf78fd5 100644
--- a/app/my-dashboard/srms/srms.controller.js
+++ b/app/my-dashboard/srms/srms.controller.js
@@ -12,6 +12,7 @@
var userId = UserService.getUserIdentity().userId;
var handle = UserService.getUserIdentity().handle;
+ vm.userId = userId;
activate();
diff --git a/app/my-dashboard/srms/srms.jade b/app/my-dashboard/srms/srms.jade
index 1133ed0b7..8bf637b6a 100644
--- a/app/my-dashboard/srms/srms.jade
+++ b/app/my-dashboard/srms/srms.jade
@@ -6,7 +6,7 @@ header
tc-section(state="vm.state")
.srm-tiles
- srm-tile(ng-repeat="srm in vm.srms", srm="srm", view="'tile'", ng-class="'tile-view'")
+ srm-tile(ng-repeat="srm in vm.srms", srm="srm", view="'tile'", ng-class="'tile-view'", user-id="vm.userId")
.srm-links-card
.flex-wrapper
diff --git a/app/my-srms/my-srms.controller.js b/app/my-srms/my-srms.controller.js
index b1422697e..965363983 100644
--- a/app/my-srms/my-srms.controller.js
+++ b/app/my-srms/my-srms.controller.js
@@ -28,6 +28,7 @@
var userId = UserService.getUserIdentity().userId;
var userHandle = UserService.getUserIdentity().handle;
+ vm.userId = userId;
vm.handle = userHandle;
activate();
diff --git a/app/my-srms/my-srms.jade b/app/my-srms/my-srms.jade
index fe042f3df..6a91b1314 100644
--- a/app/my-srms/my-srms.jade
+++ b/app/my-srms/my-srms.jade
@@ -23,6 +23,6 @@
.data(ng-class="vm.view + '-view'")
srm-tile.srm-tile(
ng-repeat="srm in vm.srms | orderBy:vm.orderBy:vm.reverseOrder",
- srm="srm", view="vm.view", ng-class="vm.view + '-view'", show-results="vm.statusFilter === 'past'")
+ srm="srm", view="vm.view", ng-class="vm.view + '-view'", show-results="vm.statusFilter === 'past'", user-id="vm.userId")
tc-endless-paginator(state="vm.loading", page-params="vm.pageParams")
diff --git a/app/profile/subtrack/data/data-challenges.jade b/app/profile/subtrack/data/data-challenges.jade
index 5055280de..e4f08fcc9 100644
--- a/app/profile/subtrack/data/data-challenges.jade
+++ b/app/profile/subtrack/data/data-challenges.jade
@@ -10,7 +10,7 @@
.challenges(ng-show="vm.subTrack == 'SRM'")
.challenge.tile(ng-repeat="challenge in vm.challenges")
- srm-tile(srm="challenge", domain="vm.domain", view="'tile'")
+ srm-tile(srm="challenge", domain="vm.domain", view="'tile'", user-id="profileVm.profile.userId")
.no-challenges(ng-show="!vm.challenges || vm.challenges.length == 0")
| Sorry, no rated SRMs found.
diff --git a/assets/css/community/members.scss b/assets/css/community/members.scss
index a8475b936..95d685da3 100644
--- a/assets/css/community/members.scss
+++ b/assets/css/community/members.scss
@@ -181,7 +181,7 @@
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1);
text-align: center;
background: $white;
- .avatar-wrapper {
+ .avatar-wrapper img {
margin: 0 auto;
border-radius: 100px;
border: 1px solid $gray-light;
@@ -209,6 +209,10 @@
.user-more {
text-transform: uppercase;
}
+ .user-name {
+ color: black;
+ display: block;
+ }
.user-desc {
color: $gray-dark-alt;
min-height: 54px;
diff --git a/assets/css/directives/srm-tile.scss b/assets/css/directives/srm-tile.scss
index ca088326a..eb361c3ce 100644
--- a/assets/css/directives/srm-tile.scss
+++ b/assets/css/directives/srm-tile.scss
@@ -2,6 +2,9 @@
// common styles for both list and tile view
.srm {
+ .noclick {
+ cursor: default;
+ }
.phase-status {
.registered {
position: relative;
diff --git a/assets/images/skills/id-109.svg b/assets/images/skills/id-109.svg
new file mode 100755
index 000000000..c5bd3faa3
--- /dev/null
+++ b/assets/images/skills/id-109.svg
@@ -0,0 +1,14 @@
+
+
\ No newline at end of file
diff --git a/assets/images/skills/id-110.svg b/assets/images/skills/id-110.svg
index df7695e7a..0893de9e5 100644
--- a/assets/images/skills/id-110.svg
+++ b/assets/images/skills/id-110.svg
@@ -1,17 +1,14 @@
-