From 2e5c1ff28698507af9e984c60638a7331826f83c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AC=E6=98=8E?= <83812544+Ed1s0nZ@users.noreply.github.com> Date: Mon, 13 Jul 2026 19:54:50 +0800 Subject: [PATCH] Add files via upload --- web/static/css/style.css | 194 +++++++++++++++++++++++++++++++++++++-- web/templates/index.html | 4 +- 2 files changed, 188 insertions(+), 10 deletions(-) diff --git a/web/static/css/style.css b/web/static/css/style.css index 6967d430..0a66eab3 100644 --- a/web/static/css/style.css +++ b/web/static/css/style.css @@ -683,6 +683,38 @@ html[data-theme="dark"] .main-sidebar { opacity: 0.55; } +html[data-theme="dark"] .vulnerability-alert-switch-track { + background: #334155; + box-shadow: inset 0 0 0 1px #475569; +} + +html[data-theme="dark"] .vulnerability-alert-switch-track::after { + background: #cbd5e1; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.42); +} + +html[data-theme="dark"] .vulnerability-alert-switch:hover input:not(:checked):not(:disabled) + .vulnerability-alert-switch-track { + background: #3f4d63; +} + +html[data-theme="dark"] .vulnerability-alert-switch input:checked + .vulnerability-alert-switch-track { + background: var(--accent-color); + box-shadow: inset 0 0 0 1px rgba(147, 197, 253, 0.28); +} + +html[data-theme="dark"] .vulnerability-alert-switch input:checked + .vulnerability-alert-switch-track::after { + background: #f8fafc; +} + +html[data-theme="dark"] .vulnerability-alert-switch input:disabled + .vulnerability-alert-switch-track { + background: #253247; + box-shadow: inset 0 0 0 1px #334155; +} + +html[data-theme="dark"] .vulnerability-alert-switch input:disabled + .vulnerability-alert-switch-track::after { + background: #64748b; +} + @media (max-width: 760px) { .vulnerability-alert-header { align-items: flex-start; @@ -1610,6 +1642,36 @@ html[data-theme="dark"] .user-menu-dropdown { 0 6px 14px rgba(37, 99, 235, 0.18); } +html[data-theme="dark"] .new-chat-btn { + background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%); + border-color: rgba(96, 165, 250, 0.42); + box-shadow: + 0 5px 12px rgba(2, 6, 23, 0.28), + inset 0 1px 0 rgba(255, 255, 255, 0.06); +} + +html[data-theme="dark"] .new-chat-btn:hover { + background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%); + border-color: rgba(147, 197, 253, 0.58); + box-shadow: + 0 7px 14px rgba(2, 6, 23, 0.32), + inset 0 1px 0 rgba(255, 255, 255, 0.08); +} + +html[data-theme="dark"] .new-chat-btn:active { + background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%); + border-color: rgba(96, 165, 250, 0.36); + box-shadow: + 0 3px 8px rgba(2, 6, 23, 0.26), + inset 0 1px 0 rgba(255, 255, 255, 0.04); +} + +html[data-theme="dark"] .new-chat-btn:focus-visible { + box-shadow: + 0 0 0 3px rgba(96, 165, 250, 0.24), + 0 5px 12px rgba(2, 6, 23, 0.28); +} + .new-chat-btn span { line-height: 1; } @@ -4250,8 +4312,8 @@ html[data-theme="dark"] .user-menu-dropdown { display: flex; align-items: center; justify-content: center; - gap: 6px; - padding: 10px 20px; + gap: 8px; + padding: 10px 19px; height: 40px; background: linear-gradient(135deg, var(--accent-color) 0%, #0052cc 100%); color: white; @@ -4259,8 +4321,12 @@ html[data-theme="dark"] .user-menu-dropdown { border-radius: 12px; cursor: pointer; font-size: 0.9375rem; - font-weight: 600; - transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + font-weight: 650; + transition: + background 0.18s ease, + border-color 0.18s ease, + box-shadow 0.18s ease, + transform 0.12s ease; white-space: nowrap; flex-shrink: 0; box-sizing: border-box; @@ -4287,14 +4353,14 @@ html[data-theme="dark"] .user-menu-dropdown { .chat-input-container .send-btn:hover { background: linear-gradient(135deg, #0052cc 0%, var(--accent-color) 100%); - transform: translateY(-2px) scale(1.02); + transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 102, 255, 0.35), 0 2px 6px rgba(0, 0, 0, 0.15); } .chat-input-container .send-btn:active { transform: translateY(0) scale(0.98); box-shadow: 0 2px 6px rgba(0, 102, 255, 0.25), 0 1px 3px rgba(0, 0, 0, 0.1); - transition: all 0.1s; + transition-duration: 0.08s; } .chat-input-container .send-btn:disabled { @@ -4303,9 +4369,58 @@ html[data-theme="dark"] .user-menu-dropdown { transform: none; } +html[data-theme="dark"] .chat-input-container .send-btn { + background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); + border: 1px solid rgba(96, 165, 250, 0.4); + box-shadow: + 0 4px 10px rgba(2, 6, 23, 0.3), + inset 0 1px 0 rgba(255, 255, 255, 0.06); +} + +html[data-theme="dark"] .chat-input-container .send-btn::before { + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent); +} + +html[data-theme="dark"] .chat-input-container .send-btn:hover { + background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); + border-color: rgba(147, 197, 253, 0.56); + box-shadow: + 0 6px 14px rgba(2, 6, 23, 0.34), + inset 0 1px 0 rgba(255, 255, 255, 0.08); +} + +html[data-theme="dark"] .chat-input-container .send-btn:active { + background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%); + border-color: rgba(96, 165, 250, 0.34); + box-shadow: + 0 3px 8px rgba(2, 6, 23, 0.28), + inset 0 1px 0 rgba(255, 255, 255, 0.04); +} + +html[data-theme="dark"] .chat-input-container .send-btn:focus-visible { + outline: none; + box-shadow: + 0 0 0 3px rgba(96, 165, 250, 0.24), + 0 4px 10px rgba(2, 6, 23, 0.3); +} + +html[data-theme="dark"] .chat-input-container .send-btn:disabled { + background: #24324a; + border-color: rgba(148, 163, 184, 0.2); + color: #94a3b8; + box-shadow: none; + opacity: 1; +} + +html[data-theme="dark"] .chat-input-container .send-btn:disabled::before { + display: none; +} + .chat-input-container .send-btn svg { flex-shrink: 0; - transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + position: relative; + z-index: 1; + transition: transform 0.18s ease; } .chat-input-container .send-btn:hover svg { @@ -4313,7 +4428,7 @@ html[data-theme="dark"] .user-menu-dropdown { } .chat-input-container .send-btn:active svg { - transform: translateX(4px); + transform: translateX(3px); } .chat-input-container .send-btn span { @@ -4321,6 +4436,28 @@ html[data-theme="dark"] .user-menu-dropdown { z-index: 1; } +@media (prefers-reduced-motion: reduce) { + .chat-input-container .send-btn, + .chat-input-container .send-btn::before, + .chat-input-container .send-btn svg { + transition: none; + } + + .chat-input-container .send-btn::before { + display: none; + } + + .chat-input-container .send-btn:hover, + .chat-input-container .send-btn:active { + transform: none; + } + + .chat-input-container .send-btn:hover svg, + .chat-input-container .send-btn:active svg { + transform: none; + } +} + .mention-suggestions { position: absolute; bottom: calc(100% + 8px); @@ -4713,6 +4850,47 @@ html[data-theme="dark"] .user-menu-dropdown { box-shadow: 0 2px 10px rgba(0, 102, 255, 0.35); } +html[data-theme="dark"] .login-card .login-submit { + background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important; + border: 1px solid rgba(96, 165, 250, 0.4) !important; + box-shadow: + 0 5px 12px rgba(2, 6, 23, 0.32), + inset 0 1px 0 rgba(255, 255, 255, 0.06); +} + +html[data-theme="dark"] .login-card .login-submit:hover { + background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important; + border-color: rgba(147, 197, 253, 0.56) !important; + box-shadow: + 0 7px 16px rgba(2, 6, 23, 0.36), + inset 0 1px 0 rgba(255, 255, 255, 0.08); +} + +html[data-theme="dark"] .login-card .login-submit:active { + background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important; + border-color: rgba(96, 165, 250, 0.34) !important; + box-shadow: + 0 3px 8px rgba(2, 6, 23, 0.3), + inset 0 1px 0 rgba(255, 255, 255, 0.04); +} + +html[data-theme="dark"] .login-card .login-submit:focus-visible { + outline: none; + box-shadow: + 0 0 0 3px rgba(96, 165, 250, 0.24), + 0 5px 12px rgba(2, 6, 23, 0.32); +} + +html[data-theme="dark"] .login-card .login-submit:disabled { + background: #24324a !important; + border-color: rgba(148, 163, 184, 0.2) !important; + color: #94a3b8 !important; + box-shadow: none; + opacity: 1; + transform: none; + cursor: not-allowed; +} + .login-submit-arrow { transition: transform 0.2s ease; } diff --git a/web/templates/index.html b/web/templates/index.html index 796d94f6..ac8c2963 100644 --- a/web/templates/index.html +++ b/web/templates/index.html @@ -1269,8 +1269,8 @@