/** * 岗位评价管理 hook:拉取评价管理数据 + 回复评价。 */ import { useCallback, useState } from 'react'; import { fetchJobEvaluationManagement, replyJobReview } from '../api'; import type { JobEvaluationManagement } from '../types'; import { useAsyncData } from './useAsyncData'; export function useJobEvaluations() { const fetcher = useCallback(() => fetchJobEvaluationManagement(), []); const { data, loading, error, refresh } = useAsyncData(fetcher); const [replyingId, setReplyingId] = useState(null); const reply = useCallback(async (reviewId: string, content: string) => { setReplyingId(reviewId); try { await replyJobReview(reviewId, content); } finally { setReplyingId(null); } }, []); return { management: data ?? null, loading, error, refresh, reply, replyingId, }; }