feat(client): add authorized WireGuard device enrollment and desktop connection
This commit is contained in:
1 parent
d2f1f5040e
commit
6dd3c7dd45
25 files changed
+3274
-131
No files matched your search
@@ -17,3 +17,34 @@
|
||||
.power-display:focus-visible { outline: 3px solid #144db6; outline-offset: 4px; }
|
||||
.connection-guide { margin: -11px 0 20px; padding: 11px 13px; border: 1px solid #dae7ff; border-radius: 9px; background: #f3f7ff; color: #43618f; font-size: 12px; line-height: 1.6; }
|
||||
.connection-guide button { display: block; padding: 3px 0 0; background: none; border: 0; color: #306eee; font-weight: 600; }
|
||||
|
||||
/* ---- 登录页 ---- */
|
||||
.login-shell { align-items: center; justify-content: center; background: linear-gradient(160deg, #eef4ff, #f8faff 60%, #f0f6ff); }
|
||||
.login-card { width: 420px; max-width: calc(100vw - 48px); background: #fff; border: 1px solid #e8edf5; border-radius: 20px; box-shadow: 0 18px 48px rgba(29, 72, 137, .08); padding: 36px 38px 30px; }
|
||||
.login-card h1 { font-size: 24px; margin: 22px 0 6px; }
|
||||
.login-form { display: grid; gap: 4px; margin-top: 18px; }
|
||||
.login-form label { font-size: 11px; font-weight: 700; color: #5d6e85; margin: 10px 0 6px; }
|
||||
.login-submit { margin-top: 22px; height: 44px; border: 0; border-radius: 10px; background: #3476f5; color: #fff; font-size: 14px; font-weight: 700; }
|
||||
.login-submit:hover { background: #205ed9; }
|
||||
.login-submit:disabled { opacity: .6; cursor: wait; }
|
||||
|
||||
/* ---- 连接状态 ---- */
|
||||
.power-display.on { background: linear-gradient(145deg, #2fce88, #17a268); box-shadow: 0 16px 30px #17a26849, inset 0 1px 2px #ffffff66; }
|
||||
.power-display.busy { opacity: .75; cursor: wait; animation: pulse 1.4s ease-in-out infinite; }
|
||||
@keyframes pulse { 50% { transform: scale(.96); } }
|
||||
.preview-pill.online { border-color: #bdebd6; background: #ebf8f2; color: #168861; }
|
||||
.traffic-grid { display: flex; justify-content: center; gap: 18px; margin: -8px 0 18px; font-size: 11px; color: #63738a; }
|
||||
.node-switch { color: #3977e8; font-size: 11px; white-space: nowrap; }
|
||||
.node-selector { cursor: pointer; }
|
||||
.node-selector:hover { background: #f3f7ff; }
|
||||
|
||||
/* ---- 线路卡片 ---- */
|
||||
.line-card { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
|
||||
.line-info { flex: 1; min-width: 0; }
|
||||
.line-info h2 { display: flex; align-items: center; gap: 8px; }
|
||||
.line-current { font-size: 10px; font-style: normal; color: #168861; background: #ebf8f2; border-radius: 100px; padding: 3px 8px; }
|
||||
|
||||
/* ---- 设备列表 ---- */
|
||||
.device-platform { color: #93a1b4; font-weight: 400; }
|
||||
.revoke-button { padding: 7px 12px; font-size: 11px; color: #b34444; border-color: #f3d2d0; background: #fff7f6; }
|
||||
.revoke-button:hover { background: #ffe9e7; }
|
||||
Reference in new issue
Block a user