import { Badge } from '@/components/ui/badge' import { useCurrentUser, useUserNoticeStat } from '@/hooks/auth' import Image from 'next/image' import { useState, useEffect } from 'react' import { usePathname } from 'next/navigation' import { useQueryClient } from '@tanstack/react-query' import { userKeys } from '@/lib/query-keys' import NoticeDrawer from './NoticeDrawer' const Notice = ({ actualIsExpanded }: { actualIsExpanded: boolean }) => { const { data: user } = useCurrentUser() const [isDrawerOpen, setIsDrawerOpen] = useState(false) const pathname = usePathname() const queryClient = useQueryClient() const { data } = useUserNoticeStat() // 监听路径变化,刷新通知统计 useEffect(() => { if (user) { // 当路径变化时,无效化并重新获取通知统计数据 queryClient.invalidateQueries({ queryKey: userKeys.noticeStat(), }) } }, [pathname]) useEffect(() => { if (isDrawerOpen && user) { queryClient.invalidateQueries({ queryKey: userKeys.noticeStat(), }) } }, [isDrawerOpen]) return (