shoc-frontend/src/pages/contacts/list/useItems.js
2025-03-09 19:45:02 -05:00

43 lines
867 B
JavaScript

import React from "react";
import { getItems } from "./api";
import { API_ERROR_MESSAGE } from '../../../constants'
function useItems(apiStatus, setApiStatus) {
const [items, setItems] = React.useState({
list: [],
isError: false,
isLoading: true,
errorMessage: '',
});
React.useEffect(() => {
if (apiStatus.show)
getItems().then(handleSuccess, handleFailure);
}, [apiStatus]);
React.useEffect(() => {
getItems().then(handleSuccess, handleFailure);
}, []);
function handleSuccess(response) {
setItems({
list: response || [],
isError: false,
isLoading: false,
errorMessage: '',
});
}
function handleFailure(error) {
setItems({
list: [],
isError: true,
isLoading: false,
errorMessage: error.message,
});
}
return items;
}
export default useItems;