import { useState, useEffect } from "react"; import toastError from "../../errors/toastError"; import api from "../../services/api"; const useTickets = ({ searchParam, pageNumber, status, date, showAll, queueIds, withUnreadMessages, unlimited }) => { const [loading, setLoading] = useState(true); const [hasMore, setHasMore] = useState(false); const [tickets, setTickets] = useState([]); useEffect(() => { setLoading(true); const delayDebounceFn = setTimeout(() => { const fetchTickets = async () => { try { if(searchParam){ console.log('searchParam: ', searchParam) return } const { data } = await api.get("/tickets", { params: { searchParam, pageNumber, status, date, showAll, queueIds, withUnreadMessages, unlimited }, }); console.log('data.tickets: ', data.tickets) // console.log('data.hasMore: ', data.hasMore) setTickets(data.tickets); setHasMore(data.hasMore); setLoading(false); } catch (err) { setLoading(false); toastError(err); } }; fetchTickets(); }, 500); return () => clearTimeout(delayDebounceFn); }, [ searchParam, pageNumber, status, date, showAll, queueIds, withUnreadMessages, unlimited ]); return { tickets, loading, hasMore }; }; export default useTickets;