From e38a32e04e4e65d7d8f6cb2d1a9b76d005f2cc8b Mon Sep 17 00:00:00 2001 From: qyyfw Date: Tue, 7 Jul 2026 22:33:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20light=20theme,=20frontend=20link,=20nav?= =?UTF-8?q?=20fix,=20rename=20to=20=E4=B8=83=E8=99=8EAI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/index.html | 2 +- .../src/components/layout/AdminLayout.css | 104 +++--- .../src/components/layout/AdminLayout.tsx | 6 +- .../src/components/layout/FrontLayout.css | 82 +++-- .../src/components/layout/FrontLayout.tsx | 45 ++- frontend/src/pages/admin/SiteSettings.tsx | 4 +- .../src/pages/front/EvolutionDashboard.tsx | 6 +- frontend/src/pages/front/LandingPage.css | 46 +-- frontend/src/pages/front/LandingPage.tsx | 34 +- frontend/src/pages/front/LoginPage.css | 313 +++++++++--------- frontend/src/pages/front/LoginPage.tsx | 66 ++-- frontend/src/styles/global.css | 66 ++-- 12 files changed, 429 insertions(+), 345 deletions(-) diff --git a/frontend/index.html b/frontend/index.html index ef9bb6d..e4869ab 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -4,7 +4,7 @@ - Qihu-AIFlow - 智能自动化PaaS平台 + 七虎AI - 智能AI能力集成平台
diff --git a/frontend/src/components/layout/AdminLayout.css b/frontend/src/components/layout/AdminLayout.css index 3256590..6a568c1 100644 --- a/frontend/src/components/layout/AdminLayout.css +++ b/frontend/src/components/layout/AdminLayout.css @@ -11,8 +11,8 @@ display: flex; height: 100vh; overflow: hidden; - background: #0A0E1A; - color: #E8ECF4; + background: #F5F7FC; + color: #1A1F36; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', sans-serif; } @@ -20,8 +20,8 @@ .admin-sidebar { width: var(--admin-sidebar-width); min-width: var(--admin-sidebar-width); - background: linear-gradient(180deg, #0E1225 0%, #111627 100%); - border-right: 1px solid rgba(255, 255, 255, 0.06); + background: linear-gradient(180deg, #FFFFFF 0%, #FAFBFE 100%); + border-right: 1px solid rgba(0, 0, 0, 0.08); display: flex; flex-direction: column; transition: width 0.25s ease, min-width 0.25s ease; @@ -41,7 +41,7 @@ justify-content: space-between; padding: 16px 16px 16px 20px; height: 60px; - border-bottom: 1px solid rgba(255, 255, 255, 0.06); + border-bottom: 1px solid rgba(0, 0, 0, 0.08); flex-shrink: 0; } @@ -54,10 +54,10 @@ .admin-brand { font-size: 15px; font-weight: 700; - color: #E8ECF4; + color: #1A1F36; letter-spacing: -0.02em; white-space: nowrap; - background: linear-gradient(135deg, #C4B5FD, #A78BFA); + background: linear-gradient(135deg, #6C63FF, #A78BFA); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; @@ -72,7 +72,7 @@ border-radius: 6px; border: none; background: transparent; - color: #5A6480; + color: #8892B0; transition: all 0.15s ease; cursor: pointer; flex-shrink: 0; @@ -109,7 +109,7 @@ } .admin-nav::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, 0.08); + background: rgba(108, 99, 255, 0.10); border-radius: 2px; } @@ -192,7 +192,7 @@ } .admin-nav-item:hover { - background: rgba(255, 255, 255, 0.05); + background: rgba(108, 99, 255, 0.06); color: #CCD6F6; } @@ -257,7 +257,7 @@ /* Sidebar Footer */ .admin-sidebar-footer { padding: 8px; - border-top: 1px solid rgba(255, 255, 255, 0.06); + border-top: 1px solid rgba(0, 0, 0, 0.08); flex-shrink: 0; } @@ -277,7 +277,7 @@ justify-content: space-between; padding: 0 32px; height: 60px; - border-bottom: 1px solid rgba(255, 255, 255, 0.06); + border-bottom: 1px solid rgba(0, 0, 0, 0.08); background: rgba(10, 14, 26, 0.85); backdrop-filter: blur(12px); flex-shrink: 0; @@ -292,7 +292,7 @@ .admin-page-title { font-size: 17px; font-weight: 600; - color: #E8ECF4; + color: #1A1F36; margin: 0; white-space: nowrap; } @@ -306,7 +306,7 @@ } .breadcrumb-item { - color: #5A6480; + color: #8892B0; } .breadcrumb-item.current { @@ -343,7 +343,7 @@ } .admin-topbar-action:hover { - background: rgba(255, 255, 255, 0.05); + background: rgba(108, 99, 255, 0.06); color: #A78BFA; } @@ -355,7 +355,7 @@ padding: 2px 12px 2px 4px; border-radius: 20px; background: rgba(255, 255, 255, 0.04); - border: 1px solid rgba(255, 255, 255, 0.08); + border: 1px solid rgba(0, 0, 0, 0.10); font-size: 13px; color: #CCD6F6; } @@ -379,7 +379,7 @@ display: flex; flex-direction: column; overflow: hidden; - background: #0A0E1A; + background: #F5F7FC; } .admin-content { @@ -398,7 +398,7 @@ } .admin-content::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, 0.08); + background: rgba(108, 99, 255, 0.10); border-radius: 3px; } @@ -414,7 +414,7 @@ .admin-stat-card { background: linear-gradient(135deg, rgba(17, 22, 39, 0.8), rgba(17, 22, 39, 0.6)); - border: 1px solid rgba(255, 255, 255, 0.06); + border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 12px; padding: 20px; transition: all 0.2s ease; @@ -435,7 +435,7 @@ .admin-stat-card .stat-value { font-size: 28px; font-weight: 700; - color: #E8ECF4; + color: #1A1F36; line-height: 1.2; } @@ -455,7 +455,7 @@ /* Page section card */ .admin-section { background: rgba(17, 22, 39, 0.5); - border: 1px solid rgba(255, 255, 255, 0.06); + border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 12px; padding: 24px; margin-bottom: 20px; @@ -467,13 +467,13 @@ justify-content: space-between; margin-bottom: 20px; padding-bottom: 16px; - border-bottom: 1px solid rgba(255, 255, 255, 0.06); + border-bottom: 1px solid rgba(0, 0, 0, 0.08); } .admin-section-header h3 { font-size: 16px; font-weight: 600; - color: #E8ECF4; + color: #1A1F36; margin: 0; } @@ -522,7 +522,7 @@ text-transform: uppercase; letter-spacing: 0.05em; text-align: left; - border-bottom: 1px solid rgba(255, 255, 255, 0.06); + border-bottom: 1px solid rgba(0, 0, 0, 0.08); background: rgba(255, 255, 255, 0.02); } @@ -565,7 +565,7 @@ .admin-btn-secondary { background: rgba(255, 255, 255, 0.06); color: #8892B0; - border: 1px solid rgba(255, 255, 255, 0.08); + border: 1px solid rgba(0, 0, 0, 0.10); } .admin-btn-secondary:hover { @@ -614,7 +614,7 @@ gap: 8px; padding: 8px 14px; background: rgba(255, 255, 255, 0.04); - border: 1px solid rgba(255, 255, 255, 0.08); + border: 1px solid rgba(0, 0, 0, 0.10); border-radius: 8px; color: #8892B0; flex: 1; @@ -631,7 +631,7 @@ flex: 1; border: none; background: none; - color: #E8ECF4; + color: #1A1F36; font-size: 13px; outline: none; } @@ -708,8 +708,8 @@ } .admin-modal { - background: #111627; - border: 1px solid rgba(255, 255, 255, 0.08); + background: #FFFFFF; + border: 1px solid rgba(0, 0, 0, 0.10); border-radius: 16px; padding: 24px; min-width: 420px; @@ -722,7 +722,7 @@ .admin-modal h3 { font-size: 18px; font-weight: 600; - color: #E8ECF4; + color: #1A1F36; margin: 0 0 20px 0; } @@ -745,9 +745,9 @@ width: 100%; padding: 10px 14px; background: rgba(255, 255, 255, 0.04); - border: 1px solid rgba(255, 255, 255, 0.08); + border: 1px solid rgba(0, 0, 0, 0.10); border-radius: 8px; - color: #E8ECF4; + color: #1A1F36; font-size: 13px; transition: border-color 0.15s ease; outline: none; @@ -766,8 +766,8 @@ } .admin-form-group select option { - background: #111627; - color: #E8ECF4; + background: #FFFFFF; + color: #1A1F36; } /* Toggle switch */ @@ -840,7 +840,7 @@ width: 32px; height: 32px; border-radius: 6px; - border: 1px solid rgba(255, 255, 255, 0.08); + border: 1px solid rgba(0, 0, 0, 0.10); background: transparent; color: #8892B0; font-size: 13px; @@ -905,7 +905,7 @@ justify-content: space-between; margin-bottom: 20px; padding-bottom: 16px; - border-bottom: 1px solid rgba(255, 255, 255, 0.06); + border-bottom: 1px solid rgba(0, 0, 0, 0.08); } .admin-modal-header h3 { @@ -926,7 +926,7 @@ } .admin-modal-close:hover { - color: #E8ECF4; + color: #1A1F36; background: rgba(255, 255, 255, 0.06); } @@ -939,7 +939,7 @@ gap: 8px; justify-content: flex-end; padding-top: 16px; - border-top: 1px solid rgba(255, 255, 255, 0.06); + border-top: 1px solid rgba(0, 0, 0, 0.08); } /* Spinner animation for logo upload */ @@ -987,3 +987,31 @@ max-width: 90vw; } } + + +/* Frontend access link */ +.admin-frontend-link { + display: flex; + align-items: center; + gap: 6px; + padding: 8px 16px; + margin: 8px 12px; + border-radius: 8px; + font-size: 13px; + font-weight: 500; + color: #6C63FF; + background: rgba(108, 99, 255, 0.08); + text-decoration: none; + transition: all 0.2s; + cursor: pointer; +} + +.admin-frontend-link:hover { + background: rgba(108, 99, 255, 0.15); + color: #5B5FED; +} + +/* Nav link cursor pointer */ +.landing-nav-v2 a { + cursor: pointer; +} diff --git a/frontend/src/components/layout/AdminLayout.tsx b/frontend/src/components/layout/AdminLayout.tsx index ef5686e..34ea83a 100644 --- a/frontend/src/components/layout/AdminLayout.tsx +++ b/frontend/src/components/layout/AdminLayout.tsx @@ -139,9 +139,13 @@ const AdminLayout: React.FC = () => {