31 lines
988 B
JavaScript
31 lines
988 B
JavaScript
import { useEffect, useState } from "react";
|
|
import { GET_PROVINCE_LISTS } from "@/core/utils/routes";
|
|
import useRequest from "@/lib/hooks/useRequest";
|
|
|
|
const useProvinces = () => {
|
|
const requestServer = useRequest();
|
|
const [provinces, setProvinces] = useState([]);
|
|
const [loadingProvinces, setLoadingProvinces] = useState(true);
|
|
const [errorProvinces, setErrorProvinces] = useState(null);
|
|
|
|
useEffect(() => {
|
|
const fetchCities = async () => {
|
|
try {
|
|
const response = await requestServer(`${GET_PROVINCE_LISTS}`);
|
|
setProvinces(response.data.data);
|
|
setLoadingProvinces(false);
|
|
} catch (e) {
|
|
console.error("Error fetching provinces:", e);
|
|
setErrorProvinces(e);
|
|
setLoadingProvinces(false);
|
|
}
|
|
};
|
|
|
|
fetchCities();
|
|
}, []);
|
|
|
|
return { provinces, loadingProvinces, errorProvinces };
|
|
};
|
|
|
|
export default useProvinces;
|