Add files via upload

This commit is contained in:
公明
2026-03-23 23:39:32 +08:00
committed by GitHub
parent a45b3bc8f6
commit 0076aaed47
5 changed files with 545 additions and 47 deletions
+215 -7
View File
@@ -8600,6 +8600,18 @@ header {
flex-shrink: 0;
}
.webshell-sidebar-tools {
padding: 10px 14px;
border-bottom: 1px solid var(--border-color);
background: rgba(255, 255, 255, 0.45);
}
.webshell-sidebar-tools .btn-ghost {
width: 100%;
border: 1px solid var(--border-color);
background: #fff;
}
.webshell-conn-search-input {
width: 100%;
padding: 8px 12px;
@@ -8680,6 +8692,41 @@ header {
white-space: nowrap;
}
.webshell-item-remark-row {
display: flex;
align-items: center;
gap: 8px;
}
.webshell-probe-badge {
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
font-size: 0.72rem;
padding: 2px 8px;
border: 1px solid transparent;
flex-shrink: 0;
}
.webshell-probe-badge.probing {
color: #a16207;
background: #fef3c7;
border-color: #fde68a;
}
.webshell-probe-badge.ok {
color: #166534;
background: #dcfce7;
border-color: #86efac;
}
.webshell-probe-badge.fail {
color: #b91c1c;
background: #fee2e2;
border-color: #fca5a5;
}
.webshell-item-url {
font-size: 0.78rem;
color: var(--text-secondary);
@@ -8693,6 +8740,8 @@ header {
.webshell-item-actions {
margin-top: 6px;
flex-shrink: 0;
display: flex;
justify-content: flex-end;
}
.webshell-delete-btn {
@@ -8721,7 +8770,7 @@ header {
.webshell-workspace {
flex: 1;
overflow: auto;
padding: 20px 24px;
padding: 16px 18px;
display: flex;
flex-direction: column;
min-height: 0;
@@ -8895,10 +8944,10 @@ header {
.webshell-file-toolbar {
display: flex;
align-items: center;
gap: 14px;
margin-bottom: 16px;
gap: 10px;
margin-bottom: 12px;
flex-wrap: wrap;
padding: 14px 16px;
padding: 12px 14px;
background: var(--bg-secondary);
border-radius: 10px;
border: 1px solid var(--border-color);
@@ -8907,6 +8956,15 @@ header {
box-sizing: border-box;
}
.webshell-file-toolbar-main {
display: flex;
flex: 1 1 720px;
min-width: 0;
align-items: center;
gap: 10px;
flex-wrap: wrap;
}
.webshell-file-toolbar label {
display: inline-flex;
align-items: center;
@@ -8931,6 +8989,10 @@ header {
border: 1px solid var(--border-color);
}
.webshell-file-path-field {
flex: 1 1 260px !important;
}
.webshell-file-toolbar .btn-secondary,
.webshell-file-toolbar .btn-ghost {
padding: 8px 16px;
@@ -8940,6 +9002,13 @@ header {
flex-shrink: 0;
}
.webshell-file-toolbar-actions {
display: flex;
align-items: center;
gap: 10px;
margin-left: auto;
}
.webshell-file-breadcrumb {
width: 100%;
flex: 0 0 100%;
@@ -8959,8 +9028,8 @@ header {
}
.webshell-file-filter {
min-width: 0 !important;
flex: 0 1 140px;
max-width: 200px;
flex: 1 1 180px;
max-width: 260px;
}
.webshell-col-check {
width: 36px;
@@ -8968,11 +9037,49 @@ header {
vertical-align: middle;
}
.webshell-col-size {
width: 80px;
width: 90px;
color: var(--text-secondary);
font-size: 0.85rem;
}
.webshell-col-mtime {
width: 170px;
color: var(--text-secondary);
font-size: 0.82rem;
white-space: nowrap;
}
.webshell-col-owner,
.webshell-col-group {
width: 110px;
color: var(--text-secondary);
font-size: 0.82rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.webshell-col-perms {
width: 150px;
font-family: ui-monospace, monospace;
font-size: 0.82rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: var(--text-secondary);
}
.webshell-col-type {
width: 72px;
color: var(--text-secondary);
font-size: 0.82rem;
text-transform: lowercase;
}
.webshell-col-actions {
width: 90px;
}
.webshell-file-list {
flex: 1;
min-height: 0;
@@ -8989,6 +9096,7 @@ header {
.webshell-file-table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
font-size: 0.9rem;
}
@@ -9011,6 +9119,19 @@ header {
transition: background 0.15s ease;
}
.webshell-file-empty-state {
padding: 28px 16px;
text-align: center;
color: var(--text-muted);
font-size: 0.92rem;
background: var(--bg-primary);
}
.webshell-file-table td:last-child {
white-space: nowrap;
width: auto;
}
.webshell-file-table tbody tr:hover {
background: var(--bg-secondary);
}
@@ -9056,6 +9177,93 @@ header {
background: rgba(220, 53, 69, 0.08);
}
/* WebShell 行内“操作”下拉菜单(替代一堆按钮) */
.webshell-conn-actions,
.webshell-row-actions {
display: inline-block;
position: relative;
}
.webshell-conn-actions summary,
.webshell-row-actions summary {
list-style: none;
cursor: pointer;
user-select: none;
}
.webshell-conn-actions summary::-webkit-details-marker,
.webshell-row-actions summary::-webkit-details-marker {
display: none;
}
.webshell-row-actions-menu {
display: none;
position: absolute;
right: 0;
top: calc(100% + 6px);
z-index: 20;
background: var(--bg-secondary);
border: 1px solid var(--border-color);
border-radius: 10px;
padding: 6px;
box-shadow: var(--shadow-md);
min-width: 180px;
gap: 6px;
flex-direction: column;
}
.webshell-toolbar-actions {
position: relative;
}
.webshell-toolbar-actions .webshell-row-actions-menu {
min-width: 220px;
}
.webshell-conn-actions[open] .webshell-row-actions-menu,
.webshell-row-actions[open] .webshell-row-actions-menu,
.webshell-toolbar-actions[open] .webshell-row-actions-menu {
display: flex;
}
.webshell-row-actions-menu .btn-ghost {
width: 100%;
display: flex;
align-items: center;
justify-content: flex-start;
margin: 0;
padding: 8px 12px;
border-radius: 8px;
border: 1px solid transparent;
font-size: 0.86rem;
white-space: nowrap;
}
.webshell-row-actions-menu .btn-ghost:hover {
background: rgba(0, 102, 255, 0.08);
border-color: rgba(0, 102, 255, 0.22);
}
.webshell-row-actions-menu .webshell-file-del:hover {
background: rgba(220, 53, 69, 0.08);
border-color: rgba(220, 53, 69, 0.25);
}
.webshell-conn-actions-btn,
.webshell-row-actions-btn,
.webshell-toolbar-actions-btn {
min-width: 72px;
text-align: center;
border: 1px solid var(--border-color);
background: #fff;
}
.webshell-conn-actions-btn:hover,
.webshell-row-actions-btn:hover,
.webshell-toolbar-actions-btn:hover {
background: var(--bg-secondary);
}
.webshell-loading {
padding: 24px 20px;
color: var(--text-muted);