Files
aegis/src/hooks/useTickets.ts
T
LathanDevers 6cb35e82fe fix err
2026-08-04 15:00:02 +02:00

31 lines
970 B
TypeScript

import { useState, useEffect, useCallback } from 'react';
import { pb } from '@/services/pocketbase';
import type { Ticket } from '@/types/Ticket';
export const useTickets = () => {
const [tickets, setTickets] = useState<Ticket[]>([]);
const [isLoading, setIsLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
const fetchTickets = useCallback(async () => {
setIsLoading(true);
setError(null);
try {
const records = await pb.collection('aegis_tickets').getFullList<Ticket>({
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 };
};