diff --git a/web/src/components/home/navbar.tsx b/web/src/components/home/navbar.tsx index 9674fe4..ee0403e 100644 --- a/web/src/components/home/navbar.tsx +++ b/web/src/components/home/navbar.tsx @@ -20,7 +20,7 @@ const NAV_LINKS = [ { href: "/chat", label: "智能问答", icon: MessageSquare }, { href: "/knowledge", label: "知识库", icon: Database }, { href: "/spatial", label: "空间设计", icon: Image }, - { href: "/forum", label: "课程社区", icon: Users }, + { href: "/forum", label: "课程社区", icon: Users, requireAuth: true }, { href: "/admin", label: "后台管理", icon: ShieldCheck, adminOnly: true }, ]; @@ -80,28 +80,6 @@ export default function Navbar({ isAuthenticated, user }: NavbarProps) { )} - {/* 未登录时也显示课程社区链接 */} - {!isAuthenticated && ( -
- - - 课程社区 - {isActive("/forum") && ( - - )} - -
- )} -
diff --git a/web/src/components/layout/mobile-nav.tsx b/web/src/components/layout/mobile-nav.tsx index c4fff1b..d726a4d 100644 --- a/web/src/components/layout/mobile-nav.tsx +++ b/web/src/components/layout/mobile-nav.tsx @@ -20,11 +20,11 @@ import { } from "lucide-react"; const navItems = [ - { id: "course-content", name: "课程内容", icon: GraduationCap, href: "/course-content" }, - { id: "chat", name: "对话", icon: MessageSquare, href: "/chat" }, - { id: "knowledge", name: "知识库", icon: BookOpen, href: "/knowledge" }, - { id: "spatial", name: "空间出图", icon: Image, href: "/spatial" }, - { id: "forum", name: "社区", icon: Users, href: "/forum" }, + { id: "course-content", name: "课程内容", icon: GraduationCap, href: "/course-content", requireAuth: true }, + { id: "chat", name: "对话", icon: MessageSquare, href: "/chat", requireAuth: true }, + { id: "knowledge", name: "知识库", icon: BookOpen, href: "/knowledge", requireAuth: true }, + { id: "spatial", name: "空间出图", icon: Image, href: "/spatial", requireAuth: true }, + { id: "forum", name: "社区", icon: Users, href: "/forum", requireAuth: true }, ]; export default function MobileNav() { @@ -47,9 +47,10 @@ export default function MobileNav() { return ( <> {/* Bottom navigation bar */} + {user && (
- {navItems.map((item) => { + {navItems.filter(item => !item.requireAuth || user).map((item) => { const isActive = pathname === item.href; return (
+ )} {/* Menu toggle button */}
@@ -108,7 +110,7 @@ export default function MobileNav() { {/* Navigation */}