重新整理了页面控制部分

This commit is contained in:
枫谷剑仙 2024-07-29 12:07:28 +08:00
parent 0217bab711
commit bafe4b0adf
13 changed files with 485 additions and 366 deletions

BIN
images/icon-dungeon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -55,9 +55,9 @@
<noscript>您的浏览器不支持 JavaScript<br/>Your browser does not support JavaScript!</noscript>
<h1 class="title">智龙急速阵型<br>Puzzle & Dragons Dash Formation</h1>
<ul class="control-box">
<li><a class="btn-solo-link" href="solo.html"><!--单人模式--></a></li>
<li><a class="btn-multi-link" href="multi.html"><!--多人模式--></a></li>
<li><a class="btn-triple-link" href="triple.html"><!--三人模式--></a></li>
<li><a id="btn-solo-link" href="solo.html"><!--单人模式--></a></li>
<li><a id="btn-multi-link" href="multi.html"><!--多人模式--></a></li>
<li><a id="btn-triple-link" href="triple.html"><!--三人模式--></a></li>
<li><br></li>
<li><a class="btn-guide-link" href="solo.html?guide=1"><!--图鉴模式--> - パズル&ドラゴンズ</a></li>
<li><a class="btn-guide-link" href="solo.html?guide=1&s=en"><!--图鉴模式--> - Puzzle & Dragons</a></li>

View File

@ -184,47 +184,47 @@ label[for="merge-skill"]::after{
label[for="datasource"]::after{
content: "Game:";
}
.control-box .btn-solo-link::before{
content: "🧑Jump To Solo Mode";
#player-number::before{
content: "Jump to:";
}
.control-box .btn-multi-link::before{
content: "🧑🤝🧑Jump To 2-Player Mode";
label[for="player-number-1"]::after{
content: "Solo";
}
.control-box .btn-triple-link::before{
content: "👪Jump To 3-Player Mode";
label[for="player-number-2"]::after{
content: "2-Player";
}
label[for="player-number-3"]::after{
content: "3-Player";
}
.control-box .btn-guide-link::before{
content: "📓Guide Mode";
}
.control-box .btn-clear-data::before{
content: "🗑️Clear data";
#btn-clear-data::after{
content: "Clear data";
}
#draw-screenshot::before{
content: "📷Draw screenshot";
#draw-screenshot::after{
content: "Draw screenshot";
}
label[for="screenshot-transparent"]::after{
content: "Transparent";
}
.control-box .btn-player-data::before{
content: "📦My Box";
#btn-player-data::after{
content: "My Box";
}
.control-box .btn-swap-AB-team::before{
content: "🔄Swap AB Team";
#btn-swap-team::after{
content: "Swap Team";
}
.control-box .btn-swap-ABC-team::before{
content: "🔄Rotating ABC Team";
#lbl-henshin-change::after{
content: "Changes";
}
.control-box .lbl-henshin-change::before{
content: "🦸Changes";
}
.control-box .lbl-remove-assist::before{
content: "⛔Remove Assist";
#btn-remove-assist::after{
content: "Remove Assist";
}
.control-box .config-display-list summary::before{
content:"Displayed Information Switchs List";
}
label[for="show-card-id"]::after{
content:"🆔Card's ID";
content:"Card's ID";
}
label[for="show-card-rarity"]::after{
content:"Card's Rarity";
@ -558,7 +558,7 @@ label[for="real-time-change-card"]::after
margin: calc(-100px * (1 - 0.6) / 2);
}
.control-box .btn-qrcode::after{
#btn-qrcode::after{
content: "QR Code and Data exchange";
}

View File

@ -177,41 +177,41 @@ label[for="merge-skill"]::after{
label[for="datasource"]::after{
content: "ゲーム:";
}
.control-box .btn-solo-link::before{
content: "🧑ソロモードに移動";
#player-number::before{
content: "ジャップ:";
}
.control-box .btn-multi-link::before{
content: "🧑🤝🧑2人協力モードムに移動";
label[for="player-number-1"]::after{
content: "ソロ";
}
.control-box .btn-triple-link::before{
content: "👪3人協力モードに移動";
label[for="player-number-2"]::after{
content: "2人";
}
label[for="player-number-3"]::after{
content: "3人";
}
.control-box .btn-guide-link::before{
content: "📓図鑑モード";
}
.control-box .btn-clear-data::before{
content: "🗑️データの消去";
#btn-clear-data::after{
content: "データの消去";
}
#draw-screenshot::before{
content: "📷スクリーンショットを描く";
#draw-screenshot::after{
content: "スクリーンショットを描く";
}
label[for="screenshot-transparent"]::after{
content: "透明";
}
.control-box .btn-player-data::before{
content: "📦私の箱";
#btn-player-data::after{
content: "私の箱";
}
.control-box .btn-swap-AB-team::before{
content: "🔄交換ABチーム";
#btn-swap-team::after{
content: "スワプティ";
}
.control-box .btn-swap-ABC-team::before{
content: "🔄ローテーションABCチーム";
#lbl-henshin-change::after{
content: "変身";
}
.control-box .lbl-henshin-change::before{
content: "🦸変身";
}
.control-box .lbl-remove-assist::before{
content: "⛔アシストを解除";
#btn-remove-assist::after{
content: "アシストを解除";
}
.control-box .config-display-list summary::before{
content:"情報表示内容の開閉器一覧";

View File

@ -173,41 +173,41 @@ label[for="merge-skill"]::after{
label[for="datasource"]::after{
content: "게임:";
}
.control-box .btn-solo-link::before{
content: "🧑1인 모드 이동";
#player-number::before{
content: "이동:";
}
.control-box .btn-multi-link::before{
content: "🧑🤝🧑2인 모드 이동";
label[for="player-number-1"]::after{
content: "1인";
}
.control-box .btn-triple-link::before{
content: "👪3인 모드 이동";
label[for="player-number-2"]::after{
content: "2인";
}
label[for="player-number-3"]::after{
content: "3인";
}
.control-box .btn-guide-link::before{
content: "📓사진 모드";
}
.control-box .btn-clear-data::before{
content: "🗑️데이터 지우기";
#btn-clear-data::after{
content: "데이터 지우기";
}
#draw-screenshot::before{
content: "📷스크린 샷 그리기";
#draw-screenshot::after{
content: "스크린 샷 그리기";
}
label[for="screenshot-transparent"]::after{
content: "투명한";
}
.control-box .btn-player-data::before{
content: "📦내 상자";
#btn-player-data::after{
content: "내 상자";
}
.control-box .btn-swap-AB-team::before{
content: "🔄교환 AB 팀";
#btn-swap-team::after{
content: "스옵트립";
}
.control-box .btn-swap-ABC-team::before{
content: "🔄로테이션 ABC 팀";
#lbl-henshin-change::after{
content: "변신";
}
.control-box .lbl-henshin-change::before{
content: "🦸변신";
}
.control-box .lbl-remove-assist::before{
content: "⛔보조를 해제합";
#btn-remove-assist::after{
content: "보조를 해제합";
}
.control-box .config-display-list summary::before{
content:"표시된 정보 전환 목록";
@ -496,7 +496,7 @@ label[for="real-time-change-card"]::after
content: "루프 변신";
}
.control-box .btn-qrcode::after{
#btn-qrcode::after{
content: "QR 코드 및 데이터 교환";
}

View File

@ -2,10 +2,10 @@
label[for="languages"]::after{
content: "语言:";
}
.help-link::after{
#help-link::after{
content: "帮助和提示";
}
.feedback-link::after{
#feedback-link::after{
content: "反馈";
}
.monster.delay::before{
@ -120,7 +120,7 @@ label[for="merge-skill"]::after{
content: "取消修改";
}
.edit-box .button-box .button-done::after{
content: "确认修改";
content: "保存修改";
}
.edit-box .button-box .button-done.cant-assist::after{
content: "不能辅助";
@ -179,41 +179,41 @@ label[for="merge-skill"]::after{
label[for="datasource"]::after{
content: "游戏:";
}
.control-box .btn-solo-link::before{
content: "🧑转到单人游戏";
#player-number::before{
content: "跳转到:";
}
.control-box .btn-multi-link::before{
content: "🧑🤝🧑转到2人车队";
label[for="player-number-1"]::after{
content: "单人";
}
.control-box .btn-triple-link::before{
content: "👪转到3人协力";
label[for="player-number-2"]::after{
content: "2人";
}
label[for="player-number-3"]::after{
content: "3人";
}
.control-box .btn-guide-link::before{
content: "📓图鉴模式";
}
.control-box .btn-clear-data::before{
content: "🗑️清除数据";
#btn-clear-data::after{
content: "清除数据";
}
#draw-screenshot::before{
content: "📷绘制截图";
#draw-screenshot::after {
content: "绘制截图";
}
label[for="screenshot-transparent"]::after{
content: "透明";
}
.control-box .btn-player-data::before{
content: "📦我的箱子";
#btn-player-data::after{
content: "我的箱子";
}
.control-box .btn-swap-AB-team::before{
content: "🔄交换AB队";
#btn-swap-team::after{
content: "轮换队伍";
}
.control-box .btn-swap-ABC-team::before{
content: "🔄轮换ABC队";
#lbl-henshin-change::after{
content: "变身";
}
.control-box .lbl-henshin-change::before{
content: "🦸变身";
}
.control-box .lbl-remove-assist::before{
content: "⛔解除辅助";
#btn-remove-assist::after{
content: "解除辅助";
}
.control-box .config-display-list summary::before{
content:"展示信息开关列表";
@ -501,7 +501,7 @@ label[for="real-time-change-card"]::after
content: "循環変身";
}
.control-box .btn-qrcode::after{
#btn-qrcode::after{
content: "二维码 和 数据交换";
}

View File

@ -2,10 +2,10 @@
label[for="languages"]::after{
content: "語言:";
}
.help-link::before{
#help-link::before{
content: "\f05a 幫助和提示";
}
.feedback-link::before{
#feedback-link::before{
content: "\f4ad 反饋";
}
.monster.delay::before{
@ -179,42 +179,41 @@ label[for="merge-skill"]::after{
label[for="datasource"]::after{
content: "遊戲:";
}
.control-box .btn-solo-link::before{
content: "🧑轉到單人遊戲";
#player-number::before{
content: "跳轉到:";
}
.control-box .btn-multi-link::before{
content: "🧑🤝🧑轉到2人車隊";
label[for="player-number-1"]::after{
content: "單人";
}
.control-box .btn-triple-link::before{
content: "👪轉到2人協力";
label[for="player-number-2"]::after{
content: "2人";
}
label[for="player-number-3"]::after{
content: "3人";
}
.control-box .btn-guide-link::before{
content: "📓圖鑒模式";
}
.control-box .btn-clear-data::before{
content: "🗑️清除數據";
#btn-clear-data::after{
content: "清除數據";
}
#draw-screenshot::before{
content: "📷繪製截圖";
#draw-screenshot::after{
content: "繪製截圖";
}
label[for="screenshot-transparent"]::after{
content: "透明";
}
.control-box .btn-player-data::before{
content: "📦我的箱子";
#btn-player-data::after{
content: "我的箱子";
}
.control-box .btn-swap-AB-team::before{
content: "🔄交換AB隊";
#btn-swap-team::after{
content: "輪換隊伍";
}
.control-box .btn-swap-ABC-team::before{
content: "🔄輪換ABC隊";
#lbl-henshin-change::after{
content: "變身";
}
.control-box .lbl-henshin-change::before{
content: "🦸變身";
}
.control-box .lbl-remove-assist::before{
content: "⛔解除輔助";
#btn-remove-assist::after{
content: "解除輔助";
}
.control-box .config-display-list summary::before{
content:"展示信息開關列表";
@ -502,7 +501,7 @@ label[for="real-time-change-card"]::after
content: "循環變身";
}
.control-box .btn-qrcode::after{
#btn-qrcode::after{
content: "二維碼 和 數據交換";
}

View File

@ -52,23 +52,31 @@ const teamsCount = 2;
<body class="show-awoken-count">
<noscript>您的浏览器不支持 JavaScript<br/>Your browser does not support JavaScript!</noscript>
<div class="control-box">
<div>
<label for="languages"></label><select class="languages" id="languages"></select>
<label for="datasource"></label><select class="datasource" id="datasource"></select>
<button onclick="loadData(true);" id="datasource-updatetime" title="强制刷新数据"></button>
<a class="help-link" target="_blank" href="doc/index.html"></a>
<a class="feedback-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/issues"></a>
</div>
<div>
<button class="btn-clear-data" onclick="clearData();"></button>
<button class="btn-player-data"></button>
<button class="btn-solo-link" onclick="turnPage(1,arguments[0]);"></button><button class="btn-multi-link" disabled></button><button class="btn-triple-link" onclick="turnPage(3,arguments[0]);"></button>
<button class="btn-swap-AB-team" onclick="swapABCteam();"></button>
</div>
<div>
<a class="down-capture display-none" target="_blank"></a>
<button class="btn-qrcode fa"></button>
<button id="draw-screenshot"><input type="checkbox" id="screenshot-transparent"><label for="screenshot-transparent"></label></button>
<div>
<label for="languages"></label><select id="languages"></select>
<label for="datasource"></label><select id="datasource"></select>
<button id="datasource-updatetime" title="强制刷新数据"></button>
<a id="help-link" target="_blank" href="doc/index.html"></a>
<a id="feedback-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/issues"></a>
</div>
<div>
<button id="btn-qrcode"></button>
<form id="player-number">
<ul class="horizontally-radio-list">
<li><input type="radio" name="player-number" value="1" id="player-number-1" /><label for="player-number-1"></label></li>
<li><input type="radio" name="player-number" value="2" id="player-number-2" /><label for="player-number-2"></label></li>
<li><input type="radio" name="player-number" value="3" id="player-number-3" /><label for="player-number-3"></label></li>
</ul>
</form>
<button id="btn-swap-team"></button>
<button id="btn-clear-data"></button>
<button id="btn-player-data"></button>
</div>
<div>
<button id="draw-screenshot"></button>
<input type="checkbox" id="screenshot-transparent"><label for="screenshot-transparent"></label>
<label for="default-level"></label><input id="default-level" type="number" min="1" max="120" placeholder="120"/>
<input type="checkbox" name="change-swap-to-copy" id="change-swap-to-copy"><label for="change-swap-to-copy"></label>
</div>
@ -79,7 +87,7 @@ const teamsCount = 2;
<div class="attrs">
<div class="attr" data-attr="0"></div><div class="attr" data-attr="1"></div><div class="attr" data-attr="2"></div><div class="attr" data-attr="3"></div>
</div>
<div class="plus"><div class="hp">999</div><div class="atk">999</div><div class="rcv">999</div></div>
<div class="plus"><div class="hp">999</div></div>
<div class="awoken-count-num" data-value="99"></div>
<div class="super-awoken"><div class="awoken-icon" data-awoken-icon="63"></div></div>
<div class="level" data-value="999" data-level-range="120"></div>
@ -107,9 +115,11 @@ const teamsCount = 2;
<input type="checkbox" class="switch-ipt" id="show-rich-text-tools"><label for="show-rich-text-tools"></label>
</details>
<div class="status"></div>
<div>
<span class="lbl-henshin-change"><button class="btn-henshin" data-step="-1" onclick="henshinStep(parseInt(this.dataset.step,10));"></button><button class="btn-henshin" data-step="+1" onclick="henshinStep(parseInt(this.dataset.step,10));"></button></span>
<span class="lbl-remove-assist"><button class="btn-remove-assist" onclick="formation.removeAssist();"></span>
<div class="formation-control">
<span id="lbl-henshin-change"></span>
<button class="btn-henshin" data-step="-1"></button>
<button class="btn-henshin" data-step="+1"></button>
<button id="btn-remove-assist"></button>
<button id="btn-set-dungeon-enchance"></button>
</div>
</div>
@ -123,7 +133,7 @@ const teamsCount = 2;
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce fa">
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
@ -1241,10 +1251,10 @@ const teamsCount = 2;
<ul class="special-filter-list">
<li>
<select class="special-filter"></select>
<button class="copy-filter"></button>
<button class="shift-up-filter"></button>
<button class="shift-down-filter"></button>
<button class="remove-filter"></button>
<button class="copy-filter brown-button"></button>
<button class="shift-up-filter brown-button"></button>
<button class="shift-down-filter brown-button"></button>
<button class="remove-filter brown-button"></button>
</li>
</ul>
</div>
@ -1487,10 +1497,10 @@ const teamsCount = 2;
</div>
</div>
<div class="button-box">
<button class="button-null"><!--留空格子--></button>
<button class="button-delay"><!--应对威吓--></button>
<button class="button-done"><!--确认修改--></button>
<button class="button-cancel"><!--取消修改--></button>
<button class="button-null brown-button"><!--留空格子--></button>
<button class="button-delay brown-button"><!--应对威吓--></button>
<button class="button-cancel brown-button"><!--取消修改--></button>
<button class="button-done brown-button"><!--确认修改--></button>
</div>
<template id="template-card-a">
@ -1509,10 +1519,10 @@ const teamsCount = 2;
<div class="action-button-box">
<div class="read-text-box">
<input class="string-input" type="text"/>
<button class="read-string brown-button fa"><!--读字符串--></button>
<button class="read-string brown-button"><!--读字符串--></button>
</div>
<button class="read-qr-camera brown-button fa"><!--相机扫--></button>
<button class="read-qr-file brown-button fa"><!--读文件--></button>
<button class="read-qr-camera brown-button"><!--相机扫--></button>
<button class="read-qr-file brown-button"><!--读文件--></button>
<input type="file" accept="image/*" class="file-select display-none">
</div>
<div class="info">
@ -1532,7 +1542,7 @@ const teamsCount = 2;
</ul>
<input class="string-output" type="text" readonly/>
<div class="qr-box"><img class="qr-code-image" /></div>
<a download="" class="save-qr-img brown-button fa"><!--保存QR 图片--></a>
<a download="" class="save-qr-img brown-button"><!--保存QR 图片--></a>
</div>
<div class="paddb-team-edit">
<div class="user">
@ -1545,7 +1555,7 @@ const teamsCount = 2;
</div>
</div>
</div>
<a id="external-support" class="brown-button fa" href="doc/index.html#data-exchange-with-paddb"></a>
<a id="external-support" class="brown-button" href="doc/index.html#data-exchange-with-paddb"></a>
</div>
@ -1614,10 +1624,10 @@ const teamsCount = 2;
</dialog>
<div id="player-data-frame" class="mask display-none">
<div class="player-box-title fa"><!--玩家数据子--></div>
<div class="player-box-title"><!--玩家数据子--></div>
<div class="control-button-box">
<button class="mask-close brown-button fa"></button>
<button class="upload-data brown-button fa"></button>
<button class="mask-close brown-button"></button>
<button class="upload-data brown-button"></button>
<input type="file" class="file-select display-none" multiple/>
<a class="how-to-use" target="_blank" href="doc/export-player-data.html"></a>
<input type="checkbox" name="box-have" id="box-have"><label for="box-have"></label>
@ -1638,7 +1648,7 @@ const teamsCount = 2;
</div>
</td>
<td class="name"></td>
<td class="control"><button class="brown-button set-default fa"></button><button class="brown-button delete fa"></button></td>
<td class="control"><button class="brown-button set-default"></button><button class="brown-button delete"></button></td>
</tr>
<tr>
<td class="lvexp"><div class="progress-bar"><div class="bar"></div></div><div class="level"></div></td>
@ -1733,7 +1743,7 @@ const teamsCount = 2;
</tr>
<tr>
<td colspan="4">
<button class="brown-button open-show-box fa"></button>
<button class="brown-button open-show-box"></button>
</td>
</tr>
</tbody>

181
script.js
View File

@ -1819,24 +1819,6 @@ class RequirementTree extends EvoTree
};
}
//清除数据
function clearData()
{
const locationURL = new URL(location);
locationURL.searchParams.delete('d'); //删除数据
locationURL.searchParams.delete('l'); //删除语言
locationURL.searchParams.delete('_id'); //删除PADDB的ID
location = locationURL.toString();
}
//轮换ABC队伍
function swapABCteam()
{
if (formation.teams.length > 1) {
formation.teams.push(formation.teams.splice(0, 1)[0]); //将队伍1移动到最后
createNewUrl();
refreshAll(formation);
}
}
function henshinStep(step)
{
if (step == 0) return;
@ -1873,61 +1855,6 @@ function henshinStep(step)
createNewUrl({replaceState: true});
refreshAll(formation);
}
//在单人和多人之间转移数据
function turnPage(toPage, e = null) {
let pagename = null;
switch (toPage) {
case 1:
if (formation.teams[0][0].length < 6) {
//把第二支队伍的队长添加到最后方
formation.teams[0][0].push(formation.teams[1][0][0]);
formation.teams[0][1].push(formation.teams[1][1][0]);
}
//删掉第2支开始的队伍
formation.teams.splice(1);
pagename = "solo.html";
break;
case 2:
if (formation.teams.length < 2) { //从1人到2人
formation.teams[1] = [
[],
[]
];
//把右边的队长加到第二支队伍最后面
formation.teams[1][0].splice(0, 0, formation.teams[0][0].splice(5, 1)[0]);
formation.teams[1][1].splice(0, 0, formation.teams[0][1].splice(5, 1)[0]);
} else { //从3人到2人直接删除后面两个队伍
//删掉第3支开始的队伍
formation.teams.splice(2);
//删掉前面两支队伍的战友
formation.teams[0][0].splice(5);
formation.teams[0][1].splice(5);
formation.teams[1][0].splice(5);
formation.teams[1][1].splice(5);
}
formation.badge = 0;
pagename = "multi.html";
break;
case 3:
if (formation.teams.length < 2) { //从1人到3人
} else { //从2人到3人
formation.teams[0][0].push(formation.teams[1][0][0]);
formation.teams[0][1].push(formation.teams[1][1][0]);
formation.teams[1][0].push(formation.teams[0][0][0]);
formation.teams[1][1].push(formation.teams[0][1][0]);
}
formation.badge = 0;
pagename = "triple.html";
break;
}
const newURL = createNewUrl({ url: pagename, onlyReturnUrl: true });
if (e && e.ctrlKey) {
window.open(newURL);
} else {
location.href = newURL;
}
}
function loadData(force = false)
{
if (force)
@ -2747,6 +2674,109 @@ function initialize() {
line.setAttribute("y2", p2.y);
};
const btnDataUpdateTime = controlBox.querySelector("#datasource-updatetime");
btnDataUpdateTime.onclick = function() {
loadData(true); //强制更新数据
};
const btnClearData = controlBox.querySelector("#btn-clear-data");
btnClearData.onclick = function() {
const locationURL = new URL(location);
locationURL.searchParams.delete('d'); //删除数据
locationURL.searchParams.delete('l'); //删除语言
locationURL.searchParams.delete('_id'); //删除PADDB的ID
location = locationURL.toString();
};
const formPlayerNumber = controlBox.querySelector("#player-number");
formPlayerNumber.onchange = function(event) {
const formData = new FormData(this);
const newPlayerNumber = parseInt(formData.get("player-number"), 10);
if (newPlayerNumber) {
turnPage(newPlayerNumber);
}
}
formPlayerNumber.querySelectorAll("input[name=\"player-number\"]")[teamsCount-1].checked = true;
//在单人和多人之间转移数据
function turnPage(toPage, e = null) {
let pagename = null;
switch (toPage) {
case 1:
if (formation.teams[0][0].length < 6) {
//把第二支队伍的队长添加到最后方
formation.teams[0][0].push(formation.teams[1][0][0]);
formation.teams[0][1].push(formation.teams[1][1][0]);
}
//删掉第2支开始的队伍
formation.teams.splice(1);
pagename = "solo.html";
break;
case 2:
if (formation.teams.length < 2) { //从1人到2人
formation.teams[1] = [
[],
[]
];
//把右边的队长加到第二支队伍最后面
formation.teams[1][0].splice(0, 0, formation.teams[0][0].splice(5, 1)[0]);
formation.teams[1][1].splice(0, 0, formation.teams[0][1].splice(5, 1)[0]);
} else { //从3人到2人直接删除后面两个队伍
//删掉第3支开始的队伍
formation.teams.splice(2);
//删掉前面两支队伍的战友
formation.teams[0][0].splice(5);
formation.teams[0][1].splice(5);
formation.teams[1][0].splice(5);
formation.teams[1][1].splice(5);
}
formation.badge = 0;
pagename = "multi.html";
break;
case 3:
if (formation.teams.length < 2) { //从1人到3人
} else { //从2人到3人
formation.teams[0][0].push(formation.teams[1][0][0]);
formation.teams[0][1].push(formation.teams[1][1][0]);
formation.teams[1][0].push(formation.teams[0][0][0]);
formation.teams[1][1].push(formation.teams[0][1][0]);
}
formation.badge = 0;
pagename = "triple.html";
break;
}
const newURL = createNewUrl({ url: pagename, onlyReturnUrl: true });
if (e && e.ctrlKey) {
window.open(newURL);
} else {
location.href = newURL;
}
}
//轮换ABC队伍
const btnSwapTeam = controlBox.querySelector("#btn-swap-team");
btnSwapTeam.onclick = function() {
if (formation.teams.length > 1) {
formation.teams.push(formation.teams.splice(0, 1)[0]); //将队伍1移动到最后
createNewUrl();
refreshAll(formation);
}
}
//变身前进后退
const btnHenshinArr = [...controlBox.querySelectorAll(".btn-henshin")];
btnHenshinArr.forEach(btn=>btn.onclick = henshinStepButton);
function henshinStepButton(event) {
return henshinStep(parseInt(this.dataset.step,10));
}
//去除辅助
const btnRemoveAssist = controlBox.querySelector("#btn-remove-assist");
btnRemoveAssist.onclick = function() {
formation.removeAssist();
}
//初始化所有mask的关闭按钮
const masks = document.body.querySelectorAll(".mask");
masks.forEach(mask=>{
@ -2761,7 +2791,7 @@ function initialize() {
};
});
const qrCodeFrame = document.body.querySelector("#qr-code-frame");
const btnQrCode = controlBox.querySelector(`.btn-qrcode`);
const btnQrCode = controlBox.querySelector(`#btn-qrcode`);
btnQrCode.onclick = function(){
qrCodeFrame.show();
};
@ -3131,7 +3161,7 @@ function initialize() {
}
const playerDataFrame = document.body.querySelector("#player-data-frame");
const btnPlayerData = controlBox.querySelector(`.btn-player-data`);
const btnPlayerData = controlBox.querySelector(`#btn-player-data`);
btnPlayerData.onclick = function(){
playerDataFrame.show();
};
@ -3899,7 +3929,6 @@ function initialize() {
const li = document.createElement("li");
const radio = li.appendChild(document.createElement("input"));
radio.type="radio";
radio.className = "hide-radio";
radio.value = bgId;
radio.name = badgeChooseName;
radio.id = `${radio.name}-${bgId}`;

View File

@ -32311,11 +32311,11 @@ const cachesMap = new Map([
],
[
"index.html",
"85fbead60e925bd4ddbeff3c41dc7e4e"
"31547a3fb252a10d505813ccc41dff53"
],
[
"multi.html",
"ef8b77ed22257043aa2feb5011d50711"
"9b02c70775a94e796622c12af95040f9"
],
[
"script-custom_elements.js",
@ -32335,11 +32335,11 @@ const cachesMap = new Map([
],
[
"script.js",
"669ff567d056349838dd31918ba5d518"
"c7c5a6235bf493adc74b6ba2e07e7281"
],
[
"solo.html",
"c56f8538c50ca10224097ec96487a7ca"
"82c349f550027351f61f3c259476192d"
],
[
"style-monsterimages.css",
@ -32347,7 +32347,7 @@ const cachesMap = new Map([
],
[
"style.css",
"1a5c25f37b6f053d824f69a95ff2f0ac"
"bba2aa9b132683f673c4f1b98160060a"
],
[
"temp.js",
@ -32355,11 +32355,11 @@ const cachesMap = new Map([
],
[
"triple.html",
"ee62c5f5155957f3677e91cbe0cf9c42"
"3bc2fc342ee70881b6a7053eb6ca9a99"
],
[
"languages/en.css",
"303c429e4dbff852fa693ee3554d50c7"
"5f71a278d07e34177b4a69c7e466310d"
],
[
"languages/en.js",
@ -32367,7 +32367,7 @@ const cachesMap = new Map([
],
[
"languages/ja.css",
"cf65de21289e398c959063a2d08c833b"
"8c78b0e7b5ba4b336cbe2a8a3e2455e3"
],
[
"languages/ja.js",
@ -32375,7 +32375,7 @@ const cachesMap = new Map([
],
[
"languages/ko.css",
"10b25940cb5923fd63b39a9c02b4b957"
"28b0871e7c7166f2b0266fed3083c1bb"
],
[
"languages/ko.js",
@ -32387,7 +32387,7 @@ const cachesMap = new Map([
],
[
"languages/zh-hans.css",
"4c9116d3e9d22a171271346d8f79a2ae"
"dcb1c5708633e0889c9aee23725a32fd"
],
[
"languages/zh-hans.js",
@ -32395,7 +32395,7 @@ const cachesMap = new Map([
],
[
"languages/zh-hant.css",
"a7ce01454f8233168f34fa711d35f349"
"c041685f375be00e43a5d8b014ff2c70"
],
[
"languages/zh-hant.js",
@ -32485,6 +32485,10 @@ const cachesMap = new Map([
"images/icon-deep-dark.png",
"67c2cc69a6657fb7cb3d8e2d2bed9c11"
],
[
"images/icon-dungeon.png",
"bc7e880d1de2b6b6a3b8b1dd0a55f8fd"
],
[
"images/icon-evolved-skill-loop.png",
"104ac97dfd9a6558c7cd90cff068572c"

View File

@ -32,22 +32,31 @@ const teamsCount = 1;
<body class="solo">
<noscript>您的浏览器不支持 JavaScript<br/>Your browser does not support JavaScript!</noscript>
<div class="control-box">
<div>
<label for="languages"></label><select class="languages" id="languages"></select>
<label for="datasource"></label><select class="datasource" id="datasource"></select>
<button onclick="loadData(true);" id="datasource-updatetime" title="强制刷新数据"></button>
<a class="help-link" target="_blank" href="doc/index.html"></a>
<a class="feedback-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/issues"></a>
</div>
<div>
<button class="btn-clear-data" onclick="clearData();"></button>
<button class="btn-player-data"></button>
<button class="btn-solo-link" disabled></button><button class="btn-multi-link" onclick="turnPage(2,arguments[0]);"></button><button class="btn-triple-link" onclick="turnPage(3,arguments[0]);"></button>
</div>
<div>
<a class="down-capture display-none" target="_blank"></a>
<button class="btn-qrcode fa"></button>
<button id="draw-screenshot"><input type="checkbox" id="screenshot-transparent"><label for="screenshot-transparent"></label></button>
<div>
<label for="languages"></label><select id="languages"></select>
<label for="datasource"></label><select id="datasource"></select>
<button id="datasource-updatetime" title="强制刷新数据"></button>
<a id="help-link" target="_blank" href="doc/index.html"></a>
<a id="feedback-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/issues"></a>
</div>
<div>
<button id="btn-qrcode"></button>
<form id="player-number">
<ul class="horizontally-radio-list">
<li><input type="radio" name="player-number" value="1" id="player-number-1" /><label for="player-number-1"></label></li>
<li><input type="radio" name="player-number" value="2" id="player-number-2" /><label for="player-number-2"></label></li>
<li><input type="radio" name="player-number" value="3" id="player-number-3" /><label for="player-number-3"></label></li>
</ul>
</form>
<button id="btn-swap-team"></button>
<button id="btn-clear-data"></button>
<button id="btn-player-data"></button>
</div>
<div>
<button id="draw-screenshot"></button>
<input type="checkbox" id="screenshot-transparent"><label for="screenshot-transparent"></label>
<label for="default-level"></label><input id="default-level" type="number" min="1" max="120" placeholder="120"/>
<input type="checkbox" name="change-swap-to-copy" id="change-swap-to-copy"><label for="change-swap-to-copy"></label>
</div>
@ -58,7 +67,7 @@ const teamsCount = 1;
<div class="attrs">
<div class="attr" data-attr="0"></div><div class="attr" data-attr="1"></div><div class="attr" data-attr="2"></div><div class="attr" data-attr="3"></div>
</div>
<div class="plus"><div class="hp">999</div><div class="atk">999</div><div class="rcv">999</div></div>
<div class="plus"><div class="hp">999</div></div>
<div class="awoken-count-num" data-value="99"></div>
<div class="super-awoken"><div class="awoken-icon" data-awoken-icon="63"></div></div>
<div class="level" data-value="999" data-level-range="120"></div>
@ -86,9 +95,11 @@ const teamsCount = 1;
<input type="checkbox" class="switch-ipt" id="show-rich-text-tools"><label for="show-rich-text-tools"></label>
</details>
<div class="status"></div>
<div>
<span class="lbl-henshin-change"><button class="btn-henshin" data-step="-1" onclick="henshinStep(parseInt(this.dataset.step,10));"></button><button class="btn-henshin" data-step="+1" onclick="henshinStep(parseInt(this.dataset.step,10));"></button></span>
<span class="lbl-remove-assist"><button class="btn-remove-assist" onclick="formation.removeAssist();"></span>
<div class="formation-control">
<span id="lbl-henshin-change"></span>
<button class="btn-henshin" data-step="-1"></button>
<button class="btn-henshin" data-step="+1"></button>
<button id="btn-remove-assist"></button>
<button id="btn-set-dungeon-enchance"></button>
</div>
</div>
@ -129,7 +140,7 @@ const teamsCount = 1;
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce fa">
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
@ -1246,10 +1257,10 @@ const teamsCount = 1;
<div class="action-button-box">
<div class="read-text-box">
<input class="string-input" type="text"/>
<button class="read-string brown-button fa"><!--读字符串--></button>
<button class="read-string brown-button"><!--读字符串--></button>
</div>
<button class="read-qr-camera brown-button fa"><!--相机扫--></button>
<button class="read-qr-file brown-button fa"><!--读文件--></button>
<button class="read-qr-camera brown-button"><!--相机扫--></button>
<button class="read-qr-file brown-button"><!--读文件--></button>
<input type="file" accept="image/*" class="file-select display-none">
</div>
<div class="info">
@ -1269,7 +1280,7 @@ const teamsCount = 1;
</ul>
<input class="string-output" type="text" readonly/>
<div class="qr-box"><img class="qr-code-image" /></div>
<a download="" class="save-qr-img brown-button fa"><!--保存QR 图片--></a>
<a download="" class="save-qr-img brown-button"><!--保存QR 图片--></a>
</div>
<div class="paddb-team-edit">
<div class="user">
@ -1282,7 +1293,7 @@ const teamsCount = 1;
</div>
</div>
</div>
<a id="external-support" class="brown-button fa" href="doc/index.html#data-exchange-with-paddb"></a>
<a id="external-support" class="brown-button" href="doc/index.html#data-exchange-with-paddb"></a>
</div>
@ -1351,10 +1362,10 @@ const teamsCount = 1;
</dialog>
<div id="player-data-frame" class="mask display-none">
<div class="player-box-title fa"><!--玩家数据子--></div>
<div class="player-box-title"><!--玩家数据子--></div>
<div class="control-button-box">
<button class="mask-close brown-button fa"></button>
<button class="upload-data brown-button fa"></button>
<button class="mask-close brown-button"></button>
<button class="upload-data brown-button"></button>
<input type="file" class="file-select display-none" multiple/>
<a class="how-to-use" target="_blank" href="doc/export-player-data.html"></a>
<input type="checkbox" name="box-have" id="box-have"><label for="box-have"></label>
@ -1375,7 +1386,7 @@ const teamsCount = 1;
</div>
</td>
<td class="name"></td>
<td class="control"><button class="brown-button set-default fa"></button><button class="brown-button delete fa"></button></td>
<td class="control"><button class="brown-button set-default"></button><button class="brown-button delete"></button></td>
</tr>
<tr>
<td class="lvexp"><div class="progress-bar"><div class="bar"></div></div><div class="level"></div></td>
@ -1470,7 +1481,7 @@ const teamsCount = 1;
</tr>
<tr>
<td colspan="4">
<button class="brown-button open-show-box fa"></button>
<button class="brown-button open-show-box"></button>
</td>
</tr>
</tbody>

176
style.css
View File

@ -57,8 +57,8 @@ body{
margin: 0;
background-color: white;
}
.hide-radio {
display: none;
details>summary {
cursor: pointer;
}
details>summary:hover {
background-color: #00000044;
@ -66,51 +66,111 @@ details>summary:hover {
.control-box,
.formation-box
{
margin: 10px;
--margin: 10px;
}
.control-box {
margin: var(--margin) var(--margin) 0 var(--margin);
}
.formation-box {
margin: 0 var(--margin) var(--margin) var(--margin);
}
.control-box{margin-bottom: 0;}
.formation-box{margin-top: 0;}
.noscript {
color: red;
font-size: 2em;
}
.display-none{
.display-none {
display:none !important;
}
.disabled{
.disabled {
cursor: not-allowed;
pointer-events: none;
opacity: 0.5;
}
details>summary {
cursor: pointer;
}
/*控制框*/
.control-box :where(
label,
button,
a,
)::before {
font-family: var(--icon-font-family);
margin-right: 3px;
}
.help-link {
.control-box>div
{
margin-bottom: 2px;
}
label[for="languages"]::before{
content: "\f1ab";
}
label[for="languages"]::after{
content: "Lanuage:";
}
label[for="datasource"]::before{
content: "\f11b";
}
#datasource-updatetime::before{
content: "\f073";
}
#help-link {
cursor: help;
}
.help-link::before{
#help-link::before{
content: "\f05a";
}
.help-link::after{
#help-link::after{
content: "Help & Tips";
}
.feedback-link::before{
#feedback-link::before{
content: "\f4ad";
}
.feedback-link::after{
#feedback-link::after{
content: "Feedback";
}
.control-box .btn-qrcode::before {
#btn-clear-data::before{
content: "\f2ed";
}
#btn-player-data::before,
#player-data-frame .player-box-title::before
{
content: "\f2bd";
}
#player-number {
display: inline-flex;
}
#player-number input {
display: none;
}
#player-number .horizontally-radio-list label {
padding: 0 3px;
}
label[for="player-number-1"]::before{
content: "\f183";
}
label[for="player-number-2"]::before{
content: "\e068";
}
label[for="player-number-3"]::before{
content: "\e591";
}
#btn-swap-team::before{
content: "\f2f1";
}
.solo #btn-swap-team {
display: none;
}
#draw-screenshot::before{
content: "\f03e";
}
#btn-qrcode::before {
content: "\f029";
}
label[for="screenshot-transparent"] {
margin-right: 10px;
}
#rich-text-tools {
background-color: rgba(200,200,200,0.5);
@ -858,6 +918,9 @@ body:not(.show-team-total-info):not(.solo) .formation-box .team-bigbox
grid-gap: 15px;
margin: 10px;
}
#badge-choose .team-badges input {
display: none;
}
button.badge {
border: none;
background-color: unset;
@ -1877,6 +1940,7 @@ label[for="search-string"]::before {
}
.horizontally-radio-list {
display: flex;
color: white;
}
.horizontally-radio-list>li {
border: 1px solid white;
@ -3187,26 +3251,6 @@ a.series-search::before {
.detail-box{
margin-top:5px;
}
/*控制框*/
.control-box{
margin-bottom: 10px;
}
.control-box>div
{
margin-bottom: 2px;
}
label[for="languages"]::before{
content: "\f1ab";
}
label[for="languages"]::after{
content: "Lanuage:";
}
label[for="datasource"]::before{
content: "\f11b";
}
#datasource-updatetime::before{
content: "\f073";
}
/*
.control-box .btn-show-mon-skill-cd::before{
@ -3222,9 +3266,17 @@ label[for="datasource"]::before{
content: "🕴️变身";
}
*/
.control-box .lbl-henshin-change button
{
font-size: 1.5em;
.formation-control {
display: flex;
align-items: center;
gap: 5px;
}
.formation-control button {
font-size: 1.25em;
}
#lbl-henshin-change::before{
content: "\e551";
font-family: var(--icon-font-family);
}
.control-box .btn-henshin::before{
content: "\f04e";
@ -3233,26 +3285,27 @@ label[for="datasource"]::before{
.control-box .btn-henshin[data-step^="-"]::before{
content: "\f04a";
}
#btn-set-dungeon-enchance {
font-size: 1.2em;
margin-left: 1em;
#btn-set-dungeon-enchance,
#btn-remove-assist {
display: inline-flex;
align-items: center;
}
#btn-set-dungeon-enchance::before
#btn-set-dungeon-enchance::before,
#btn-remove-assist::before
{
content: "\f6d9";
font-family: var(--icon-font-family);
}
.control-box .btn-remove-assist{
vertical-align: bottom;
}
.control-box .btn-remove-assist::before{
content: "";
background-image: url(images/icon-assist-bind.png);
background-repeat: no-repeat;
background-size: contain;
display: block;
width: 2em;
height: 2em;
background-position: center;
display: inline-block;
width: 1em;
height: 1em;
}
#btn-set-dungeon-enchance::before {
background-image: url(images/icon-dungeon.png);
}
#btn-remove-assist::before{
background-image: url(images/icon-assist-bind.png);
}
#interchange-line{
pointer-events: none;
@ -3742,7 +3795,11 @@ table .orb-icon
#default-level {
width: 50px;
}
#player-data-frame .brown-button::before,
#qr-code-frame .brown-button::before {
font-family: var(--icon-font-family);
margin-right: 3px;
}
#qr-code-frame .save-qr-img::before
{
content: "\f0c7";
@ -3872,6 +3929,9 @@ body.external-link-support #external-support{
text-align: center;
font-size: 2em;
}
#player-data-frame .player-box-title::before {
font-family: var(--icon-font-family);
}
#player-data-frame .upload-data
{
margin-left: 5px;
@ -3884,10 +3944,6 @@ body.external-link-support #external-support{
margin-left: 15px;
}
#player-data-frame .player-box-title::before
{
content: "\f2bd";
}
#player-data-frame .how-to-use::before
{
content: "📕";

View File

@ -42,23 +42,31 @@ const teamsCount = 3;
<body>
<noscript>您的浏览器不支持 JavaScript<br/>Your browser does not support JavaScript!</noscript>
<div class="control-box">
<div>
<label for="languages"></label><select class="languages" id="languages"></select>
<label for="datasource"></label><select class="datasource" id="datasource"></select>
<button onclick="loadData(true);" id="datasource-updatetime" title="强制刷新数据"></button>
<a class="help-link" target="_blank" href="doc/index.html"></a>
<a class="feedback-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/issues"></a>
</div>
<div>
<button class="btn-clear-data" onclick="clearData();"></button>
<button class="btn-player-data"></button>
<button class="btn-solo-link" onclick="turnPage(1,arguments[0]);"></button><button class="btn-multi-link" onclick="turnPage(2,arguments[0]);"></button><button class="btn-triple-link" disabled></button>
<button class="btn-swap-ABC-team" onclick="swapABCteam();"></button>
</div>
<div>
<a class="down-capture display-none" target="_blank"></a>
<button class="btn-qrcode fa"></button>
<button id="draw-screenshot"><input type="checkbox" id="screenshot-transparent"><label for="screenshot-transparent"></label></button>
<div>
<label for="languages"></label><select id="languages"></select>
<label for="datasource"></label><select id="datasource"></select>
<button id="datasource-updatetime" title="强制刷新数据"></button>
<a id="help-link" target="_blank" href="doc/index.html"></a>
<a id="feedback-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/issues"></a>
</div>
<div>
<button id="btn-qrcode"></button>
<form id="player-number">
<ul class="horizontally-radio-list">
<li><input type="radio" name="player-number" value="1" id="player-number-1" /><label for="player-number-1"></label></li>
<li><input type="radio" name="player-number" value="2" id="player-number-2" /><label for="player-number-2"></label></li>
<li><input type="radio" name="player-number" value="3" id="player-number-3" /><label for="player-number-3"></label></li>
</ul>
</form>
<button id="btn-swap-team"></button>
<button id="btn-clear-data"></button>
<button id="btn-player-data"></button>
</div>
<div>
<button id="draw-screenshot"></button>
<input type="checkbox" id="screenshot-transparent"><label for="screenshot-transparent"></label>
<label for="default-level"></label><input id="default-level" type="number" min="1" max="120" placeholder="120"/>
<input type="checkbox" name="change-swap-to-copy" id="change-swap-to-copy"><label for="change-swap-to-copy"></label>
</div>
@ -69,7 +77,7 @@ const teamsCount = 3;
<div class="attrs">
<div class="attr" data-attr="0"></div><div class="attr" data-attr="1"></div><div class="attr" data-attr="2"></div><div class="attr" data-attr="3"></div>
</div>
<div class="plus"><div class="hp">999</div><div class="atk">999</div><div class="rcv">999</div></div>
<div class="plus"><div class="hp">999</div></div>
<div class="awoken-count-num" data-value="99"></div>
<div class="super-awoken"><div class="awoken-icon" data-awoken-icon="63"></div></div>
<div class="level" data-value="999" data-level-range="120"></div>
@ -97,9 +105,11 @@ const teamsCount = 3;
<input type="checkbox" class="switch-ipt" id="show-rich-text-tools"><label for="show-rich-text-tools"></label>
</details>
<div class="status"></div>
<div>
<span class="lbl-henshin-change"><button class="btn-henshin" data-step="-1" onclick="henshinStep(parseInt(this.dataset.step,10));"></button><button class="btn-henshin" data-step="+1" onclick="henshinStep(parseInt(this.dataset.step,10));"></button></span>
<span class="lbl-remove-assist"><button class="btn-remove-assist" onclick="formation.removeAssist();"></span>
<div class="formation-control">
<span id="lbl-henshin-change"></span>
<button class="btn-henshin" data-step="-1"></button>
<button class="btn-henshin" data-step="+1"></button>
<button id="btn-remove-assist"></button>
<button id="btn-set-dungeon-enchance"></button>
</div>
</div>
@ -140,7 +150,7 @@ const teamsCount = 3;
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce fa">
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
@ -607,7 +617,7 @@ const teamsCount = 3;
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce fa">
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
@ -1074,7 +1084,7 @@ const teamsCount = 3;
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce fa">
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
@ -1924,10 +1934,10 @@ const teamsCount = 3;
<ul class="special-filter-list">
<li>
<select class="special-filter"></select>
<button class="copy-filter"></button>
<button class="shift-up-filter"></button>
<button class="shift-down-filter"></button>
<button class="remove-filter"></button>
<button class="copy-filter brown-button"></button>
<button class="shift-up-filter brown-button"></button>
<button class="shift-down-filter brown-button"></button>
<button class="remove-filter brown-button"></button>
</li>
</ul>
</div>
@ -2170,10 +2180,10 @@ const teamsCount = 3;
</div>
</div>
<div class="button-box">
<button class="button-null"><!--留空格子--></button>
<button class="button-delay"><!--应对威吓--></button>
<button class="button-done"><!--确认修改--></button>
<button class="button-cancel"><!--取消修改--></button>
<button class="button-null brown-button"><!--留空格子--></button>
<button class="button-delay brown-button"><!--应对威吓--></button>
<button class="button-cancel brown-button"><!--取消修改--></button>
<button class="button-done brown-button"><!--确认修改--></button>
</div>
<template id="template-card-a">
@ -2192,10 +2202,10 @@ const teamsCount = 3;
<div class="action-button-box">
<div class="read-text-box">
<input class="string-input" type="text"/>
<button class="read-string brown-button fa"><!--读字符串--></button>
<button class="read-string brown-button"><!--读字符串--></button>
</div>
<button class="read-qr-camera brown-button fa"><!--相机扫--></button>
<button class="read-qr-file brown-button fa"><!--读文件--></button>
<button class="read-qr-camera brown-button"><!--相机扫--></button>
<button class="read-qr-file brown-button"><!--读文件--></button>
<input type="file" accept="image/*" class="file-select display-none">
</div>
<div class="info">
@ -2215,7 +2225,7 @@ const teamsCount = 3;
</ul>
<input class="string-output" type="text" readonly/>
<div class="qr-box"><img class="qr-code-image" /></div>
<a download="" class="save-qr-img brown-button fa"><!--保存QR 图片--></a>
<a download="" class="save-qr-img brown-button"><!--保存QR 图片--></a>
</div>
<div class="paddb-team-edit">
<div class="user">
@ -2228,7 +2238,7 @@ const teamsCount = 3;
</div>
</div>
</div>
<a id="external-support" class="brown-button fa" href="doc/index.html#data-exchange-with-paddb"></a>
<a id="external-support" class="brown-button" href="doc/index.html#data-exchange-with-paddb"></a>
</div>
@ -2297,10 +2307,10 @@ const teamsCount = 3;
</dialog>
<div id="player-data-frame" class="mask display-none">
<div class="player-box-title fa"><!--玩家数据子--></div>
<div class="player-box-title"><!--玩家数据子--></div>
<div class="control-button-box">
<button class="mask-close brown-button fa"></button>
<button class="upload-data brown-button fa"></button>
<button class="mask-close brown-button"></button>
<button class="upload-data brown-button"></button>
<input type="file" class="file-select display-none" multiple/>
<a class="how-to-use" target="_blank" href="doc/export-player-data.html"></a>
<input type="checkbox" name="box-have" id="box-have"><label for="box-have"></label>
@ -2321,7 +2331,7 @@ const teamsCount = 3;
</div>
</td>
<td class="name"></td>
<td class="control"><button class="brown-button set-default fa"></button><button class="brown-button delete fa"></button></td>
<td class="control"><button class="brown-button set-default"></button><button class="brown-button delete"></button></td>
</tr>
<tr>
<td class="lvexp"><div class="progress-bar"><div class="bar"></div></div><div class="level"></div></td>
@ -2416,7 +2426,7 @@ const teamsCount = 3;
</tr>
<tr>
<td colspan="4">
<button class="brown-button open-show-box fa"></button>
<button class="brown-button open-show-box"></button>
</td>
</tr>
</tbody>