37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
import { GET_PROVINCE_LIST } from "@/core/data/apiRoutes";
|
|
import { useRequest } from "@witel/webapp-builder";
|
|
import { useEffect, useState } from "react";
|
|
|
|
const useProvince = () => {
|
|
const [isLoadingProvinceList, setIsLoadingProvinceList] = useState(true);
|
|
const [errorProvinceList, setErrorProvinceList] = useState(false);
|
|
const [provinceList, setProvinceList] = useState([]);
|
|
const requestServer = useRequest({ auth: true, notification: false });
|
|
|
|
useEffect(() => {
|
|
setIsLoadingProvinceList(true);
|
|
requestServer(GET_PROVINCE_LIST, "get", { auth: true, notification: false })
|
|
.then(({ data }) => {
|
|
const formattedData = data.data.map((province, index) => ({
|
|
id: index,
|
|
name: province.name,
|
|
value: province.id,
|
|
}));
|
|
setIsLoadingProvinceList(false);
|
|
setProvinceList(formattedData);
|
|
})
|
|
.catch(() => {
|
|
setIsLoadingProvinceList(false);
|
|
setErrorProvinceList(true);
|
|
});
|
|
}, []);
|
|
|
|
return {
|
|
provinceList,
|
|
isLoadingProvinceList,
|
|
errorProvinceList,
|
|
};
|
|
};
|
|
|
|
export default useProvince;
|