import { Link, NavLink, useNavigate } from "react-router-dom"; import { memo, useMemo } from "react"; import { SearchBar } from "./SearchBar"; import Navigation from "./navigation"; import { useAuth } from "@web/src/providers/auth-provider"; import { UserOutlined } from "@ant-design/icons"; import { UserMenu } from "../element/usermenu/usermenu"; import { api, useAppConfig } from "@nice/client"; import { env } from "@web/src/env"; export const Header = memo(function Header() { const { isAuthenticated } = useAuth(); const { logo } = useAppConfig(); const { data: logoRes, isLoading } = api.resource.findFirst.useQuery( { where: { fileId: logo, }, select: { id: true, url: true, }, }, { enabled: !!logo, } ); const logoUrl: string = useMemo(() => { return `http://${env.SERVER_IP}/uploads/${logoRes?.url}`; }, [logoRes]); return (
{/** 在这里放置logo */} {isLoading ? (
) : ( logoUrl && ( Logo ) )}
{!isAuthenticated ? ( 登录 ) : ( )}
); });