UI: centered nav title, settings tabs, running status, manual buttons.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-24 17:17:44 +08:00
parent 8ea05e7064
commit b6d9877538
7 changed files with 236 additions and 145 deletions
+32 -27
View File
@@ -11,33 +11,38 @@ function Shell({ children }: { children: ReactNode }) {
const user = getUsername();
return (
<div className="app-shell">
<nav className="topnav">
<div className="brand">eth_hedge_sim</div>
<NavLink to="/plan" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/trades" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/stats" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/settings" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<div className="spacer" />
<span className="meta mono">{user}</span>
<button
className="btn ghost"
type="button"
onClick={() => {
clearSession();
window.location.href = "/login";
}}
>
退
</button>
</nav>
<header className="topnav">
<div className="topnav-side left">
<div className="brand">OKX </div>
</div>
<nav className="topnav-center">
<NavLink to="/plan" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/trades" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/stats" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
<NavLink to="/settings" className={({ isActive }) => (isActive ? "active" : "")}>
</NavLink>
</nav>
<div className="topnav-side right">
<span className="meta mono">{user}</span>
<button
className="btn ghost"
type="button"
onClick={() => {
clearSession();
window.location.href = "/login";
}}
>
退
</button>
</div>
</header>
<main className="page">{children}</main>
</div>
);