diff --git a/admin/public/favicon.svg b/admin/public/favicon.svg index c88ae3b..1a2d34d 100644 --- a/admin/public/favicon.svg +++ b/admin/public/favicon.svg @@ -1,5 +1,27 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin/src/components/admin-layout.tsx b/admin/src/components/admin-layout.tsx index bbfb12d..0b2007b 100644 --- a/admin/src/components/admin-layout.tsx +++ b/admin/src/components/admin-layout.tsx @@ -2,6 +2,7 @@ import { Link, Outlet, useNavigate } from 'react-router-dom' import { LogOut, Moon, Sun } from 'lucide-react' import { logout } from '@/api/auth' import { useTheme } from '@/components/theme-provider' +import { LogoMark } from '@/components/logo' export function AdminLayout() { const navigate = useNavigate() @@ -11,7 +12,8 @@ export function AdminLayout() {
- + + sundynix admin
diff --git a/admin/src/components/logo.tsx b/admin/src/components/logo.tsx new file mode 100644 index 0000000..9583f43 --- /dev/null +++ b/admin/src/components/logo.tsx @@ -0,0 +1,57 @@ +interface LogoMarkProps { + size?: number + className?: string +} + +/** 品牌 Logo:霓虹数据流 S(青→蓝→紫),深岩底方形 */ +export function LogoMark({ size = 28, className }: LogoMarkProps) { + return ( + + ) +} diff --git a/admin/src/index.css b/admin/src/index.css index 6ae3e3e..5ddc07e 100644 --- a/admin/src/index.css +++ b/admin/src/index.css @@ -2,39 +2,37 @@ @custom-variant dark (&:is(.dark *)); -/* ── 设计 token(设计稿 v0.2)──────────────────────────── - 青瓷绿单强调色;中性色整体向青绿偏移; - 终端窗双主题共用深色。 */ +/* ── 设计 token(品牌改版 v2:跟随 logo,与 web 保持一致)── */ :root { - --ground: #f6f8f7; + --ground: #f5f7f9; --surface: #ffffff; - --ink: #16211d; - --ink-2: #55665f; - --ink-3: #8a9891; - --hairline: #e1e8e4; - --hairline-strong: #c9d4cf; - --accent: #0e7c6b; - --accent-ink: #0a5a4e; - --accent-soft: #e3f1ec; - --code-bg: #edf2f0; - --term-bg: #10201b; - --term-ink: #c7e8de; + --ink: #151c24; + --ink-2: #526069; + --ink-3: #8595a0; + --hairline: #e0e7ec; + --hairline-strong: #c6d2da; + --accent: #0284c7; + --accent-ink: #075985; + --accent-soft: #e0f2fe; + --code-bg: #ebf1f5; + --term-bg: #0e1620; + --term-ink: #c9e4f5; } .dark { - --ground: #0d1311; - --surface: #131b18; - --ink: #e7efeb; - --ink-2: #93a69f; - --ink-3: #64756e; - --hairline: #22302b; - --hairline-strong: #35453f; - --accent: #3ecdad; - --accent-ink: #6fdfc6; - --accent-soft: #12352d; - --code-bg: #182420; - --term-bg: #0a1512; - --term-ink: #a9d8cb; + --ground: #0b1117; + --surface: #111925; + --ink: #e6edf3; + --ink-2: #93a6b4; + --ink-3: #62737f; + --hairline: #1f2c38; + --hairline-strong: #32434f; + --accent: #38bdf8; + --accent-ink: #7dd3fc; + --accent-soft: #0b3049; + --code-bg: #14202b; + --term-bg: #0a121b; + --term-ink: #bfe3f7; } @theme inline { @@ -73,18 +71,3 @@ body { background: var(--accent-soft); color: var(--accent-ink); } - -/* 终端光标 */ -@keyframes caret-blink { - 50% { - opacity: 0; - } -} -.caret-blink { - animation: caret-blink 1.1s steps(1) infinite; -} -@media (prefers-reduced-motion: reduce) { - .caret-blink { - animation: none; - } -} diff --git a/admin/src/pages/login.tsx b/admin/src/pages/login.tsx index d145f1c..9475020 100644 --- a/admin/src/pages/login.tsx +++ b/admin/src/pages/login.tsx @@ -2,6 +2,7 @@ import { useState, type FormEvent } from 'react' import { Navigate, useNavigate } from 'react-router-dom' import { getToken } from '@/api/client' import { login } from '@/api/auth' +import { LogoMark } from '@/components/logo' export default function LoginPage() { const navigate = useNavigate() @@ -32,7 +33,8 @@ export default function LoginPage() { onSubmit={onSubmit} className="w-full max-w-[360px] rounded-xl border border-hairline bg-surface p-8" > -

+

+ sundynix admin

diff --git a/web/public/favicon.svg b/web/public/favicon.svg index c88ae3b..1a2d34d 100644 --- a/web/public/favicon.svg +++ b/web/public/favicon.svg @@ -1,5 +1,27 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/src/components/layout/site-footer.tsx b/web/src/components/layout/site-footer.tsx index 8566b6e..63ece75 100644 --- a/web/src/components/layout/site-footer.tsx +++ b/web/src/components/layout/site-footer.tsx @@ -1,5 +1,6 @@ import { Link } from 'react-router-dom' import { SITE } from '@/content/site' +import { LogoMark } from '@/components/logo' const COLUMNS = [ { @@ -25,7 +26,8 @@ export function SiteFooter() {
-

+

+ sundynix agentix

{SITE.tagline}

diff --git a/web/src/components/layout/site-header.tsx b/web/src/components/layout/site-header.tsx index 32ac58b..3727028 100644 --- a/web/src/components/layout/site-header.tsx +++ b/web/src/components/layout/site-header.tsx @@ -2,6 +2,7 @@ import { useState } from 'react' import { Link, NavLink } from 'react-router-dom' import { Menu, Moon, Sun, X } from 'lucide-react' import { useTheme } from '@/components/theme-provider' +import { LogoMark } from '@/components/logo' import { cn } from '@/lib/utils' const NAV_ITEMS = [ @@ -63,7 +64,8 @@ export function SiteHeader() { return (
- + + sundynix agentix diff --git a/web/src/components/logo.tsx b/web/src/components/logo.tsx new file mode 100644 index 0000000..9583f43 --- /dev/null +++ b/web/src/components/logo.tsx @@ -0,0 +1,57 @@ +interface LogoMarkProps { + size?: number + className?: string +} + +/** 品牌 Logo:霓虹数据流 S(青→蓝→紫),深岩底方形 */ +export function LogoMark({ size = 28, className }: LogoMarkProps) { + return ( + + ) +} diff --git a/web/src/components/terminal-demo.tsx b/web/src/components/terminal-demo.tsx index 4bcaa78..bccfd2f 100644 --- a/web/src/components/terminal-demo.tsx +++ b/web/src/components/terminal-demo.tsx @@ -14,7 +14,7 @@ export function TerminalDemo() {
- + {TERMINAL_DEMO.prompt}
@@ -26,12 +26,12 @@ export function TerminalDemo() { className="term-line whitespace-nowrap" style={{ animationDelay: `${0.7 + i * 0.45}s` }} > - + [{ev.tag}] {' '} {ev.text} {i === TERMINAL_DEMO.events.length - 1 && ( - + )}
))} diff --git a/web/src/index.css b/web/src/index.css index 31f7473..a4b5caa 100644 --- a/web/src/index.css +++ b/web/src/index.css @@ -3,39 +3,46 @@ @custom-variant dark (&:is(.dark *)); -/* ── 设计 token(设计稿 v0.2)──────────────────────────── - 青瓷绿单强调色;中性色整体向青绿偏移; - 终端窗双主题共用深色。 */ +/* ── 设计 token(品牌改版 v2:跟随 logo)──────────────── + 霓虹数据流 logo:青 #34E5E0 → 蓝 #3B82F6 → 紫 #A855F7; + 强调色取青蓝段,紫色只在 logo 与品牌渐变里出现; + 中性色向冷蓝偏移,终端窗为深岩蓝底。 */ :root { - --ground: #f6f8f7; + --ground: #f5f7f9; --surface: #ffffff; - --ink: #16211d; - --ink-2: #55665f; - --ink-3: #8a9891; - --hairline: #e1e8e4; - --hairline-strong: #c9d4cf; - --accent: #0e7c6b; - --accent-ink: #0a5a4e; - --accent-soft: #e3f1ec; - --code-bg: #edf2f0; - --term-bg: #10201b; - --term-ink: #c7e8de; + --ink: #151c24; + --ink-2: #526069; + --ink-3: #8595a0; + --hairline: #e0e7ec; + --hairline-strong: #c6d2da; + --accent: #0284c7; + --accent-ink: #075985; + --accent-soft: #e0f2fe; + --code-bg: #ebf1f5; + --term-bg: #0e1620; + --term-ink: #c9e4f5; + --brand-g1: #0891b2; + --brand-g2: #2563eb; + --brand-g3: #9333ea; } .dark { - --ground: #0d1311; - --surface: #131b18; - --ink: #e7efeb; - --ink-2: #93a69f; - --ink-3: #64756e; - --hairline: #22302b; - --hairline-strong: #35453f; - --accent: #3ecdad; - --accent-ink: #6fdfc6; - --accent-soft: #12352d; - --code-bg: #182420; - --term-bg: #0a1512; - --term-ink: #a9d8cb; + --ground: #0b1117; + --surface: #111925; + --ink: #e6edf3; + --ink-2: #93a6b4; + --ink-3: #62737f; + --hairline: #1f2c38; + --hairline-strong: #32434f; + --accent: #38bdf8; + --accent-ink: #7dd3fc; + --accent-soft: #0b3049; + --code-bg: #14202b; + --term-bg: #0a121b; + --term-ink: #bfe3f7; + --brand-g1: #22d3ee; + --brand-g2: #60a5fa; + --brand-g3: #c084fc; } @theme inline { @@ -75,6 +82,19 @@ body { color: var(--accent-ink); } +/* 品牌渐变文字(logo 同源:青→蓝→紫),克制使用 */ +.text-brand-gradient { + background: linear-gradient( + 92deg, + var(--brand-g1), + var(--brand-g2) 55%, + var(--brand-g3) + ); + -webkit-background-clip: text; + background-clip: text; + color: transparent; +} + /* 文章排版 — prose 对齐设计 token */ .prose-site { --tw-prose-body: var(--ink-2); diff --git a/web/src/pages/home/hero.tsx b/web/src/pages/home/hero.tsx index 12ac9be..c353108 100644 --- a/web/src/pages/home/hero.tsx +++ b/web/src/pages/home/hero.tsx @@ -18,7 +18,8 @@ export function Hero() {

事件驱动的
- AI Agent 工作台 + AI Agent 工作台 +

diff --git a/web/src/pages/home/quickstart.tsx b/web/src/pages/home/quickstart.tsx index e2c9e93..395be27 100644 --- a/web/src/pages/home/quickstart.tsx +++ b/web/src/pages/home/quickstart.tsx @@ -23,13 +23,13 @@ export function Quickstart() { # 内嵌 NATS,零配置体验 {'\n'} - $ git clone + $ git clone https://github.com/sundynix/agentix{'\n'} - $ make demo{'\n'} + $ make demo{'\n'} {'\n'} # 或一条命令私有化部署 {'\n'} - $ docker compose up -d + $ docker compose up -d