import { useState, useEffect, useCallback } from 'react'; import { pb } from '@/services/pocketbase'; import type { Ticket } from '@/types/Ticket'; export const useTickets = () => { const [tickets, setTickets] = useState([]); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); const fetchTickets = useCallback(async () => { setIsLoading(true); setError(null); try { const records = await pb.collection('aegis_tickets').getFullList({ sort: '-created', // Du plus récent au plus ancien }); setTickets(records); } catch { setError("Impossible de charger l'historique de vos requêtes."); } finally { setIsLoading(false); } }, []); useEffect(() => { // eslint-disable-next-line react-hooks/set-state-in-effect fetchTickets(); }, [fetchTickets]); return { tickets, isLoading, error, refetch: fetchTickets }; };