feat(web): acrylic theme, node flags and icons, build info

Acrylic cards and topbar over a blurred background, country flags, ISP and
OS icons, per-node version tags, a build info footer and an admin versions
tab. Overview cards drop the sparkline and widen the hover area.
This commit is contained in:
justme committed 2026-10-06 21:22:04 +08:00
1 parent 1e5c660d05
commit 83f54978d2
29 files changed
+1310 -143

No files matched your search

+92
View File
@@ -915,3 +915,95 @@ pre.code {
.src-status.bad .st {
color: var(--app-bad);
}
/* ── 节点的国旗、运营商图标、系统和架构 ── */
.node-tag {
display: inline-flex;
align-items: center;
gap: 5px;
min-width: 0;
vertical-align: middle;
}
.node-tag .flag {
flex: none;
width: 18px;
height: 13.5px;
border-radius: 2px;
object-fit: cover;
box-shadow: 0 0 0 1px var(--app-outline-soft);
}
.node-tag .flag.ph {
display: inline-block;
background: var(--app-card-inset);
}
.node-tag .isp {
flex: none;
width: 15px;
height: 15px;
}
/* 三大运营商的标志:留出一点空,比例保持 */
.node-tag .isp.logo {
width: 17px;
height: 17px;
object-fit: contain;
}
.node-tag .isp rect {
fill: var(--app-ink-faint);
}
.node-tag .isp text {
fill: var(--isp-ink);
font-size: 10px;
font-weight: 700;
}
.node-tag .isp-mobile rect {
fill: var(--isp-mobile);
}
.node-tag .isp-telecom rect {
fill: var(--isp-telecom);
}
.node-tag .isp-unicom rect {
fill: var(--isp-unicom);
}
.node-tag .isp-broadnet rect {
fill: var(--isp-broadnet);
}
.node-tag .isp-name,
.node-tag .plat {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 11px;
color: var(--app-ink-faint);
}
/* 系统的小图标:有品牌色的用品牌色(和文字色混一点,亮暗两个主题里都看得清),没有的跟文字走 */
.os-icon {
flex: none;
width: 14px;
height: 14px;
}
.os-icon path.brand {
fill: color-mix(in srgb, var(--os-c) 72%, var(--app-ink));
}
.os-icon path.plain {
fill: currentColor;
}
.node-tag .plat {
display: inline-flex;
align-items: center;
gap: 4px;
}
+7
View File
@@ -3,6 +3,13 @@
* 颜色只在这个文件里出现;其他样式一律引用令牌(stylelint 会拦住 hex / rgb / 具名色)。
*/
:root {
/* 运营商小图标的底色(自己画的简化图标,不是官方 Logo) */
--isp-mobile: #1c9be0;
--isp-telecom: #1459a8;
--isp-unicom: #d8261f;
--isp-broadnet: #de6a1b;
--isp-ink: #ffffff;
color-scheme: light;
--app-bg: #f4f2ed;