feat(web): apply forest AI brand identity

This commit is contained in:
2026-07-21 12:38:10 +08:00
parent c98bb5e2a6
commit de05610087
7 changed files with 41 additions and 10 deletions

View File

@@ -38,8 +38,8 @@ export function LoginPage({ onLogin }: { onLogin: (input: { server: string; emai
<Card className="login-card" bordered>
<div className="login-brand-panel">
<div className="brand-lockup large">
<span className="brand-symbol">S</span>
<Title heading={2}>Agent</Title>
<img className="brand-icon" src="/senlinai-icon.svg" alt="" />
<Title heading={2}>AI</Title>
</div>
<Text className="login-slogan"> · </Text>
<Text type="secondary"> · · AI Agent</Text>
@@ -51,7 +51,7 @@ export function LoginPage({ onLogin }: { onLogin: (input: { server: string; emai
</div>
<div className="login-form-panel">
<Title heading={4}> SenlinAI</Title>
<Title heading={4}>AI</Title>
<Text type="secondary"></Text>
<Form layout="vertical" className="login-form">
<Form.Item label="服务器地址IP 或域名优先)">
@@ -81,7 +81,7 @@ export function LoginPage({ onLogin }: { onLogin: (input: { server: string; emai
<div className="login-value-panel">
<Title heading={3}> · · </Title>
<Paragraph>
SenlinAI
AI
</Paragraph>
<ValuePoint icon={<IconSafe />} title="私有部署,数据自有" desc="所有数据与模型运行在您的环境中,安全可控。" />
<ValuePoint icon={<IconBook />} title="知识沉淀,结构清晰" desc="从收集到整理,形成可复用的团队知识库。" />

View File

@@ -24,6 +24,9 @@ export function ProjectRail({
}) {
return (
<Sider className="project-rail" width={96}>
<button className="rail-brand" aria-label="森林AI 工作台" title="森林AI 工作台" onClick={onSelectWorkspace}>
<img className="brand-icon" src="/senlinai-icon.svg" alt="" />
</button>
<Button
className={activeView === 'workspace' ? 'dashboard-button active' : 'dashboard-button'}
icon={<IconDashboard />}

View File

@@ -11,8 +11,8 @@ export function ProjectTopbar({ theme, onToggleTheme }: { theme: Theme; onToggle
return (
<Header className="topbar">
<div className="brand-lockup">
<span className="brand-symbol">S</span>
<Text className="brand-name">SenlinAI</Text>
<img className="brand-icon" src="/senlinai-icon.svg" alt="" />
<Text className="brand-name">AI</Text>
</div>
<div className="global-search" role="search">
<Input size="large" prefix={<IconSearch />} placeholder="搜索项目、频道、文档、任务、联系人..." />