import { Input, Layout, Avatar, Button, Dropdown } from "antd"; import { EditFilled, PlusOutlined, SearchOutlined, UserOutlined, } from "@ant-design/icons"; import { useAuth } from "@web/src/providers/auth-provider"; import { useNavigate, useParams, useSearchParams } from "react-router-dom"; import { UserMenu } from "./UserMenu/UserMenu"; import { NavigationMenu } from "./NavigationMenu"; import { useMainContext } from "./MainProvider"; export function MainHeader() { const { isAuthenticated, user } = useAuth(); const { id } = useParams(); const navigate = useNavigate(); const { searchValue, setSearchValue } = useMainContext(); return (
{/* 左侧区域 - 设置为不收缩 */}
navigate("/")} className="text-2xl font-bold bg-gradient-to-r from-primary-600 via-primary-500 to-primary-400 bg-clip-text text-transparent hover:scale-105 transition-transform cursor-pointer whitespace-nowrap"> 烽火慕课
{/* 中间搜索区域 - 允许适当收缩但保持可用性 */}
} placeholder="搜索课程" className="w-full md:w-96 rounded-full" value={searchValue} onClick={(e) => { if (!window.location.pathname.startsWith("/search")) { navigate(`/search`); window.scrollTo({ top: 0, behavior: "smooth", }); } }} onChange={(e) => setSearchValue(e.target.value)} onPressEnter={(e) => { if (!window.location.pathname.startsWith("/search")) { navigate(`/search`); window.scrollTo({ top: 0, behavior: "smooth", }); } }} />
{/* 右侧区域 - 可以灵活收缩 */}
{isAuthenticated && ( <> )} {isAuthenticated && ( )} {isAuthenticated ? ( ) : ( )}
); }