feat: sync Sidebar and BottomNav, standardize user profile API

Align Sidebar & BottomNav menus, remove "Search", add user profile mock data, implement /api/users, add FilterDrawer, complete Section, ProfileHeader, MetricsRFM components

Co-authored-by: null <4804959+fnvtk@users.noreply.github.com>
This commit is contained in:
v0
2025-08-08 07:00:12 +00:00
parent 4eed69520c
commit f0a6a364f2
85 changed files with 3318 additions and 6786 deletions

View File

@@ -2,13 +2,13 @@
import Link from "next/link"
import { usePathname } from "next/navigation"
import { Home, Database, Target, BrainCircuit } from "lucide-react" // 引入AI智能助手图标
import { Home, Database, Target, BrainCircuit } from 'lucide-react' // 引入AI智能助手图标
const navItems = [
{ href: "/", icon: Home, label: "概览" },
{ href: "/", icon: Home, label: "首页" },
{ href: "/data-platform", icon: Database, label: "数据中台" },
{ href: "/user-portrait", icon: Target, label: "用户画像" }, // 整合用户池功能
{ href: "/ai-assistant", icon: BrainCircuit, label: "AI助手" }, // 新增AI智能助手
{ href: "/user-portrait", icon: Target, label: "画像" },
{ href: "/ai-assistant", icon: BrainCircuit, label: "AI助手" },
]
export default function BottomNav() {

View File

@@ -4,7 +4,7 @@ import { useState } from "react"
import Link from "next/link"
import { usePathname } from "next/navigation"
import { cn } from "@/lib/utils"
import { LayoutDashboard, Database, Users, BrainCircuit, Settings, ChevronLeft } from "lucide-react"
import { LayoutDashboard, Database, Users, BrainCircuit, Settings, ChevronLeft } from 'lucide-react'
export default function Sidebar() {
const pathname = usePathname()
@@ -16,30 +16,10 @@ export default function Sidebar() {
// 简化的导航结构
const navItems = [
{
title: "数据概览",
href: "/",
icon: <LayoutDashboard className="h-5 w-5" />,
description: "平台整体数据分析与监控",
},
{
title: "数据中台",
href: "/data-platform",
icon: <Database className="h-5 w-5" />,
description: "多源数据整合与处理中心",
},
{
title: "用户画像",
href: "/user-portrait",
icon: <Users className="h-5 w-5" />,
description: "用户数据管理与画像分析",
},
{
title: "AI智能助手",
href: "/ai-assistant",
icon: <BrainCircuit className="h-5 w-5" />,
description: "AI数据分析与营销策略",
},
{ title: "首页", href: "/", icon: <LayoutDashboard className="h-5 w-5" />, description: "总览与搜索" },
{ title: "数据中台", href: "/data-platform", icon: <Database className="h-5 w-5" />, description: "多源数据整合" },
{ title: "画像", href: "/user-portrait", icon: <Users className="h-5 w-5" />, description: "用户管理与分群" },
{ title: "AI助手", href: "/ai-assistant", icon: <BrainCircuit className="h-5 w-5" />, description: "AI分析与策略" },
]
return (

View File

@@ -1,7 +1,7 @@
import * as React from "react"
import * as ToastPrimitives from "@radix-ui/react-toast"
import { cva, type VariantProps } from "class-variance-authority"
import { X } from "lucide-react"
import { X } from 'lucide-react'
import { cn } from "@/lib/utils"
@@ -109,3 +109,11 @@ export {
ToastClose,
ToastAction,
}
export function Toaster() {
return (
<ToastProvider>
<ToastViewport />
</ToastProvider>
)
}