Files
meanTorrent/modules/vip/client/views/vip.client.view.html
OldHawk e038d635ed feat(torrents): uploader can set anonymous option on upload page
anonymous option only for torrent not for user account settings
if do not want to show maker group also, not select maker group when upload

#20
2017-12-07 13:01:38 +08:00

303 lines
20 KiB
HTML

<div ng-controller="VipController as vm">
<div class="pagetop">
<div class="container">
<div class="row margin-top-20 margin-bottom-30">
<div class="col-sm-9">
<h3>{{'VIP.VIP_TITLE' | translate}}
<small>{{'VIP.VIP_SUB_TITLE' | translate}}
<small class="text-mt" ng-if="vm.user.isVip">{{ vm.user.vip_start_at | date: 'yyyy-MM-dd' }} - {{ vm.user.vip_end_at | date: 'yyyy-MM-dd' }}</small>
</small>
</h3>
</div>
<div class="col-sm-3 text-right donate-button">
<a ui-sref="vip.donate" class="btn btn-width-120 margin-top-5"
mouse-enter-toggle-class="btn-mt" base-class="btn-mt-o">
{{'VIP.BUTTON_DONATE' | translate}}
</a>
</div>
</div>
</div>
</div>
<div class="container" ng-if="!vm.user.isVip && !vm.user.isOper">
<div class="col-sm-10">
<div marked src="'/modules/vip/client/templates/vip-'+vm.lang+'.md'" compile="true">
</div>
</div>
</div>
<div class="container" ng-if="vm.user.isVip || vm.user.isOper" ng-init="vm.buildPager();">
<div class="row margin-top-20">
<div class="col-md-12 torrent-list" id="top_of_torrent_list" ng-show="vm.pagedItems">
<h3 class="margin-bottom-30">
{{'VIP.TORRENTS_LIST' | translate}}
</h3>
<div class="margin-bottom-20">
<div class="btn-group torrent-type-group">
<label class="btn btn-default"
ng-repeat="t in vm.torrentType.value | filter:{enable: true} | orderBy: 'position'"
ng-model="vm.vipTorrentType" uib-btn-radio="'{{t.value}}'"
ng-click="vm.onTypeBtnClick(); vm.buildPager();">
{{'MENU_TORRENTS_SUB.'+t.name | translate}}
</label>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading text-center">
<h3 class="panel-title">{{'TAGS_SEARCH' | translate}} - {{'MENU_TORRENTS_SUB.' + vm.vipTorrentType.toUpperCase() | translate}}</h3>
</div>
<div class="panel-body">
<div class="col-md-10 col-md-offset-1">
<dl class="dl-horizontal">
<dt class="h-line">{{ 'CA_KEYWORD' | translate}}:</dt>
<dd class="h-line">
<div class="row" style="">
<div class="col-sm-7">
<input type="text" class="form-control" ng-model="vm.searchKey"
ng-keydown="vm.onKeysKeyDown($event);"
placeholder="{{ 'PH_KEYWORD' | translate}}">
</div>
<div class="col-sm-5">
<span class="label label-tag text-uppercase incline-block-valign"
title="{{ 'TITLE_ALT.MORE_TAGS' | translate}}"
ng-click="vm.onMoreTagsClicked();">
<i class="glyphicon glyphicon-chevron-down" id="more-tags-icon"></i> {{ 'MORE_TAGS' | translate}}
</span>
<span class="label label-tag text-uppercase incline-block-valign"
title="{{ 'TITLE_ALT.RESET_TAGS' | translate}}"
ng-click="vm.clearAllCondition();">
<i class="glyphicon glyphicon-repeat"></i> {{ 'CA_RESET' | translate}}
</span>
</div>
</div>
</dd>
<dt class="h-line">{{ 'CA_TORRENT_HNR' | translate}}:</dt>
<dd class="h-line">
<div class="checkbox checkbox-hnr">
<label>
<input type="checkbox" ng-model="vm.filterHnR" ng-change="vm.onHnRChanged();"> {{ 'CA_TORRENT_HNR' | translate}}
</label>
</div>
</dd>
<dt class="h-line">{{ 'CA_TORRENT_SALE_STATUS' | translate}}:</dt>
<dd class="h-line">
<div class="checkbox checkbox-hnr">
<label>
<input type="checkbox" ng-model="vm.filterSale" ng-change="vm.onSaleChanged();"> {{ 'CA_TORRENT_SALE_NOW' | translate}}
</label>
</div>
</dd>
<div class="more-tags panel-collapsed" style="display: none;">
<div ng-repeat="item in vm.resourcesTags.radio | filter:vm.vipTorrentType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}:</dt>
<dd class="h-line">
<div class="btn-group btn-group-xs" role="group">
<button ng-repeat="sitem in item.value" id="tag_{{sitem.name}}"
class="btn btn-xs btn-default btn-tag" value="{{sitem.name}}"
ng-click="vm.onRadioTagClicked($event, sitem.name)">
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</button>
</span>
</div>
</dd>
</div>
<div style="margin-top: 20px;"></div>
<div ng-repeat="item in vm.resourcesTags.checkbox | filter:vm.vipTorrentType">
<dt class="h-line">{{ 'RESOURCESTAGS.'+item.name+'.SELF' | translate}}:</dt>
<dd class="h-line">
<div class="btn-group btn-group-xs" role="group">
<button ng-repeat="sitem in item.value" id="tag_{{sitem.name}}"
class="btn btn-xs btn-default btn-tag" value="{{sitem.name}}"
ng-click="vm.onCheckboxTagClicked($event, sitem.name)"
toggle-class="btn-success" base-class="btn-default" onclick="this.blur();">
{{ 'RESOURCESTAGS.' + item.name + '.' + sitem.name | translate}}
</button>
</div>
</dd>
</div>
</div>
</dl>
</div>
</div>
</div>
<div class="pagination-div-top">
<div class="row">
<div class="col-sm-12">
<ul uib-pagination boundary-links="true" max-size="8" items-per-page="vm.itemsPerPage" total-items="vm.filterLength"
ng-model="vm.currentPage"
ng-change="vm.pageChanged()"
first-text="{{ 'PAGE_TEXT_FIRST' | translate}}" previous-text="{{ 'PAGE_TEXT_PREVIOUS' | translate}}"
next-text="{{ 'PAGE_TEXT_NEXT' | translate}}" last-text="{{ 'PAGE_TEXT_LAST' | translate}}">
</ul>
</div>
</div>
</div>
<div class="table-responsive">
<table class="table table-hover tb-v-middle">
<thead>
<tr>
<th class="td-width-0"></th>
<th>{{ 'TABLE_FIELDS.INFO' | translate}}</th>
<th>
<a href="#" tooltip-placement="top"
ng-click="vm.orderByVote();"
uib-tooltip="{{ 'TABLE_FIELDS.TITLE_VOTES' | translate}}">{{ 'TABLE_FIELDS.VOTES' | translate}}</a>
<i class="fa fa-caret-down text-info" ng-if="vm.sortVote == '-'"></i>
</th>
<th class="text-center">
<a href="#" tooltip-placement="top"
ng-click="vm.orderByLife();"
uib-tooltip="{{ 'TABLE_FIELDS.TITLE_LIFE' | translate}}">{{ 'TABLE_FIELDS.LIFETIME' | translate}}</a>
<i class="fa fa-caret-down text-info" ng-if="vm.sortLife == '-'"></i>
</th>
<th class="text-center">
<a href="#" tooltip-placement="top"
ng-click="vm.orderBySize();"
uib-tooltip="{{ 'TABLE_FIELDS.TITLE_SIZE' | translate}}">{{ 'TABLE_FIELDS.SIZE' | translate}}</a>
<i class="fa fa-caret-down text-info" ng-if="vm.sortSize == '-'"></i>
</th>
<th>
<a href="#" tooltip-placement="top"
ng-click="vm.orderBySLF();"
uib-tooltip="{{ 'TABLE_FIELDS.TITLE_SEEDS_LEECHERS_FINISHED' | translate}}"
ng-bind-html="vm.getOrderTableHead()"></a>
</th>
<th class="text-center">{{ 'TABLE_FIELDS.PUBLISHER' | translate}}</th>
</tr>
</thead>
<tbody>
<tr ng-if="vm.tooltipMsg">
<td colspan="7">
<div class="text-center margin-top-50 margin-bottom-30 padding-top-20 padding-bottom-50">
<h2>{{vm.tooltipMsg | translate}}</h2>
</div>
</td>
</tr>
<tr class="torrent-list-info"
ng-if="!vm.tooltipMsg" ng-repeat-start="item in vm.pagedItems" ng-click="vm.TGI.openTorrentDetailInfo(item._id);">
<td class="td-width-0" rowspan="2"></td>
<td class="col-md-7 td-text-overflow">
<div class="media">
<div class="media-left">
<img class="media-object" torrent-logo="item"
ng-src="{{vm.TGI.getTorrentListImage(item)}}"
alt="{{vm.TGI.getTorrentTitle(item)}}">
<div class="layer-download" ng-class="{'music': item.torrent_type=='music'}">
<i class="fa fa-arrow-circle-o-down fa-3x" aria-hidden="true"
title="{{ 'TITLE_ALT.DOWNLOAD_TORRENT' | translate}}"
ng-click="vm.DLS.downloadTorrent(item._id); $event.stopPropagation();"
ng-class="{'fa-arrow-circle-down': vm.hover}"
ng-mouseover="vm.hover = true;" ng-mouseleave="vm.hover = false;"></i>
</div>
</div>
<div class="media-body">
<h5 class="media-heading">
<a ui-sref="torrents.view({torrentId: item._id})">{{vm.TGI.getTorrentDoubleTitle(item)}}</a>
</h5>
<div class="list-all-genres">
<span class="genres-item" ng-repeat="t in item.resource_detail_info.genres">{{t.name}}</span>
</div>
<div class="torrent-filename text-long">{{item.resource_detail_info.subtitle}}</div>
<div class="torrent-filename text-long">{{item.torrent_filename | filename}}</div>
<div class="list-all-tags">
<span class="label label-release label-warning" ng-show="item.resource_detail_info.release_date"
ng-click="vm.onReleaseClicked(item.resource_detail_info.release_date); $event.stopPropagation();">
{{ item.resource_detail_info.release_date}}
</span>
<span class="label label-rlevel label-info"
ng-show="item.torrent_recommended != 'none'"
ng-click="$event.stopPropagation();">
{{ 'TORRENT_RECOMMEND_LEVEL_ITEM.' + item.torrent_recommended.toUpperCase() | translate}}
</span>
<span class="label label-sale" ng-if="item.isSaling"
title="{{vm.TGI.getTorrentSaleTypeDesc(item);}} | {{ 'SALE_EXPIRES_TIME' | translate}}: {{item.torrent_sale_expires | date: 'MM-dd HH:mm'}}"
ng-click="vm.onSaleClicked(); $event.stopPropagation();"
ng-class="{'label-default': !item.isSaling, 'label-success': item.isSaling}">
{{item.torrent_sale_status}} {{item.torrent_sale_expires | unlife}}
</span>
<span class="label label-se-info" ng-if="item.torrent_type == 'tvserial'"
ng-click="$event.stopPropagation();">S{{item.torrent_seasons}}E{{item.torrent_episodes}}</span>
<span class="label label-hnr-info" ng-if="item.torrent_hnr"
ng-click="vm.onHnRClicked(); $event.stopPropagation();">H&R</span>
<span class="label label-vip-info" ng-if="item.torrent_vip"
ng-click="$event.stopPropagation();">VIP</span>
<span ng-repeat="t in item.torrent_tags">
<span class="label label-tag" ng-class="{'used': vm.searchTags.indexOf(t) !== -1}"
ng-click="vm.onTagClicked(t); $event.stopPropagation();"
ng-if="vm.RTS.tagInList(t);">
{{ 'RESOURCESTAGS.' + vm.RTS.getTagTitle(t) + '.' + t.toUpperCase() | translate}}
</span>
</span>
</div>
</div>
</div>
</td>
<td class="col-md-1 td-v-middle td-imdb">
<span title="{{ 'TITLE_ALT.IMDB_VOTES' | translate}}"
class="torrent-votes"><kbd>{{vm.TGI.getVoteTitle(item)}}</kbd> {{item.resource_detail_info.vote_average | number : 1}}</span>
</td>
<td class="col-md-1 td-v-middle text-center td-life">{{item.createdat | life}}</td>
<td class="col-md-1 td-v-middle text-center td-size">{{item.torrent_size | bytes:2}}</td>
<td class="col-md-1 td-v-middle list-user-info td-user-info">
<p class="no-margin-p" title="{{ 'TITLE_ALT.SEEDS' | translate}}">
<span class="glyphicon glyphicon-arrow-up torrent-up"></span>
{{item.torrent_seeds}}
</p>
<p class="no-margin-p" title="{{ 'TITLE_ALT.LEECHERS' | translate}}">
<span class="glyphicon glyphicon-arrow-down torrent-down"></span>
{{item.torrent_leechers}}
</p>
<p class="no-margin-p" title="{{ 'TITLE_ALT.FINISHED' | translate}}">
<span class="glyphicon glyphicon-ok torrent-finished"></span>
{{item.torrent_finished}}
</p>
</td>
<td class="col-md-1 td-v-middle text-center td-uploader">
<span ng-if="!item.isAnonymous" user-info="item.user" info-name></span>
<span ng-if="item.isAnonymous">{{ 'ANONYMOUS' | translate }}</span>
<div maker-info="item.maker"></div>
<!--<span vip-flag="item.user"></span>-->
<!--<span message-to="item.user" to-class="message-to-icon"></span>-->
</td>
</tr>
<tr ng-repeat-end>
<td class="td-progress" colspan="6">
<div torrent-progress="item.my_peers"></div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pagination-div-bottom">
<ul uib-pagination boundary-links="true" max-size="8" items-per-page="vm.itemsPerPage" total-items="vm.filterLength"
ng-model="vm.currentPage"
ng-change="vm.pageChanged()"
first-text="{{ 'PAGE_TEXT_FIRST' | translate}}" previous-text="{{ 'PAGE_TEXT_PREVIOUS' | translate}}"
next-text="{{ 'PAGE_TEXT_NEXT' | translate}}" last-text="{{ 'PAGE_TEXT_LAST' | translate}}">
</ul>
</div>
</div>
</div>
</div>
</div>