feat(follow): followers and following count number in user info page

This commit is contained in:
OldHawk
2018-01-04 15:32:40 +08:00
parent 3dc0b42407
commit 2d7ef9e48b
7 changed files with 107 additions and 9 deletions

View File

@@ -211,7 +211,11 @@
STATUS_WARNING: 'Warning',
SCORE_DETAIL: 'Score detail',
INVITATIONS: 'Invitations',
INVITE_INVALID: 'invalid invitation'
INVITE_INVALID: 'invalid invitation',
MY_FOLLOWERS: 'My Followers',
MY_FOLLOWING: 'My Following',
USER_FOLLOWERS: 'User`s Followers',
USER_FOLLOWING: 'User`s Following'
},
//sign in, sign up, password
@@ -684,6 +688,12 @@
EDIT_SIGNATURE_SUCCESSFULLY: 'Edit signature successfully',
EDIT_SIGNATURE_ERROR: 'Edit signature failed',
//follow
FOLLOW: {
NO_FOLLOWERS: 'Has no anybody following you.',
NO_FOLLOWING: 'You arent following anybody.'
},
//user status
STATUS_ACCOUNT: 'Account Status',
STATUS_UPLOADED: 'Uploaded torrents',
@@ -733,6 +743,10 @@
MAKER: 'Maker Group',
VIP_START_AT: 'Vip start at',
VIP_END_AT: 'Vip end at',
MY_FOLLOWERS: 'My Followers',
MY_FOLLOWING: 'My Following',
FOLLOWERS: 'Followers',
FOLLOWING: 'Following',
UPLOADED: 'Total uploaded',
DOWNLOADED: 'Total downloaded',
RATIO: 'Total ratio',

View File

@@ -211,7 +211,11 @@
STATUS_WARNING: '正被警告',
SCORE_DETAIL: '积分详情',
INVITATIONS: '我的邀请',
INVITE_INVALID: '无效的邀请'
INVITE_INVALID: '无效的邀请',
MY_FOLLOWERS: '关注我的',
MY_FOLLOWING: '我关注的',
USER_FOLLOWERS: '关注他的',
USER_FOLLOWING: '他的关注'
},
//sign in, sign up, password
@@ -684,6 +688,12 @@
EDIT_SIGNATURE_SUCCESSFULLY: '修改签名成功',
EDIT_SIGNATURE_ERROR: '修改签名失败',
//follow
FOLLOW: {
NO_FOLLOWERS: '还没有任何用户关注到您.',
NO_FOLLOWING: '您还没有关注任何人.'
},
//user status
STATUS_ACCOUNT: '帐户状态',
STATUS_UPLOADED: '我上传的种子',
@@ -733,6 +743,10 @@
MAKER: '资源压制小组',
VIP_START_AT: 'Vip 资格开始于',
VIP_END_AT: 'Vip 资格结束于',
MY_FOLLOWERS: '关注我的',
MY_FOLLOWING: '我关注的',
FOLLOWERS: '被关注',
FOLLOWING: '关注',
UPLOADED: '总上传量',
DOWNLOADED: '总下载量',
RATIO: '总分享率',

View File

@@ -1447,6 +1447,22 @@ body {
line-height: 2;
}
.dl-hover {
@media (min-width: @screen-sm-min) {
dt {
width: 170px !important;
}
dd {
padding: 0 10px;
}
dt, dd {
&:hover {
background-color: #f8f8f8;
}
}
}
}
.rss-desc-line {
line-height: 1.5 !important;
padding-top: 4px;

View File

@@ -75,6 +75,28 @@
pageTitle: 'EDIT_SIGNATURE'
}
})
.state('follow', {
abstract: true,
url: '/follow',
template: '<ui-view/>',
data: {
roles: ['user', 'oper', 'admin']
}
})
.state('follow.followers', {
url: '/followers',
templateUrl: '/modules/users/client/views/follow/followers.client.view.html',
data: {
pageTitle: 'PAGETITLE.MY_FOLLOWERS'
}
})
.state('follow.following', {
url: '/following',
templateUrl: '/modules/users/client/views/follow/following.client.view.html',
data: {
pageTitle: 'PAGETITLE.MY_FOLLOWING'
}
})
.state('status', {
abstract: true,
url: '/status',

View File

@@ -21,7 +21,7 @@
<div class="row margin-bottom-30">
<div class="col-md-10 col-md-offset-1 admin-user-info">
<dl class="dl-horizontal">
<dl class="dl-horizontal dl-hover">
<dt class="h-line">{{ 'STATUS_FIELD.PICTURE' | translate}}</dt>
<dd class="h-line">
<img class="status-avatar" ng-src="{{vm.user.profileImageURL}}">
@@ -172,6 +172,14 @@
<li class="status-divider"></li>
<dt class="h-line">{{ 'STATUS_FIELD.FOLLOWERS' | translate}}</dt>
<dd class="h-line">{{ vm.user.followers.length }}</dd>
<dt class="h-line">{{ 'STATUS_FIELD.FOLLOWING' | translate}}</dt>
<dd class="h-line">{{ vm.user.following.length }}</dd>
<li class="status-divider"></li>
<div ng-if="vm.announce.privateTorrentCmsMode">
<dt class="h-line">{{ 'STATUS_FIELD.UPLOADED' | translate}}</dt>
<dd class="h-line">

View File

@@ -12,7 +12,7 @@
<a ui-sref="status.warning">{{'WARNING_DETAIL_LINK' | translate}}</a>
</div>
<dl class="dl-horizontal">
<dl class="dl-horizontal dl-hover">
<dt class="h-line">{{ 'STATUS_FIELD.PICTURE' | translate}}</dt>
<dd class="h-line">
<img class="status-avatar" ng-src="{{vm.user.profileImageURL}}">
@@ -64,7 +64,9 @@
<div class="pull-right"
ng-if="vm.user.status == 'idle'">
<button class="btn btn-default btn-xs" ng-click="vm.unIdle(); " style="cursor: pointer">{{ 'STATUS_FIELD.ACTIVE' | translate }}</button>
<button class="btn btn-default btn-xs" ng-click="vm.unIdle(); "
style="cursor: pointer">{{ 'STATUS_FIELD.ACTIVE' | translate }}
</button>
</div>
</dd>
@@ -124,8 +126,22 @@
<span class="client-item" ng-repeat="t in vm.user.client_agent">{{t}}</span>
</div>
</dd>
<li class="status-divider"></li>
</div>
<dt class="h-line">{{ 'STATUS_FIELD.MY_FOLLOWERS' | translate}}</dt>
<dd class="h-line">{{ vm.user.followers.length }}
<a class="pull-right" ui-sref="follow.followers" ng-if="vm.user.followers.length>0">{{ 'STATUS_FIELD.DETAIL' | translate }}</a>
</dd>
<dt class="h-line">{{ 'STATUS_FIELD.MY_FOLLOWING' | translate}}</dt>
<dd class="h-line">{{ vm.user.following.length }}
<a class="pull-right" ui-sref="follow.following" ng-if="vm.user.following.length>0">{{ 'STATUS_FIELD.DETAIL' | translate }}</a>
</dd>
<li class="status-divider"></li>
<div ng-if="vm.announce.privateTorrentCmsMode">
<dt class="h-line">{{ 'STATUS_FIELD.UPLOADED' | translate}}</dt>
<dd class="h-line">
@@ -166,9 +182,9 @@
<a class="pull-right" ui-sref="status.warning" ng-if="vm.user.hnr_warning>0">{{ 'STATUS_FIELD.DETAIL' | translate }}</a>
</dd>
</div>
</div>
<li class="status-divider"></li>
<li class="status-divider"></li>
</div>
<dt class="h-line">{{ 'STATUS_FIELD.FORUM_TOPICS' | translate}}</dt>
<dd class="h-line">{{ vm.user.topics }}</a></dd>

View File

@@ -28,7 +28,7 @@
<div class="row margin-bottom-30">
<div class="col-md-10 col-md-offset-1 admin-user-info">
<dl class="dl-horizontal">
<dl class="dl-horizontal dl-hover">
<dt class="h-line">{{ 'STATUS_FIELD.PICTURE' | translate}}</dt>
<dd class="h-line">
<img class="status-avatar" ng-src="{{vm.user.profileImageURL}}">
@@ -123,6 +123,14 @@
<li class="status-divider"></li>
<dt class="h-line">{{ 'STATUS_FIELD.FOLLOWERS' | translate}}</dt>
<dd class="h-line">{{ vm.user.followers.length }}</dd>
<dt class="h-line">{{ 'STATUS_FIELD.FOLLOWING' | translate}}</dt>
<dd class="h-line">{{ vm.user.following.length }}</dd>
<li class="status-divider"></li>
<div ng-if="vm.announce.privateTorrentCmsMode">
<dt class="h-line">{{ 'STATUS_FIELD.UPLOADED' | translate}}</dt>
<dd class="h-line">