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 @@ - - - icons/skills/id-109 - Created with Sketch. + - - - - - - - - + + + + + + + + diff --git a/assets/images/skills/id-131.svg b/assets/images/skills/id-131.svg index 9bfc4fdb7..810524791 100644 --- a/assets/images/skills/id-131.svg +++ b/assets/images/skills/id-131.svg @@ -1,15 +1,10 @@ - - - icons/skills/id-131 - Created with Sketch. + - - - - - - + + + + \ No newline at end of file diff --git a/assets/images/skills/id-132.svg b/assets/images/skills/id-132.svg index b8f0204bb..39fca3b22 100644 --- a/assets/images/skills/id-132.svg +++ b/assets/images/skills/id-132.svg @@ -1,16 +1,11 @@ - - - icons/skills/id-132 - Created with Sketch. + - - - - - - - + + + + + \ No newline at end of file diff --git a/assets/images/skills/id-133.svg b/assets/images/skills/id-133.svg index 092024090..1363734d5 100644 --- a/assets/images/skills/id-133.svg +++ b/assets/images/skills/id-133.svg @@ -1,18 +1,11 @@ - - - icons/skills/id-133 - Created with Sketch. + - - - - - - - - - + + + + + \ No newline at end of file diff --git a/assets/images/skills/id-140.svg b/assets/images/skills/id-140.svg index 31d4124e6..4343d950d 100644 --- a/assets/images/skills/id-140.svg +++ b/assets/images/skills/id-140.svg @@ -1,13 +1,10 @@ - - - icons/skills/id-140 - Created with Sketch. + - - - - + + + + \ No newline at end of file diff --git a/assets/images/skills/id-154.svg b/assets/images/skills/id-154.svg index c3c983493..2d575d131 100644 --- a/assets/images/skills/id-154.svg +++ b/assets/images/skills/id-154.svg @@ -1,19 +1,15 @@ - - - icons/skills/id-154 - Created with Sketch. + - - - - - - - - - - + + + + + + + + + diff --git a/assets/images/skills/id-205.svg b/assets/images/skills/id-205.svg new file mode 100755 index 000000000..f1c97f3fb --- /dev/null +++ b/assets/images/skills/id-205.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/skills/id-213.svg b/assets/images/skills/id-213.svg index e76e09bca..6cf6f36bc 100644 --- a/assets/images/skills/id-213.svg +++ b/assets/images/skills/id-213.svg @@ -1,17 +1,13 @@ - - - icons/skills/id-213 - Created with Sketch. + - - - - - - - - + + + + + + + diff --git a/assets/images/skills/id-236.svg b/assets/images/skills/id-236.svg index f3f4e035b..e691ffee0 100644 --- a/assets/images/skills/id-236.svg +++ b/assets/images/skills/id-236.svg @@ -1,8 +1,5 @@ - - - icons/skills/id-236 - Created with Sketch. + @@ -10,15 +7,15 @@ - - - - + + + + - + - + diff --git a/assets/images/skills/id-355.svg b/assets/images/skills/id-355.svg index 4be94eeeb..c5007a13e 100644 --- a/assets/images/skills/id-355.svg +++ b/assets/images/skills/id-355.svg @@ -1,16 +1,13 @@ - - - icons/skills/id-355 - Created with Sketch. + - - - - - - - + + + + + + + \ No newline at end of file diff --git a/assets/images/skills/id-368.svg b/assets/images/skills/id-368.svg index c357f322b..9c627a233 100644 --- a/assets/images/skills/id-368.svg +++ b/assets/images/skills/id-368.svg @@ -1,18 +1,15 @@ - - - icons/skills/id-368 - Created with Sketch. + - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/assets/images/skills/id-401.svg b/assets/images/skills/id-401.svg index 0328b1917..35cc10d15 100644 --- a/assets/images/skills/id-401.svg +++ b/assets/images/skills/id-401.svg @@ -1,16 +1,18 @@ - - - icons/skills/id-401 - Created with Sketch. + - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/skills/id-development.svg b/assets/images/skills/id-development.svg new file mode 100755 index 000000000..b797673e9 --- /dev/null +++ b/assets/images/skills/id-development.svg @@ -0,0 +1,20 @@ + + + + icons/skills/id-development + Created with Sketch. + + + + + + + + + + + + + + + \ No newline at end of file