This commit is contained in:
freedakgmail
2025-11-30 09:16:43 +08:00
parent b436ae0680
commit fd9c064749
227 changed files with 1251 additions and 912 deletions
+13 -4
View File
@@ -15,7 +15,8 @@ import {
} from "@/components/ui/dropdown-menu"
import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from "@/components/ui/sheet"
import { useFamily } from "@/context/family-context"
import { useState, useRef, useEffect, useCallback } from "react"
import { useState, useRef, useEffect, useCallback, useMemo } from "react"
import { useDebouncedCallback } from "@/hooks/use-debounce"
import { useRouter, usePathname, useSearchParams } from "next/navigation"
import { useSession, signOut } from "next-auth/react"
import { useDialog } from "@/components/ui/alert-dialog-custom"
@@ -101,7 +102,10 @@ export function SiteHeader() {
}
const handleSignOut = async () => {
await signOut({ callbackUrl: "/auth/signin" })
const confirmed = await showConfirm("确定要退出登录吗?", "退出登录", "destructive")
if (confirmed) {
await signOut({ callbackUrl: "/auth/signin" })
}
}
// 获取用户名首字母作为头像
@@ -219,10 +223,15 @@ export function SiteHeader() {
return () => document.removeEventListener("mousedown", handleClickOutside)
}, [])
const handleSearch = (query: string) => {
setSearchQuery(query)
// 使用防抖优化搜索性能
const debouncedSearch = useDebouncedCallback((query: string) => {
searchMembers(query)
setShowResults(query.length > 0)
}, 300)
const handleSearch = (query: string) => {
setSearchQuery(query)
debouncedSearch(query)
}
const handleSelectMember = (memberId: string) => {