mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-01-28 10:09:19 +01:00
211 lines
12 KiB
HTML
211 lines
12 KiB
HTML
<section>
|
||
<div class="backdrop attachment-scroll" ng-init="vm.getUserMedals(); vm.initTopBackground()">
|
||
<div class="filter">
|
||
<div class="container medals-user-top">
|
||
<div class="row">
|
||
<div class="col-sm-12">
|
||
<span user-info="vm.user" info-class="user-avatar" info-avatar></span>
|
||
<ul class="list-unstyled user-data">
|
||
<li class="margin-bottom-10">
|
||
<span user-info="vm.user" info-class="h3 user-name" info-name></span>
|
||
<span message-to="vm.user" to-class="message-to-icon"></span>
|
||
</li>
|
||
<li>
|
||
<span vip-flag="vm.user" vip-class="user-vip"></span>
|
||
<span score-level-curr="vm.user" class="user-level"></span>
|
||
<span class="user-ud-text"><span up-down-flag="vm.user" up-down-class="user-up-down"></span></span>
|
||
<span class="user-seeding"><span seeding-flag="vm.user" seeding-flag-class="user-seeding-flag"></span></span>
|
||
<span class="user-leeching"><span leeching-flag="vm.user" leeching-flag-class="user-leeching-flag"></span></span>
|
||
<span class="user-ratio"><span ratio-flag="vm.user" ratio-flag-class="user-ratio-flag"></span></span>
|
||
<span class="user-medals-count"><span medal-flag="vm.user" medal-count="vm.userMedals.length" medal-flag-class="user-medal-flag"></span></span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="row" ng-if="vm.userMedals && vm.userMedals.length>0">
|
||
<div class="col-sm-12">
|
||
<div class="user-medals-list margin-top-10">
|
||
<div class="medal">
|
||
<div class="medal-item medal-2x" ng-repeat="mt in vm.userMedals"
|
||
uib-tooltip-html="vm.getTooltipHtml(mt)"
|
||
tooltip-placement="top-center">
|
||
<i class="{{mt.faClass}} medal-bg dark-shadow" style="color:{{mt.bgColor}};"></i>
|
||
<i class="fa-inverse {{mt.iconClass}} medal-icon" style="font-size: {{mt.iconSize}}; top: {{mt.iconTop}}"></i>
|
||
<span class="fa-inverse medal-header" style="font-size: {{mt.textHeaderSize}}; top: {{mt.textHeaderTop}}" ng-if="mt.hasHeader">
|
||
{{'MEDALS.HEADERSTRING.'+mt.prefix.toUpperCase() | translate}}
|
||
</span>
|
||
<span class="fa-inverse medal-footer" style="font-size: {{mt.textFooterSize}}; bottom: {{mt.textFooterBottom}}" ng-if="mt.hasFooter">
|
||
{{'MEDALS.FOOTERSTRING.'+mt.prefix.toUpperCase() | translate}}
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="margin-top-20 text-right">
|
||
<a class="btn btn-min-width-120 margin-top-5" mouse-enter-toggle-class="btn-default" base-class="btn-mt-o"
|
||
ng-click="vm.followTo()" ng-if="!vm.isContextUserSelf() && !vm.inMyFollowing()">
|
||
{{ 'STATUS_FIELD.BTN_FOLLOW' | translate}}
|
||
</a>
|
||
<a class="btn btn-min-width-120 margin-top-5" mouse-enter-toggle-class="btn-default" base-class="btn-mt-o"
|
||
ng-click="vm.unFollowTo()" ng-if="!vm.isContextUserSelf() && vm.inMyFollowing()">
|
||
{{ 'STATUS_FIELD.BTN_UNFOLLOW' | translate}}
|
||
</a>
|
||
<a class="btn btn-min-width-120 margin-top-5" mouse-enter-toggle-class="btn-default" base-class="btn-mt-o"
|
||
ng-click="vm.messageTo()" ng-if="!vm.isContextUserSelf()">
|
||
{{ 'STATUS_FIELD.BTN_SEND_MESSAGE' | translate}}
|
||
</a>
|
||
<a class="btn btn-min-width-120 margin-top-5" mouse-enter-toggle-class="btn-default" base-class="btn-mt-o"
|
||
ui-sref="admin.user({userId: vm.user._id})" ng-if="vm.authentication.user.isOper">
|
||
{{ 'STATUS_FIELD.BTN_MANAGE' | translate}}
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="container">
|
||
<div class="row">
|
||
<div class="col-md-10 col-md-offset-1">
|
||
<dl class="dl-horizontal dl-hover margin-top-20 margin-bottom-20">
|
||
<dt class="h-line">{{ 'STATUS_FIELD.PICTURE' | translate}}:</dt>
|
||
<dd class="h-line">
|
||
<img class="status-avatar" ng-src="{{vm.user.profileImageURL}}">
|
||
</dd>
|
||
|
||
<dt class="h-line">ID:</dt>
|
||
<dd class="h-line">
|
||
<mark>{{ vm.user._id }}</mark>
|
||
</dd>
|
||
|
||
<div ng-if="vm.user._id == vm.authUser._id">
|
||
<dt class="h-line">{{ 'STATUS_FIELD.USERNAME' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.username }}</dd>
|
||
</div>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.DISPLAY_NAME' | translate}}:</dt>
|
||
<dd class="h-line">
|
||
{{ vm.user.displayName }}
|
||
<span vip-flag="vm.user"></span>
|
||
</dd>
|
||
|
||
<div ng-if="vm.user.invited_by">
|
||
<dt class="h-line">{{ 'STATUS_FIELD.INVITED_BY' | translate}}:</dt>
|
||
<dd class="h-line">
|
||
<span user-info="vm.user.invited_by" info-name></span>
|
||
<!--<span message-to="vm.user.invited_by" to-class="message-to-icon"></span>-->
|
||
</dd>
|
||
</div>
|
||
|
||
<div ng-if="!vm.user.hideMoreDetail">
|
||
<dt class="h-line">{{ 'STATUS_FIELD.EMAIL' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.email }}</dd>
|
||
</div>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.ROLE' | translate}}:</dt>
|
||
<dd class="h-line">
|
||
<mark>{{ vm.user.roles[0] }}</mark>
|
||
</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.MAKER' | translate}}:</dt>
|
||
<dd class="h-line">
|
||
<span class="maker-list" ng-repeat="m in vm.user.makers">
|
||
<span maker-info="m"></span>
|
||
</span>
|
||
<span ng-if="vm.user.makers.length==0">-</span>
|
||
</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.STATUS' | translate}}:</dt>
|
||
<dd class="h-line">
|
||
<span ng-class="{'span-banned': vm.user.status == 'banned'}">{{ 'STATUS_FIELD.' + vm.user.status.toUpperCase() | translate }}</span>
|
||
</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.SCORE' | translate}}:</dt>
|
||
<dd class="h-line">
|
||
<span>{{ vm.user.score | number: 2 }}</span> <span score-level-curr="vm.user"></span>
|
||
</dd>
|
||
|
||
<li class="status-divider"></li>
|
||
|
||
<div class="margin-top-50" ng-if="vm.user.hideMoreDetail">
|
||
<div class="alert alert-warning text-center">{{'STATUS_FIELD.HIDE_MORE_DETAIL_DESC' | translate}}</div>
|
||
</div>
|
||
|
||
<div ng-if="!vm.user.hideMoreDetail">
|
||
<div ng-show="vm.user.isVip">
|
||
<dt class="h-line">{{ 'STATUS_FIELD.VIP_START_AT' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.vip_start_at | date: 'yyyy-MM-dd HH:mm:ss' }}</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.VIP_END_AT' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.vip_end_at | date: 'yyyy-MM-dd HH:mm:ss' }}</dd>
|
||
|
||
<li class="status-divider"></li>
|
||
</div>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.SIGNUP_DATE' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.created | date: 'yyyy-MM-dd HH:mm:ss' }}</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.LATEST_SIGNED_TIME' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.last_signed | date: 'yyyy-MM-dd HH:mm:ss' }}</dd>
|
||
|
||
<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>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.UPLOADED' | translate}}:</dt>
|
||
<dd class="h-line">
|
||
<span class="glyphicon glyphicon-arrow-up torrent-up"></span>
|
||
<span>{{ vm.user.uploaded | bytes:2 }}</span>
|
||
</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.DOWNLOADED' | translate}}:</dt>
|
||
<dd class="h-line">
|
||
<span class="glyphicon glyphicon-arrow-down torrent-down"></span>
|
||
<span>{{ vm.user.downloaded | bytes:2 }}</span>
|
||
</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.RATIO' | translate}}:</dt>
|
||
<dd class="h-line"><span ng-class="vm.user.ratio == 0 ? 'ratio-warning' : 'ratio-normal' ">{{ vm.user.ratio | ratio}}</span>
|
||
</dd>
|
||
|
||
<li class="status-divider"></li>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.UPTOTAL' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.uptotal }}</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.SEEDED' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.seeded }}</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.LEECHED' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.leeched }}</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.FINISHED' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.finished }}</span></dd>
|
||
|
||
<div ng-if="vm.user.hnr_warning>0 && vm.hnrConfig.enable">
|
||
<dt class="h-line">{{ 'STATUS_FIELD.HNR_WARNING' | translate}}:</dt>
|
||
<dd class="h-line"><span class="badge badge_danger">{{vm.user.hnr_warning}}</span></dd>
|
||
</div>
|
||
|
||
<li class="status-divider"></li>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.FORUM_TOPICS' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.topics }}</dd>
|
||
|
||
<dt class="h-line">{{ 'STATUS_FIELD.FORUM_REPLIES' | translate}}:</dt>
|
||
<dd class="h-line">{{ vm.user.replies }}</dd>
|
||
</div>
|
||
</dl>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|