37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
import useRequest from "@/lib/app/hooks/useRequest";
|
|
import {useEffect, useState} from "react";
|
|
import useSWR from "swr";
|
|
import {GET_CALLER_HISTORY} from "@/core/data/apiRoutes";
|
|
|
|
const useCallerHistory = (call_id, phone_number, max_size) => {
|
|
const requestServer = useRequest({auth: true, notification: false});
|
|
const [validData, setValidData] = useState([]);
|
|
|
|
//swr config
|
|
const fetcher = (...args) => {
|
|
return requestServer(args, 'get').then(({data}) => {
|
|
return data.data;
|
|
}).catch(() => {
|
|
})
|
|
};
|
|
|
|
const {data, isLoading} = useSWR(`${GET_CALLER_HISTORY}?phone_number=${phone_number}&size=${max_size}`, fetcher, {
|
|
revalidateIfStale: false,
|
|
revalidateOnFocus: false,
|
|
revalidateOnReconnect: false,
|
|
keepPreviousData: true
|
|
});
|
|
|
|
useEffect(() => {
|
|
data && setValidData(data.filter((item) => item.id != call_id));
|
|
}, [data, call_id]);
|
|
|
|
return {
|
|
firstItemOfHistory: validData.length === 0 ? false : validData[0],
|
|
historyList: validData.length < 2 ? false : validData.slice(1),
|
|
isLoadingHistoryList: isLoading,
|
|
errorHistoryList: !data
|
|
}
|
|
};
|
|
|
|
export default useCallerHistory; |