import { useState, useEffect, useCallback } from 'react'; import { pb } from '@/services/pocketbase'; import type { Document } from '@/types/Document'; export const useDocuments = () => { const [documents, setDocuments] = useState([]); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); const fetchDocuments = useCallback(async () => { setIsLoading(true); setError(null); try { const records = await pb.collection('aegis_documents_vault').getFullList({ sort: '-created', // Du plus récent au plus ancien }); setDocuments(records); } catch (err) { console.error("Erreur lors de la récupération des documents :", err); setError("Impossible de charger les documents."); } finally { setIsLoading(false); } }, []); useEffect(() => { // eslint-disable-next-line react-hooks/set-state-in-effect fetchDocuments(); }, [fetchDocuments]); return { documents, isLoading, error, refetch: fetchDocuments }; };