Upload 3 files
Browse files- static/app.js +1 -2
- static/index.html +2 -2
- static/style.css +18 -0
static/app.js
CHANGED
|
@@ -194,9 +194,8 @@ var lastSelectedIndex = -1;
|
|
| 194 |
function updateSelectionUI() {
|
| 195 |
if (!DOM.multiSelectToggle || !DOM.multiActionBar) return;
|
| 196 |
var count = Object.keys(selectedIndices).length;
|
| 197 |
-
DOM.multiSelectedCount.textContent = count > 0 ? "已选 " + count + "
|
| 198 |
DOM.multiActionBar.style.display = DOM.multiSelectToggle.checked ? "" : "none";
|
| 199 |
-
if (DOM.multiSelectAll) DOM.multiSelectAll.style.display = DOM.multiSelectToggle.checked ? "" : "none";
|
| 200 |
if (DOM.multiCopyLinks) DOM.multiCopyLinks.textContent = STATE.isMobile ? "复制" : "复制链接";
|
| 201 |
if (DOM.multiDeselect) DOM.multiDeselect.textContent = STATE.isMobile ? "取消" : "取消选择";
|
| 202 |
if (DOM.multiSelectToggle.checked) {
|
|
|
|
| 194 |
function updateSelectionUI() {
|
| 195 |
if (!DOM.multiSelectToggle || !DOM.multiActionBar) return;
|
| 196 |
var count = Object.keys(selectedIndices).length;
|
| 197 |
+
DOM.multiSelectedCount.textContent = count > 0 ? (STATE.isMobile ? ("已选" + count) : ("已选" + count + "项")) : "";
|
| 198 |
DOM.multiActionBar.style.display = DOM.multiSelectToggle.checked ? "" : "none";
|
|
|
|
| 199 |
if (DOM.multiCopyLinks) DOM.multiCopyLinks.textContent = STATE.isMobile ? "复制" : "复制链接";
|
| 200 |
if (DOM.multiDeselect) DOM.multiDeselect.textContent = STATE.isMobile ? "取消" : "取消选择";
|
| 201 |
if (DOM.multiSelectToggle.checked) {
|
static/index.html
CHANGED
|
@@ -112,7 +112,6 @@
|
|
| 112 |
<input type="checkbox" id="multi-select-toggle">
|
| 113 |
<span>多选</span>
|
| 114 |
</label>
|
| 115 |
-
<button id="multi-select-all" class="text-btn" style="display:none">全选</button>
|
| 116 |
<span id="did-you-mean" class="did-you-mean"></span>
|
| 117 |
</div>
|
| 118 |
<div class="status-right">
|
|
@@ -129,8 +128,9 @@
|
|
| 129 |
</div>
|
| 130 |
|
| 131 |
<div id="multi-action-bar" class="multi-action-bar" style="display:none">
|
| 132 |
-
<button id="multi-
|
| 133 |
<button id="multi-deselect" class="multi-action-btn">取消选择</button>
|
|
|
|
| 134 |
<button id="multi-batch-download" class="multi-action-btn primary">批量下载</button>
|
| 135 |
<button id="multi-zip-download" class="multi-action-btn primary">合并下载</button>
|
| 136 |
<span id="multi-selected-count" class="multi-selected-count"></span>
|
|
|
|
| 112 |
<input type="checkbox" id="multi-select-toggle">
|
| 113 |
<span>多选</span>
|
| 114 |
</label>
|
|
|
|
| 115 |
<span id="did-you-mean" class="did-you-mean"></span>
|
| 116 |
</div>
|
| 117 |
<div class="status-right">
|
|
|
|
| 128 |
</div>
|
| 129 |
|
| 130 |
<div id="multi-action-bar" class="multi-action-bar" style="display:none">
|
| 131 |
+
<button id="multi-select-all" class="multi-action-btn">全选</button>
|
| 132 |
<button id="multi-deselect" class="multi-action-btn">取消选择</button>
|
| 133 |
+
<button id="multi-copy-links" class="multi-action-btn">复制链接</button>
|
| 134 |
<button id="multi-batch-download" class="multi-action-btn primary">批量下载</button>
|
| 135 |
<button id="multi-zip-download" class="multi-action-btn primary">合并下载</button>
|
| 136 |
<span id="multi-selected-count" class="multi-selected-count"></span>
|
static/style.css
CHANGED
|
@@ -1540,6 +1540,7 @@ body.theme-transitioning *::after {
|
|
| 1540 |
background: var(--surface-variant);
|
| 1541 |
border-bottom: 1px solid var(--outline-variant);
|
| 1542 |
box-sizing: border-box;
|
|
|
|
| 1543 |
}
|
| 1544 |
.multi-action-btn {
|
| 1545 |
padding: 4px 12px;
|
|
@@ -1560,6 +1561,23 @@ body.theme-transitioning *::after {
|
|
| 1560 |
margin-left: auto;
|
| 1561 |
font-size: 12px;
|
| 1562 |
color: var(--on-surface-variant);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1563 |
}
|
| 1564 |
|
| 1565 |
.result-checkbox {
|
|
|
|
| 1540 |
background: var(--surface-variant);
|
| 1541 |
border-bottom: 1px solid var(--outline-variant);
|
| 1542 |
box-sizing: border-box;
|
| 1543 |
+
flex-wrap: nowrap;
|
| 1544 |
}
|
| 1545 |
.multi-action-btn {
|
| 1546 |
padding: 4px 12px;
|
|
|
|
| 1561 |
margin-left: auto;
|
| 1562 |
font-size: 12px;
|
| 1563 |
color: var(--on-surface-variant);
|
| 1564 |
+
white-space: nowrap;
|
| 1565 |
+
flex-shrink: 0;
|
| 1566 |
+
}
|
| 1567 |
+
|
| 1568 |
+
body.mobile .multi-action-bar {
|
| 1569 |
+
overflow-x: auto;
|
| 1570 |
+
overflow-y: hidden;
|
| 1571 |
+
-webkit-overflow-scrolling: touch;
|
| 1572 |
+
scrollbar-width: none;
|
| 1573 |
+
}
|
| 1574 |
+
|
| 1575 |
+
body.mobile .multi-action-bar::-webkit-scrollbar {
|
| 1576 |
+
display: none;
|
| 1577 |
+
}
|
| 1578 |
+
|
| 1579 |
+
body.mobile .multi-action-btn {
|
| 1580 |
+
flex-shrink: 0;
|
| 1581 |
}
|
| 1582 |
|
| 1583 |
.result-checkbox {
|