UNPKG

pbn-voip-modules

Version:

PBN VOIP Component Library

82 lines (69 loc) 2.12 kB
import { useEffect } from "react"; import { useDispatch, useSelector } from "react-redux"; import useSearchBase from "../../general/hooks/useSearchBase"; import { CALL_LOGS_FILTER, onResetFilterAPI, searchConfig, } from "../../redux-toolkit/call-logs"; import useFetchCallLogs from "./useFetchCallLogs"; import { useAudioContext } from "../../general/hooks/useAudioContext"; import { setTimeOutAsync } from "../../general/common/utils"; const useSearchCallLogs = (isCancelPrevRequest = false) => { const filter = useSelector((state) => state.callLogs.filter); const filterAPI = useSelector((state) => state.callLogs.filterAPI); const { isCurrentUserApiCalled } = useSelector((state) => state.user); const dispatcher = useDispatch(); const callLogsAPIService = useFetchCallLogs(); const { pauseAllAudio } = useAudioContext(); const { searchedData, handleSearchData, handleSearchDataSpecificAPI, } = useSearchBase({ data: callLogsAPIService.callLogs, config: searchConfig, filterRedux: filter, type: "all", }); const debouncedValidateBasic = (filterValue) => { handleSearchData({ filterName: "", filterValue, }); }; const searchTerm = filter[CALL_LOGS_FILTER.CALLER_NAME].value; const getCallLogData = async () => { // const params = callLogsAPIService.getCallLogFilterParams(); // await callLogsAPIService.handleGetCallLogs( // params, // isCancelPrevRequest, // isCurrentUserApiCalled // ); await setTimeOutAsync(200); pauseAllAudio(); }; useEffect(() => { if (isCurrentUserApiCalled) { getCallLogData(); } }, [JSON.stringify(filterAPI), isCurrentUserApiCalled]); const resetSearchFilter = () => { dispatcher(onResetFilterAPI()); handleSearchData({ filterName: "", filterValue: "", }); }; return { searchedData, handleChangeTextSearch: debouncedValidateBasic, filter, filterAPI, searchTerm, handleSearchDataSpecificAPI, resetSearchFilter, ...callLogsAPIService, }; }; export default useSearchCallLogs;