// src/hooks/useFeedback.js import { useState, useCallback } from 'react'; import { saveFeedback } from '../services/api'; import { useAuth } from './useAuth'; export const useFeedback = () => { const { authTokens } = useAuth(); const [isSaving, setIsSaving] = useState(false); const [saveError, setSaveError] = useState(null); const [saveSuccess, setSaveSuccess] = useState(false); const submitFeedback = useCallback(async (feedbackData) => { setIsSaving(true); setSaveError(null); setSaveSuccess(false); try { await saveFeedback(feedbackData, authTokens.access); setSaveSuccess(true); } catch (err) { setSaveError(err.message || 'Failed to save feedback'); } finally { setIsSaving(false); } }, [authTokens.access]); const resetFeedbackState = useCallback(() => { setSaveError(null); setSaveSuccess(false); }, []); return { isSaving, saveError, saveSuccess, submitFeedback, resetFeedbackState, }; };