Commit 07f6530f authored by 铃兰's avatar 铃兰

修改环境按钮位置

parent a870d6d9
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
/*}*/ /*}*/
.small-gutters { .small-gutters {
width: 35em;
margin-right: -5px; margin-right: -5px;
margin-left: 0px; margin-left: 0px;
} }
...@@ -80,7 +81,9 @@ ...@@ -80,7 +81,9 @@
dl { dl {
margin-bottom: 0; margin-bottom: 0;
} }
#server-label{
height: 1.8125rem;
}
/*.modal-dialog {*/ /*.modal-dialog {*/
/*max-width: 600px;*/ /*max-width: 600px;*/
/*}*/ /*}*/
...@@ -297,4 +300,9 @@ form { ...@@ -297,4 +300,9 @@ form {
#title-filter-username { #title-filter-username {
margin-left: 6px; margin-left: 6px;
} }
\ No newline at end of file .button-container {
display: flex;
justify-content: space-between;
}
<div *ngIf="!matching" id="action">
<button [disabled]="!appsService.allReady(app) || currentServer.id !== 'tiramisu'" (click)="request_match('athletic')" type="button" class="btn btn-primary btn-sm">
<i class="fa fa-play" aria-hidden="true"></i> <span i18n>竞技匹配</span></button>
<button i18n [disabled]="!appsService.allReady(app) || currentServer.id !== 'tiramisu'" (click)="request_match('entertain')" type="button" class="btn btn-secondary btn-sm">娱乐匹配</button>
<button i18n [disabled]="!appsService.allReady(app) || !currentServer.custom" type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#game-list-modal">自定义游戏</button>
<button i18n [disabled]="!appsService.allReady(app) || !currentServer.windbot" type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#game-create-windbot">单人模式</button>
<button i18n [disabled]="!appsService.allReady(app)" type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#game-replay-modal">观战录像</button>
</div>
<!-- 匹配中 -->
<div *ngIf="matching" id="match-time" class="input-group input-group-sm">
<span class="input-group-addon">
<i class="fa fa-futbol-o fa-spin" aria-hidden="true"></i>
<span i18n *ngIf="matching_arena == 'athletic'">竞技匹配</span>
<span i18n *ngIf="matching_arena == 'entertain'">娱乐匹配</span>
</span>
<span class="input-group-addon"><span i18n>预计时间</span> 03:00</span><span class="input-group-addon"><span i18n>实际时间</span> {{match_time}}</span>
<span class="input-group-btn"><button i18n class="btn btn-secondary" type="button" [disabled]="!match_cancelable" (click)="cancel_match()">取消</button></span>
</div>
<div class="row small-gutters"> <div class="row small-gutters">
<div class="col-sm-3 input-group input-group-sm"> <!-- 环境选择器 -->
<div class="col-3 input-group input-group-sm">
<label i18n class="input-group-addon" id="server-label">环境</label> <label i18n class="input-group-addon" id="server-label">环境</label>
<select class="form-control form-control-sm" id="selectServer" name="server" [disabled]="!appsService.allReady(app)" [(ngModel)]="currentServer"> <select class="form-control form-control-sm" id="selectServer" name="server"
<option *ngFor="let server of selectableServers" [ngValue]="server">{{server.name}}</option> [disabled]="!appsService.allReady(app)" [(ngModel)]="currentServer">
<option *ngFor="let server of selectableServers" [ngValue]="server">{{ server.name }}</option>
</select> </select>
</div> </div>
<div *ngIf="lastCategoryFormat" class="col-sm-3 input-group input-group-sm"> <!-- 匹配按钮 -->
<div class="col-9">
<div *ngIf="!matching" id="action" class="button-container">
<button [disabled]="!appsService.allReady(app) || currentServer.id !== 'tiramisu'"
(click)="request_match('athletic')" type="button" class="btn btn-primary btn-sm">
<i class="fa fa-play" aria-hidden="true"></i> <span i18n>竞技匹配</span></button>
<button i18n [disabled]="!appsService.allReady(app) || currentServer.id !== 'tiramisu'"
(click)="request_match('entertain')" type="button" class="btn btn-secondary btn-sm">娱乐匹配
</button>
<button i18n [disabled]="!appsService.allReady(app) || !currentServer.custom" type="button"
class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#game-list-modal">自定义游戏
</button>
<button i18n [disabled]="!appsService.allReady(app) || !currentServer.windbot" type="button"
class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#game-create-windbot">单人模式
</button>
<button i18n [disabled]="!appsService.allReady(app)" type="button" class="btn btn-secondary btn-sm"
data-toggle="modal" data-target="#game-replay-modal">观战录像
</button>
</div>
<!-- 匹配中-->
<div *ngIf="matching" id="match-time" class="button-container input-group input-group-sm ">
<span class="input-group-addon">
<i class="fa fa-futbol-o fa-spin" aria-hidden="true"></i>
<span i18n *ngIf="matching_arena == 'athletic'" class="w-100">竞技匹配</span>
<span i18n *ngIf="matching_arena == 'entertain'" class="w-100">娱乐匹配</span>
</span>
<span class="input-group-addon w-100">
<span i18n>预计时间</span> 03:00
</span>
<span class="input-group-addon w-100">
<span i18n>实际时间</span> {{ match_time }}
</span>
<span class="input-group-btn">
<button i18n class="btn btn-secondary" type="button" [disabled]="!match_cancelable"
(click)="cancel_match()">取消</button>
</span>
</div>
</div>
</div>
<div class="row small-gutters">
<!-- <div class="col-sm-3 input-group input-group-sm">-->
<!-- <label i18n class="input-group-addon" id="server-label">环境</label>-->
<!-- <select class="form-control form-control-sm" id="selectServer" name="server"-->
<!-- [disabled]="!appsService.allReady(app)" [(ngModel)]="currentServer">-->
<!-- <option *ngFor="let server of selectableServers" [ngValue]="server">{{ server.name }}</option>-->
<!-- </select>-->
<!-- </div>-->
<div *ngIf="lastCategoryFormat" class="input-group input-group-sm col-6">
<label i18n class="input-group-addon" id="basic-addon1">分类</label> <label i18n class="input-group-addon" id="basic-addon1">分类</label>
<select class="form-control form-control-sm" id="exampleSelect1" name="category" [(ngModel)]="currentCategory" (ngModelChange)="refreshCurrentCategoryDecks()"> <select class="form-control form-control-sm" id="exampleSelect1" name="category" [(ngModel)]="currentCategory"
<option *ngFor="let category of categories" [ngValue]="category">{{category.title}}</option> (ngModelChange)="refreshCurrentCategoryDecks()">
<option *ngFor="let category of categories" [ngValue]="category">{{ category.title }}</option>
</select> </select>
</div> </div>
<div class="input-group input-group-sm" [class.col-sm-4]="!!lastCategoryFormat" [class.col-sm-7]="!lastCategoryFormat"> <div class="input-group input-group-sm " [class.col-sm-6]="!!lastCategoryFormat" [class.col-sm-12]="!lastCategoryFormat"
[class.col-sm-7]="!lastCategoryFormat">
<label i18n class="input-group-addon" id="basic-addon1">卡组</label> <label i18n class="input-group-addon" id="basic-addon1">卡组</label>
<select class="form-control form-control-sm" id="exampleSelect1" name="deck" [(ngModel)]="currentDeck"> <select class="form-control form-control-sm" id="exampleSelect1" name="deck" [(ngModel)]="currentDeck">
<option *ngFor="let deck of currentCategoryDecks" [ngValue]="deck">{{deck}}</option> <option *ngFor="let deck of currentCategoryDecks" [ngValue]="deck">{{ deck }}</option>
</select> <span class="input-group-btn"> </select> <span class="input-group-btn">
<button id="edit_deck_button" i18n [disabled]="!appsService.allReady(app)" class="btn btn-secondary btn-sm" (click)="edit_deck()">编辑</button> <button id="edit_deck_button" i18n [disabled]="!appsService.allReady(app)" class="btn btn-secondary btn-sm"
(click)="edit_deck()">编辑</button>
</span> </span>
</div> </div>
</div> </div>
<div class="modal fade" id="game-create-windbot" *ngIf="currentServer.windbot" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal fade" id="game-create-windbot" *ngIf="currentServer.windbot" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
...@@ -53,7 +90,8 @@ ...@@ -53,7 +90,8 @@
<label i18n>选择对手</label> <label i18n>选择对手</label>
<div id="windbot" class="list-group"> <div id="windbot" class="list-group">
<a i18n href="#" class="list-group-item" (click)="join_windbot()">随机</a> <a i18n href="#" class="list-group-item" (click)="join_windbot()">随机</a>
<a *ngFor="let name of windbot" href="#" class="list-group-item" (click)="join_windbot(name)">{{name}}</a> <a *ngFor="let name of windbot" href="#" class="list-group-item"
(click)="join_windbot(name)">{{ name }}</a>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
...@@ -63,13 +101,16 @@ ...@@ -63,13 +101,16 @@
</div> </div>
</div> </div>
<div class="modal fade" id="game-list-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal fade" id="game-list-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-lg" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content flex-row"> <div class="modal-content flex-row">
<div id="game-list"> <div id="game-list">
<div i18n class="p-2" *ngIf="rooms_loading">正在读取游戏列表...</div> <div i18n class="p-2" *ngIf="rooms_loading">正在读取游戏列表...</div>
<div i18n class="p-2" *ngIf="!rooms_loading && this.rooms.length === 0">现在没有等待中的游戏,可以自行创建一个房间或者去匹配</div> <div i18n class="p-2" *ngIf="!rooms_loading && this.rooms.length === 0">
现在没有等待中的游戏,可以自行创建一个房间或者去匹配
</div>
<table *ngIf="!this.rooms_loading && this.rooms.length > 0" class="table table-striped table-hover"> <table *ngIf="!this.rooms_loading && this.rooms.length > 0" class="table table-striped table-hover">
<thead> <thead>
<tr> <tr>
...@@ -82,9 +123,12 @@ ...@@ -82,9 +123,12 @@
<tbody> <tbody>
<tr *ngFor="let room of rooms_show" class="room" (click)="join_room(room)"> <tr *ngFor="let room of rooms_show" class="room" (click)="join_room(room)">
<td class="title">{{room.title}}</td> <td class="title">{{ room.title }}</td>
<td class="users"> <td class="users">
<img *ngFor="let user of room.users" class="avatar rounded" [src]="'https://ygobbs.com/user_avatar/ygobbs.com/' + user.username + '/25/1.png'" data-toggle="tooltip" data-placement="bottom" [title]="user.username" (error)="avatar_fallback($event)"> <img *ngFor="let user of room.users" class="avatar rounded"
[src]="'https://ygobbs.com/user_avatar/ygobbs.com/' + user.username + '/25/1.png'"
data-toggle="tooltip" data-placement="bottom" [title]="user.username"
(error)="avatar_fallback($event)">
</td> </td>
<td class="mode"> <td class="mode">
<span i18n *ngIf="room.options.mode === 0">单局模式</span> <span i18n *ngIf="room.options.mode === 0">单局模式</span>
...@@ -92,27 +136,49 @@ ...@@ -92,27 +136,49 @@
<span i18n *ngIf="room.options.mode === 2">TAG</span> <span i18n *ngIf="room.options.mode === 2">TAG</span>
</td> </td>
<td class="extra"> <td class="extra">
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 0" title="允许OCG独有卡,不允许TCG独有卡">OCG</span> <span i18n i18n-title
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 1" title="允许TCG独有卡,不允许OCG独有卡">TCG</span> *ngIf="room.options.rule != default_options.rule && room.options.rule == 0"
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 2" title="只允许简体中文版已经发售的卡">简中</span> title="允许OCG独有卡,不允许TCG独有卡">OCG</span>
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 3" title="只允许自制卡">自制卡</span> <span i18n i18n-title
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 4" title="不允许OCG或TCG独有卡">专有卡禁止</span> *ngIf="room.options.rule != default_options.rule && room.options.rule == 1"
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 5" title="可以任意使用OCG或TCG卡">所有卡片</span> title="允许TCG独有卡,不允许OCG独有卡">TCG</span>
<span i18n *ngIf="room.options.start_lp != default_options.start_lp">{{room.options.start_lp}}LP</span> <span i18n i18n-title
<span i18n i18n-title *ngIf="room.options.start_hand != default_options.start_hand" title="初始起手数量">{{room.options.start_hand}}初始</span> *ngIf="room.options.rule != default_options.rule && room.options.rule == 2"
<span i18n i18n-title *ngIf="room.options.draw_count != default_options.draw_count" title="每回合抽卡数量">{{room.options.draw_count}}抽卡</span> title="只允许简体中文版已经发售的卡">简中</span>
<span i18n i18n-title *ngIf="room.options.duel_rule != default_options.duel_rule" title="上个版本的大师规则">大师规则{{room.options.duel_rule}}</span> <span i18n i18n-title
<span i18n i18n-title *ngIf="room.options.no_check_deck != default_options.no_check_deck" title="不检查卡组是否合规">不检查</span> *ngIf="room.options.rule != default_options.rule && room.options.rule == 3"
<span i18n i18n-title *ngIf="room.options.no_shuffle_deck != default_options.no_shuffle_deck" title="任何时候都不洗切卡组">不洗卡</span> title="只允许自制卡">自制卡</span>
<span i18n i18n-title *ngIf="!!room.options.auto_death" title="40分钟自动死三">自动加时赛</span> <span i18n i18n-title
*ngIf="room.options.rule != default_options.rule && room.options.rule == 4"
title="不允许OCG或TCG独有卡">专有卡禁止</span>
<span i18n i18n-title
*ngIf="room.options.rule != default_options.rule && room.options.rule == 5"
title="可以任意使用OCG或TCG卡">所有卡片</span>
<span i18n
*ngIf="room.options.start_lp != default_options.start_lp">{{ room.options.start_lp }}LP</span>
<span i18n i18n-title *ngIf="room.options.start_hand != default_options.start_hand"
title="初始起手数量">{{ room.options.start_hand }}初始</span>
<span i18n i18n-title *ngIf="room.options.draw_count != default_options.draw_count"
title="每回合抽卡数量">{{ room.options.draw_count }}抽卡</span>
<span i18n i18n-title *ngIf="room.options.duel_rule != default_options.duel_rule"
title="上个版本的大师规则">大师规则{{ room.options.duel_rule }}</span>
<span i18n i18n-title *ngIf="room.options.no_check_deck != default_options.no_check_deck"
title="不检查卡组是否合规">不检查</span>
<span i18n i18n-title
*ngIf="room.options.no_shuffle_deck != default_options.no_shuffle_deck"
title="任何时候都不洗切卡组">不洗卡</span>
<span i18n i18n-title *ngIf="!!room.options.auto_death"
title="40分钟自动死三">自动加时赛</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<div id="join-private" class="input-group input-group-sm"> <div id="join-private" class="input-group input-group-sm">
<i class="fa fa-key input-group-addon" aria-hidden="true"></i> <i class="fa fa-key input-group-addon" aria-hidden="true"></i>
<input [(ngModel)]="join_password" type="text" class="form-control" i18n-placeholder placeholder="在这输入你朋友的私密房间密码就可以进去了哦!"> <input [(ngModel)]="join_password" type="text" class="form-control" i18n-placeholder
<span class="input-group-btn"><button i18n class="btn btn-secondary" type="button" (click)="join_private(join_password)">加入私密房间</button></span> placeholder="在这输入你朋友的私密房间密码就可以进去了哦!">
<span class="input-group-btn"><button i18n class="btn btn-secondary" type="button"
(click)="join_private(join_password)">加入私密房间</button></span>
</div> </div>
</div> </div>
...@@ -122,16 +188,20 @@ ...@@ -122,16 +188,20 @@
<div class="form-group"> <div class="form-group">
<ng-container *ngIf="!room.private; else private"> <ng-container *ngIf="!room.private; else private">
<label i18n for="game-create-title">游戏标题</label> <label i18n for="game-create-title">游戏标题</label>
<input type="text" maxlength="12" class="form-control form-control-sm" id="game-create-title" name="title" [(ngModel)]="room.title" required [readonly]> <input type="text" maxlength="12" class="form-control form-control-sm" id="game-create-title"
name="title" [(ngModel)]="room.title" required [readonly]>
<small i18n class="form-text text-muted">最多 12 个字</small> <small i18n class="form-text text-muted">最多 12 个字</small>
</ng-container> </ng-container>
<ng-template #private> <ng-template #private>
<label *ngIf="room.private" for="game-create-title"><i class="fa fa-key" aria-hidden="true"></i> <label *ngIf="room.private" for="game-create-title"><i class="fa fa-key" aria-hidden="true"></i>
<span i18n>房间密码</span></label> <span i18n>房间密码</span></label>
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<input type="text" maxlength="12" class="form-control" id="game-create-title" name="title" [(ngModel)]="host_password" readonly> <input type="text" maxlength="12" class="form-control" id="game-create-title" name="title"
<span i18n-title id="copy-wrapper" class="input-group-btn" data-toggle="tooltip" title="房间密码已复制到剪贴板"> [(ngModel)]="host_password" readonly>
<button i18n-title class="btn btn-secondary fa fa-clipboard" type="button" title="复制" (click)="copy(host_password, $event)"></button> <span i18n-title id="copy-wrapper" class="input-group-btn" data-toggle="tooltip"
title="房间密码已复制到剪贴板">
<button i18n-title class="btn btn-secondary fa fa-clipboard" type="button" title="复制"
(click)="copy(host_password, $event)"></button>
</span> </span>
</div> </div>
<small i18n class="form-text text-muted">把这个分享给你的朋友</small> <small i18n class="form-text text-muted">把这个分享给你的朋友</small>
...@@ -140,7 +210,8 @@ ...@@ -140,7 +210,8 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label i18n for="game-create-rule">卡片允许</label> <label i18n for="game-create-rule">卡片允许</label>
<select class="form-control form-control-sm" id="game-create-rule" name="rule" [(ngModel)]="room.options.rule"> <select class="form-control form-control-sm" id="game-create-rule" name="rule"
[(ngModel)]="room.options.rule">
<option i18n value="0">OCG</option> <option i18n value="0">OCG</option>
<option i18n value="1">TCG</option> <option i18n value="1">TCG</option>
<option i18n value="2">简体中文</option> <option i18n value="2">简体中文</option>
...@@ -151,7 +222,9 @@ ...@@ -151,7 +222,9 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label i18n for="game-create-mode">决斗模式</label> <label i18n for="game-create-mode">决斗模式</label>
<select class="form-control form-control-sm" id="game-create-mode" name="mode" (change)="room.options.start_lp = room.options.mode == 2 ? default_options.start_lp_tag : default_options.start_lp" [(ngModel)]="room.options.mode"> <select class="form-control form-control-sm" id="game-create-mode" name="mode"
(change)="room.options.start_lp = room.options.mode == 2 ? default_options.start_lp_tag : default_options.start_lp"
[(ngModel)]="room.options.mode">
<option i18n value="0">单局模式</option> <option i18n value="0">单局模式</option>
<option i18n value="1">比赛模式</option> <option i18n value="1">比赛模式</option>
<option i18n value="2">TAG</option> <option i18n value="2">TAG</option>
...@@ -159,7 +232,8 @@ ...@@ -159,7 +232,8 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label i18n for="game-create-duelrule">决斗规则</label> <label i18n for="game-create-duelrule">决斗规则</label>
<select class="form-control form-control-sm" id="game-create-duelrule" name="duel_rule" [(ngModel)]="room.options.duel_rule"> <select class="form-control form-control-sm" id="game-create-duelrule" name="duel_rule"
[(ngModel)]="room.options.duel_rule">
<option i18n value="1">大师规则1</option> <option i18n value="1">大师规则1</option>
<option i18n value="2">大师规则2</option> <option i18n value="2">大师规则2</option>
<option i18n value="3">大师规则3</option> <option i18n value="3">大师规则3</option>
...@@ -173,19 +247,22 @@ ...@@ -173,19 +247,22 @@
<div class="row"> <div class="row">
<label i18n for="game-create-start-lp" class="col-sm-6 col-form-label">初始 LP</label> <label i18n for="game-create-start-lp" class="col-sm-6 col-form-label">初始 LP</label>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="number" value="8000" min="1" max="65536" class="form-control form-control-sm" id="game-create-start-lp" name="start_lp" [(ngModel)]="room.options.start_lp"> <input type="number" value="8000" min="1" max="65536" class="form-control form-control-sm"
id="game-create-start-lp" name="start_lp" [(ngModel)]="room.options.start_lp">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<label i18n for="game-create-start-hand" class="col-sm-6 col-form-label">初始手牌数</label> <label i18n for="game-create-start-hand" class="col-sm-6 col-form-label">初始手牌数</label>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="number" value="5" min="0" max="16" class="form-control form-control-sm" id="game-create-start-hand" name="start_hand" [(ngModel)]="room.options.start_hand"> <input type="number" value="5" min="0" max="16" class="form-control form-control-sm"
id="game-create-start-hand" name="start_hand" [(ngModel)]="room.options.start_hand">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<label i18n for="game-create-draw-count" class="col-sm-6 col-form-label">每回合抽卡</label> <label i18n for="game-create-draw-count" class="col-sm-6 col-form-label">每回合抽卡</label>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="number" value="1" min="0" max="16" class="form-control form-control-sm" id="game-create-draw-count" name="draw_count" [(ngModel)]="room.options.draw_count"> <input type="number" value="1" min="0" max="16" class="form-control form-control-sm"
id="game-create-draw-count" name="draw_count" [(ngModel)]="room.options.draw_count">
</div> </div>
</div> </div>
<div> <div>
...@@ -197,11 +274,13 @@ ...@@ -197,11 +274,13 @@
<label i18n for="enable_priority">旧规则</label> <label i18n for="enable_priority">旧规则</label>
</div--> </div-->
<div> <div>
<input id="no_check_deck" name="no_check_deck" [(ngModel)]="room.options.no_check_deck" type="checkbox"> <input id="no_check_deck" name="no_check_deck" [(ngModel)]="room.options.no_check_deck"
type="checkbox">
<label i18n for="no_check_deck">不检查卡组</label> <label i18n for="no_check_deck">不检查卡组</label>
</div> </div>
<div> <div>
<input id="no_shuffle_deck" name="no_shuffle_deck" type="checkbox" [(ngModel)]="room.options.no_shuffle_deck"> <input id="no_shuffle_deck" name="no_shuffle_deck" type="checkbox"
[(ngModel)]="room.options.no_shuffle_deck">
<label i18n for="no_shuffle_deck">不洗切卡组</label> <label i18n for="no_shuffle_deck">不洗切卡组</label>
</div> </div>
<div> <div>
...@@ -222,7 +301,8 @@ ...@@ -222,7 +301,8 @@
</div> </div>
<div class="modal fade" id="game-replay-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="game-replay-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-lg" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content"> <div class="modal-content">
<!--<div class="modal-header">--> <!--<div class="modal-header">-->
...@@ -263,43 +343,56 @@ ...@@ -263,43 +343,56 @@
<th class="mode"> <th class="mode">
<!--<span i18n>游戏模式</span>--> <!--<span i18n>游戏模式</span>-->
<div id="watch-filter" class="dropdown"> <div id="watch-filter" class="dropdown">
<button i18n class="btn btn-secondary dropdown-toggle btn-sm" type="button" id="watchDropdownMenuButton" aria-haspopup="true" aria-expanded="false">游戏模式</button> <button i18n class="btn btn-secondary dropdown-toggle btn-sm" type="button"
id="watchDropdownMenuButton" aria-haspopup="true" aria-expanded="false">
游戏模式
</button>
<div class="dropdown-menu"> <div class="dropdown-menu">
<h6 i18n class="dropdown-header">匹配</h6> <h6 i18n class="dropdown-header">匹配</h6>
<label i18n class="form-check dropdown-item"> <label i18n class="form-check dropdown-item">
<input type="checkbox" class="form-check-input" [(ngModel)]="replay_rooms_filter.athletic"> <input type="checkbox" class="form-check-input"
[(ngModel)]="replay_rooms_filter.athletic">
竞技匹配 竞技匹配
</label> </label>
<label i18n class="form-check dropdown-item"> <label i18n class="form-check dropdown-item">
<input type="checkbox" class="form-check-input" [(ngModel)]="replay_rooms_filter.entertain"> <input type="checkbox" class="form-check-input"
[(ngModel)]="replay_rooms_filter.entertain">
娱乐匹配 娱乐匹配
</label> </label>
<h6 i18n class="dropdown-header">自定义游戏</h6> <h6 i18n class="dropdown-header">自定义游戏</h6>
<label i18n class="form-check dropdown-item"> <label i18n class="form-check dropdown-item">
<input type="checkbox" class="form-check-input" [(ngModel)]="replay_rooms_filter.single"> <input type="checkbox" class="form-check-input"
[(ngModel)]="replay_rooms_filter.single">
单局模式 单局模式
</label> </label>
<label i18n class="form-check dropdown-item"> <label i18n class="form-check dropdown-item">
<input type="checkbox" class="form-check-input" [(ngModel)]="replay_rooms_filter.match"> <input type="checkbox" class="form-check-input"
[(ngModel)]="replay_rooms_filter.match">
比赛模式 比赛模式
</label> </label>
<label i18n class="form-check dropdown-item"> <label i18n class="form-check dropdown-item">
<input type="checkbox" class="form-check-input" [(ngModel)]="replay_rooms_filter.tag"> <input type="checkbox" class="form-check-input"
[(ngModel)]="replay_rooms_filter.tag">
TAG TAG
</label> </label>
<h6 i18n class="dropdown-header">单人模式</h6> <h6 i18n class="dropdown-header">单人模式</h6>
<label i18n class="form-check dropdown-item"> <label i18n class="form-check dropdown-item">
<input type="checkbox" class="form-check-input" [(ngModel)]="replay_rooms_filter.windbot"> <input type="checkbox" class="form-check-input"
[(ngModel)]="replay_rooms_filter.windbot">
单人模式 单人模式
</label> </label>
</div> </div>
</div> </div>
</th> </th>
<th class="title"> <th class="title">
<div class="d-flex"> <div class="d-flex">
<span i18n class="align-self-end">游戏标题</span> <span i18n class="align-self-end">游戏标题</span>
<input i18n-placeholder type="text" class="col-sm-6 form-control form-control-sm" id="title-filter-username" placeholder="支持玩家名称搜索房间" [(ngModel)]="replay_rooms_filter.username" (ngModelChange)="title_username_change_handler($event)" /> <input i18n-placeholder type="text"
</div> class="col-sm-6 form-control form-control-sm" id="title-filter-username"
placeholder="支持玩家名称搜索房间"
[(ngModel)]="replay_rooms_filter.username"
(ngModelChange)="title_username_change_handler($event)"/>
</div>
</th> </th>
<th i18n class="users">玩家</th> <th i18n class="users">玩家</th>
<th i18n class="extra">额外选项</th> <th i18n class="extra">额外选项</th>
...@@ -311,33 +404,65 @@ ...@@ -311,33 +404,65 @@
<span i18n *ngIf="room.id.startsWith('AI#')">单人模式</span> <span i18n *ngIf="room.id.startsWith('AI#')">单人模式</span>
<span i18n *ngIf="room.arena === 'athletic'">竞技匹配</span> <span i18n *ngIf="room.arena === 'athletic'">竞技匹配</span>
<span i18n *ngIf="room.arena === 'entertain'">娱乐匹配</span> <span i18n *ngIf="room.arena === 'entertain'">娱乐匹配</span>
<span i18n *ngIf="!(room.arena || room.id.startsWith('AI#')) && room.options.mode === 0">单局模式</span> <span i18n
<span i18n *ngIf="!(room.arena || room.id.startsWith('AI#')) && room.options.mode === 1">比赛模式</span> *ngIf="!(room.arena || room.id.startsWith('AI#')) && room.options.mode === 0">单局模式</span>
<span i18n *ngIf="!(room.arena || room.id.startsWith('AI#')) && room.options.mode === 2">TAG</span> <span i18n
*ngIf="!(room.arena || room.id.startsWith('AI#')) && room.options.mode === 1">比赛模式</span>
<span i18n
*ngIf="!(room.arena || room.id.startsWith('AI#')) && room.options.mode === 2">TAG</span>
</td> </td>
<td class="title"> <td class="title">
<span i18n *ngIf="room.private">{{room.users[0] && room.users[0].username}} 的私密房间</span> <span i18n
<span i18n *ngIf="room.arena || room.id.startsWith('AI#')">{{room.users[0] && room.users[0].username}} 跟 {{room.users[1] && room.users[1].username}} 的决斗</span> *ngIf="room.private">{{ room.users[0] && room.users[0].username }} 的私密房间</span>
<span *ngIf="!(room.arena || room.id.startsWith('AI#') || room.private)">{{room.title}}</span> <span i18n
*ngIf="room.arena || room.id.startsWith('AI#')">{{ room.users[0] && room.users[0].username }} 跟 {{ room.users[1] && room.users[1].username }} 的决斗</span>
<span *ngIf="!(room.arena || room.id.startsWith('AI#') || room.private)">{{ room.title }}</span>
</td> </td>
<td class="users"> <td class="users">
<img *ngFor="let user of room.users" class="avatar rounded" [src]="'https://ygobbs.com/user_avatar/ygobbs.com/' + user.username + '/25/1.png'" data-toggle="tooltip" data-placement="bottom" [title]="user.username" (error)="avatar_fallback($event)"> <img *ngFor="let user of room.users" class="avatar rounded"
[src]="'https://ygobbs.com/user_avatar/ygobbs.com/' + user.username + '/25/1.png'"
data-toggle="tooltip" data-placement="bottom" [title]="user.username"
(error)="avatar_fallback($event)">
</td> </td>
<td class="extra"> <td class="extra">
<div *ngIf="!(room.arena || room.id.startsWith('AI#'))"> <div *ngIf="!(room.arena || room.id.startsWith('AI#'))">
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 0" title="允许OCG独有卡,不允许TCG独有卡">OCG</span> <span i18n i18n-title
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 1" title="允许TCG独有卡,不允许OCG独有卡">TCG</span> *ngIf="room.options.rule != default_options.rule && room.options.rule == 0"
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 2" title="只允许简体中文版已经发售的卡">简中</span> title="允许OCG独有卡,不允许TCG独有卡">OCG</span>
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 3" title="只允许自制卡">自制卡</span> <span i18n i18n-title
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 4" title="不允许OCG或TCG独有卡">专有卡禁止</span> *ngIf="room.options.rule != default_options.rule && room.options.rule == 1"
<span i18n i18n-title *ngIf="room.options.rule != default_options.rule && room.options.rule == 5" title="可以任意使用OCG或TCG卡">所有卡片</span> title="允许TCG独有卡,不允许OCG独有卡">TCG</span>
<span i18n *ngIf="room.options.start_lp != default_options.start_lp && room.options.mode != 2">{{room.options.start_lp}}LP</span> <span i18n i18n-title
<span i18n *ngIf="room.options.start_lp != default_options.start_lp_tag && room.options.mode == 2">{{room.options.start_lp}}LP</span> *ngIf="room.options.rule != default_options.rule && room.options.rule == 2"
<span i18n i18n-title *ngIf="room.options.start_hand != default_options.start_hand" title="初始起手数量">{{room.options.start_hand}}初始</span> title="只允许简体中文版已经发售的卡">简中</span>
<span i18n i18n-title *ngIf="room.options.draw_count != default_options.draw_count" title="每回合抽卡数量">{{room.options.draw_count}}抽卡</span> <span i18n i18n-title
<span i18n i18n-title *ngIf="room.options.duel_rule != default_options.duel_rule" title="上个版本的大师规则">大师规则{{room.options.duel_rule}}</span> *ngIf="room.options.rule != default_options.rule && room.options.rule == 3"
<span i18n i18n-title *ngIf="room.options.no_check_deck != default_options.no_check_deck" title="不检查卡组是否合规">不检查</span> title="只允许自制卡">自制卡</span>
<span i18n i18n-title *ngIf="room.options.no_shuffle_deck != default_options.no_shuffle_deck" title="任何时候都不洗切卡组">不洗卡</span> <span i18n i18n-title
*ngIf="room.options.rule != default_options.rule && room.options.rule == 4"
title="不允许OCG或TCG独有卡">专有卡禁止</span>
<span i18n i18n-title
*ngIf="room.options.rule != default_options.rule && room.options.rule == 5"
title="可以任意使用OCG或TCG卡">所有卡片</span>
<span i18n
*ngIf="room.options.start_lp != default_options.start_lp && room.options.mode != 2">{{ room.options.start_lp }}LP</span>
<span i18n
*ngIf="room.options.start_lp != default_options.start_lp_tag && room.options.mode == 2">{{ room.options.start_lp }}LP</span>
<span i18n i18n-title
*ngIf="room.options.start_hand != default_options.start_hand"
title="初始起手数量">{{ room.options.start_hand }}初始</span>
<span i18n i18n-title
*ngIf="room.options.draw_count != default_options.draw_count"
title="每回合抽卡数量">{{ room.options.draw_count }}抽卡</span>
<span i18n i18n-title
*ngIf="room.options.duel_rule != default_options.duel_rule"
title="上个版本的大师规则">大师规则{{ room.options.duel_rule }}</span>
<span i18n i18n-title
*ngIf="room.options.no_check_deck != default_options.no_check_deck"
title="不检查卡组是否合规">不检查</span>
<span i18n i18n-title
*ngIf="room.options.no_shuffle_deck != default_options.no_shuffle_deck"
title="任何时候都不洗切卡组">不洗卡</span>
<span i18n i18n-title *ngIf="!!room.options.auto_death" title="40分钟自动死三">自动加时赛</span> <span i18n i18n-title *ngIf="!!room.options.auto_death" title="40分钟自动死三">自动加时赛</span>
</div> </div>
</td> </td>
...@@ -347,8 +472,10 @@ ...@@ -347,8 +472,10 @@
</div> </div>
<div class="tab-pane" id="game-replay-local" role="tabpanel"> <div class="tab-pane" id="game-replay-local" role="tabpanel">
<div class="list-group"> <div class="list-group">
<a *ngFor="let replay of replays2" class="list-group-item list-group-item-action" (click)="watch_replay2(replay)">{{replay}}</a> <a *ngFor="let replay of replays2" class="list-group-item list-group-item-action"
<a *ngFor="let replay of replays" class="list-group-item list-group-item-action" (click)="watch_replay(replay)">{{replay}}</a> (click)="watch_replay2(replay)">{{ replay }}</a>
<a *ngFor="let replay of replays" class="list-group-item list-group-item-action"
(click)="watch_replay(replay)">{{ replay }}</a>
</div> </div>
</div> </div>
<!--<div *ngIf="settingsService.getLocale().startsWith('zh')" class="tab-pane" id="game-replay-bilibili" role="tabpanel"> <!--<div *ngIf="settingsService.getLocale().startsWith('zh')" class="tab-pane" id="game-replay-bilibili" role="tabpanel">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment