Files
NexusGate/public/index.html
T

70 lines
4.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="zh-CN" data-theme="light">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="color-scheme" content="light">
<meta name="theme-color" content="#f5f7fb">
<title>NexusGate · 枢门控制台</title>
<link rel="stylesheet" href="/styles.css?v=0.3.0">
</head>
<body>
<div id="login" class="login-shell hidden">
<section class="login-main">
<button class="theme-button login-theme" type="button" data-theme-toggle aria-label="切换主题">浅色</button>
<div class="login-card">
<div class="brand login-brand"><span class="brand-mark">N</span><span><b>NexusGate</b><small>枢门控制台</small></span></div>
<div class="login-copy">
<h1>欢迎回来</h1>
</div>
<form id="login-form" class="stack login-form">
<label>登录账号<input name="username" autocomplete="username" placeholder="请输入账号" required></label>
<label>登录密码<input name="password" type="password" autocomplete="current-password" required></label>
<button class="primary full large" type="submit">登录控制台</button>
</form>
<p id="login-error" class="form-error"></p>
</div>
</section>
</div>
<div id="app" class="app-shell hidden">
<aside class="sidebar" id="sidebar">
<div class="brand sidebar-brand"><span class="brand-mark small">N</span><span><b>NexusGate</b><small>枢门控制台</small></span></div>
<p class="nav-caption">工作台</p>
<nav id="nav">
<button data-page="overview" class="active"><span class="nav-icon">▦</span><span class="nav-label">概览</span></button>
<p class="nav-caption nav-group">资源管理</p>
<button data-page="servers"><span class="nav-icon">◫</span><span class="nav-label">服务器</span></button>
<button data-page="customers"><span class="nav-icon">◎</span><span class="nav-label">客户与订阅</span></button>
<button data-page="chains"><span class="nav-icon">⇄</span><span class="nav-label">转发与节点</span></button>
<button data-page="deployments"><span class="nav-icon">◇</span><span class="nav-label">部署与链接</span></button>
<button data-page="commands"><span class="nav-icon">⌘</span><span class="nav-label">安装与命令</span></button>
<p class="nav-caption nav-group">安全与系统</p>
<button data-page="operations"><span class="nav-icon">⚙</span><span class="nav-label">设置与运维</span></button>
</nav>
<div class="sidebar-foot"><div><span class="live-dot"></span><span id="connection-label">控制面正常</span></div><button id="logout" class="icon-button" title="退出登录">↗</button></div>
</aside>
<main class="main-shell">
<header class="topbar">
<button id="menu-toggle" class="icon-button mobile-only" type="button" aria-label="展开菜单">☰</button>
<div class="title-block"><p id="breadcrumb" class="eyebrow">NEXUSGATE / 运行总览</p><h1 id="page-title">运行总览</h1></div>
<div class="top-actions"><button id="refresh" class="ghost" type="button">刷新数据</button><button class="theme-button" type="button" data-theme-toggle aria-label="切换主题">浅色</button><span id="user-chip" class="user-chip"></span></div>
</header>
<div id="content" class="content"></div>
</main>
<button id="sidebar-scrim" class="sidebar-scrim" type="button" aria-label="关闭菜单"></button>
</div>
<dialog id="modal">
<section class="dialog-shell">
<header><div><p id="modal-kicker" class="eyebrow"></p><h2 id="modal-title"></h2></div><button type="button" data-close class="icon-button" aria-label="关闭">×</button></header>
<div id="modal-body"></div>
</section>
</dialog>
<div id="toasts" aria-live="polite"></div>
<script src="/vendor/qrcode.js?v=0.4.0" defer></script>
<script src="/app.js?v=0.4.0" defer></script>
</body>
</html>