diff --git a/frontend/components/Navigation.tsx b/frontend/components/Navigation.tsx index 2dabe4b..c6e4e11 100644 --- a/frontend/components/Navigation.tsx +++ b/frontend/components/Navigation.tsx @@ -1,5 +1,6 @@ 'use client' +import { useState } from 'react' import Link from 'next/link' import { usePathname } from 'next/navigation' import { useAuth } from '@/contexts/AuthContext' @@ -12,6 +13,7 @@ interface NavigationProps { export function Navigation({ showExitLearning = false, onExitLearning }: NavigationProps = {}) { const { user, logout } = useAuth() const pathname = usePathname() + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false) const navItems = [ { href: '/dashboard', label: '儀表板' }, @@ -42,6 +44,20 @@ export function Navigation({ showExitLearning = false, onExitLearning }: Navigat ))} + + {/* 手機版漢堡選單按鈕 */} +
@@ -67,6 +83,47 @@ export function Navigation({ showExitLearning = false, onExitLearning }: Navigat
+ + {/* 手機版下拉選單 */} + {isMobileMenuOpen && ( +
+
+ {navItems.map((item) => ( + setIsMobileMenuOpen(false)} + className={`block py-2 px-3 rounded-lg font-medium transition-colors ${ + pathname === item.href + ? 'bg-primary text-white' + : 'text-gray-600 hover:text-gray-900 hover:bg-gray-100' + }`} + > + {item.label} + + ))} + + {/* 手機版用戶區域 */} +
+
+
+ {user?.username?.[0]?.toUpperCase() || 'U'} +
+ {user?.displayName || user?.username} +
+ +
+
+
+ )} )