Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 54 additions & 2 deletions components/ts_webui/web/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ body {
.footer {
height: var(--footer-height);
line-height: var(--footer-height);
margin-top: -14px;
background: transparent;
border-top: none;
text-align: center;
Expand Down Expand Up @@ -1686,10 +1687,18 @@ button.btn-gray:hover,
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24px;
margin-bottom: 12px; /* 与 Device Panel 等 section-header 一致 */
flex-wrap: wrap;
gap: 12px;
}
/* 系统页 LED 区块:上下间距相等,使标题+按钮在灰色顶线与蓝色内容线间垂直居中 */
.section .led-page-header {
margin-top: -12px; /* 24px padding → 12px,与 margin-bottom 一致 */
}
/* 独立 LED 页:main 有 20px padding,同样实现上下对称 */
.page-led .led-page-header {
margin-top: -8px; /* 20px → 12px,与 margin-bottom 一致 */
}

.led-page-header h1 {
margin: 0;
Expand Down Expand Up @@ -5564,6 +5573,18 @@ button.btn-gray:hover,
font-size: 0.85em;
}

/* 操作列图标按钮:统一为正方形,避免下载/删除按钮比前两个宽 */
.page-automation .data-table td .btn.btn-sm.btn-icon-square,
.page-automation .data-table td .btn.btn-sm.btn-danger.btn-icon-square {
width: 32px;
min-width: 32px;
height: 32px;
padding: 0;
display: inline-flex;
align-items: center;
justify-content: center;
}

/* 状态徽章 */
.status-badge {
display: inline-block;
Expand Down Expand Up @@ -5774,7 +5795,7 @@ button.btn-gray:hover,
#add-rule-modal .form-row.three-col {
display: flex;
flex-wrap: nowrap;
align-items: flex-start;
align-items: center;
gap: 12px;
}

Expand All @@ -5784,13 +5805,32 @@ button.btn-gray:hover,
min-width: 0;
}

#add-rule-modal .form-row.three-col .form-group-logic select.input,
#add-rule-modal .form-row.three-col .form-group input[type="number"] {
height: 38px;
min-height: 38px;
box-sizing: border-box;
}

#add-rule-modal .form-row.three-col .form-group:nth-of-type(2) {
flex: 0 0 140px;
min-width: 0;
}

#add-rule-modal .form-row.three-col .checkbox-label {
flex: 0 0 auto;
margin-left: 16px;
margin-bottom: 0;
}

/* 冷却时间与条件逻辑样式统一:隐藏 number 的默认 spinner,与 select 下拉视觉一致 */
#add-rule-modal input[type="number"] {
-moz-appearance: textfield;
}
#add-rule-modal input[type="number"]::-webkit-outer-spin-button,
#add-rule-modal input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}

/* 条件行 */
Expand Down Expand Up @@ -7238,6 +7278,18 @@ button.btn-gray:hover,
margin-bottom: 20px;
}

/* 系统页:Resource Monitor / Device Panel / Fan Control / LED 卡片间距统一为 20px */
.page-system .panel-row {
margin-top: 20px;
margin-bottom: 20px;
}
.page-system .panel-row .section {
margin-top: 0; /* 由 panel-row margin-top 提供与上方卡片的间距 */
}
.page-system .panel-row + .section {
margin-top: 20px; /* LED 与 panel-row 的间距,覆盖 .section 默认 16px */
}

@media (max-width: 1200px) {
.panel-row {
grid-template-columns: 1fr;
Expand Down
1 change: 1 addition & 0 deletions components/ts_webui/web/fonts/remixicon.css
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
.ri-bar-chart-line:before { content: "\ea9e"; }
.ri-search-line:before { content: "\f0d1"; }
.ri-stop-line:before { content: "\f1a1"; }
.ri-stop-fill:before { content: "\f1a0"; }
.ri-play-line:before { content: "\f00b"; }
.ri-settings-line:before { content: "\f0ee"; }
.ri-settings-3-line:before { content: "\f0e6"; }
Expand Down
6 changes: 4 additions & 2 deletions components/ts_webui/web/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
<!-- 动态页面内容由 SPA 路由器加载 -->
<div class="loading">
<i class="ri-refresh-line loading-icon"></i>
<p>Loading</p>
<p data-i18n="common.loading">Loading</p>
</div>
</div>
</main>
Expand All @@ -114,7 +114,7 @@ <h2><i class="ri-door-open-line"></i> <span data-i18n="login.welcome">登录 Tia
<div class="form-group">
<label for="password" data-i18n="login.password">密码</label>
<input type="password" id="password" name="password" class="input" required
data-i18n-placeholder="login.password" placeholder="请输入密码" autocomplete="current-password">
data-i18n-placeholder="login.passwordPlaceholder" placeholder="请输入密码" autocomplete="current-password">
</div>
<div id="login-error" class="form-error hidden"></div>
</div>
Expand Down Expand Up @@ -351,6 +351,8 @@ <h2><span data-i18n="system.shutdownSettings">电压保护设置</span></h2>
(function loadInitialLang() {
i18n.init();
var cur = i18n.getLanguage();
var nameEl = document.getElementById('lang-name');
if (nameEl) nameEl.textContent = cur === 'zh-CN' ? '\u4e2d\u6587' : 'English';
var s = document.createElement('script');
s.src = '/js/lang/' + cur + '.js';
s.onload = function() {
Expand Down
Loading