feat: 老板台2.0 + 手机端适配 + 专家库 + 智囊入口
- 老板台: AI执行摘要卡 + 待办优先级排序 + 时间线视图 + 环形健康度 - 手机端: 事项看板折叠列表 + 7个页面响应式修复 + 底部安全边距 - 专家库: 新增用户端专家浏览页(参考管理端卡片风格) - 智囊入口: 底部Tab加"智囊" + 4个智囊页场景切换栏 + "我"页分组入口 - FAB弹窗: 场景快速入口 + 指令卡片优化 + 输入区sticky - 后端: /dashboard/summary + /dashboard/timeline API - 后端: life场景事实维度扩充(2→5) + 17个生活关键词优先级 - 前端: 抑制React DevTools startTime噪音错误 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
+40
-10
@@ -1,11 +1,23 @@
|
||||
/** 移动端"我"聚合页:头像占位+入口列表 */
|
||||
import { NavLink } from 'react-router-dom'
|
||||
import { User, History, BookOpen, Settings as SettingsIcon, ChevronRight } from 'lucide-react'
|
||||
import {
|
||||
User, History, BookOpen, Settings as SettingsIcon, ChevronRight,
|
||||
Scale, TrendingUp, Heart, ShieldCheck, FileText, Users,
|
||||
} from 'lucide-react'
|
||||
import { getName } from '@/lib/auth'
|
||||
|
||||
export function Me() {
|
||||
const name = getName()
|
||||
const items = [
|
||||
const brainTrust = [
|
||||
{ path: '/legal', label: '法务参谋', icon: Scale },
|
||||
{ path: '/decisions', label: '经营决策', icon: TrendingUp },
|
||||
{ path: '/life', label: '生活助理', icon: Heart },
|
||||
{ path: '/emotion', label: '情绪中心', icon: ShieldCheck },
|
||||
]
|
||||
const resources = [
|
||||
{ path: '/team', label: '我的团队', icon: Users },
|
||||
{ path: '/experts', label: '专家库', icon: Users },
|
||||
{ path: '/decisions-log', label: '决策日志', icon: FileText },
|
||||
{ path: '/profile', label: '我的画像', icon: User },
|
||||
{ path: '/history', label: '对话历史', icon: History },
|
||||
{ path: '/knowledge', label: '知识库', icon: BookOpen },
|
||||
@@ -22,14 +34,32 @@ export function Me() {
|
||||
<div className="text-sm text-muted-foreground">中小企业老板</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="rounded-xl border border-border bg-card divide-y divide-border">
|
||||
{items.map((item) => (
|
||||
<NavLink key={item.path} to={item.path} className="flex items-center gap-3 p-4 hover:bg-muted transition-colors">
|
||||
<item.icon className="h-5 w-5 text-muted-foreground" />
|
||||
<span className="flex-1 text-sm text-foreground">{item.label}</span>
|
||||
<ChevronRight className="h-4 w-4 text-muted-foreground" />
|
||||
</NavLink>
|
||||
))}
|
||||
|
||||
{/* 智囊 */}
|
||||
<div>
|
||||
<p className="mb-2 px-1 text-xs font-medium text-muted-foreground">智囊</p>
|
||||
<div className="grid grid-cols-2 gap-3">
|
||||
{brainTrust.map((item) => (
|
||||
<NavLink key={item.path} to={item.path} className="flex flex-col items-center gap-2 rounded-xl border border-border bg-card p-4 hover:bg-muted transition-colors">
|
||||
<item.icon className="h-6 w-6 text-primary" />
|
||||
<span className="text-sm text-foreground">{item.label}</span>
|
||||
</NavLink>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 我的资源 */}
|
||||
<div>
|
||||
<p className="mb-2 px-1 text-xs font-medium text-muted-foreground">我的资源</p>
|
||||
<div className="rounded-xl border border-border bg-card divide-y divide-border">
|
||||
{resources.map((item) => (
|
||||
<NavLink key={item.path} to={item.path} className="flex items-center gap-3 p-4 hover:bg-muted transition-colors">
|
||||
<item.icon className="h-5 w-5 text-muted-foreground" />
|
||||
<span className="flex-1 text-sm text-foreground">{item.label}</span>
|
||||
<ChevronRight className="h-4 w-4 text-muted-foreground" />
|
||||
</NavLink>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user