Center control header title and BitCamel subtitle.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-08-02 15:34:29 +08:00
parent a7aee8f425
commit 553435eb20
2 changed files with 74 additions and 13 deletions
+18 -12
View File
@@ -25,18 +25,24 @@ function Shell({ children }: { children: ReactNode }) {
return (
<div className="shell">
<header className="header">
<div className="brand"></div>
<nav className="nav">
<NavLink to="/monitor" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/stats" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/settings" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
</nav>
<div className="header-left">
<div className="brand"></div>
<nav className="nav">
<NavLink to="/monitor" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/stats" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/settings" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
</nav>
</div>
<div className="header-center">
<div className="header-title"></div>
<div className="header-subtitle"></div>
</div>
{!lanClient ? (
<div className="header-right">
<span className="meta">{user}</span>
+56 -1
View File
@@ -47,14 +47,25 @@ body {
}
.header {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
margin-bottom: 20px;
flex-wrap: wrap;
padding-bottom: 12px;
border-bottom: 1px solid var(--line);
box-shadow: 0 1px 0 rgba(0, 200, 255, 0.08);
min-height: 52px;
}
.header-left {
display: flex;
align-items: center;
gap: 20px;
z-index: 1;
min-width: 0;
}
.brand {
@@ -64,6 +75,36 @@ body {
color: var(--accent);
text-shadow: var(--glow);
text-transform: none;
white-space: nowrap;
}
.header-center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
text-align: center;
pointer-events: none;
z-index: 0;
max-width: min(42vw, 360px);
}
.header-title {
font-weight: 700;
letter-spacing: 0.12em;
font-size: 1.2rem;
line-height: 1.25;
color: var(--accent);
text-shadow: var(--glow);
white-space: nowrap;
}
.header-subtitle {
margin-top: 2px;
font-size: 0.72rem;
letter-spacing: 0.18em;
color: var(--muted);
white-space: nowrap;
}
.nav {
@@ -89,10 +130,24 @@ body {
}
.header-right {
margin-left: auto;
display: flex;
align-items: center;
gap: 10px;
z-index: 1;
margin-left: auto;
flex-shrink: 0;
}
@media (max-width: 900px) {
.header-center {
position: static;
transform: none;
order: 3;
width: 100%;
max-width: none;
margin-top: 4px;
pointer-events: auto;
}
}
.main h2 {