CoffeeJoo_Panel_kafeDar/src/hooks/useProfile.js

30 lines
843 B
JavaScript

import { useEffect } from "react";
import { useDispatch } from "react-redux";
import { setProfile, clearProfile } from "../redux/slices/profileSlice";
import profileService from "../services/profile";
export const useProfile = (shouldFetch = true) => {
const dispatch = useDispatch();
useEffect(() => {
if (!shouldFetch) return;
const fetchProfileData = async () => {
try {
const res = await profileService.getProfile();
if (res?.data?.data) {
dispatch(setProfile(res.data.data));
console.log("Profile data fetched:", res.data.data);
} else {
dispatch(clearProfile());
}
} catch (error) {
console.error("Error fetching profile:", error);
dispatch(clearProfile());
}
};
fetchProfileData();
}, [shouldFetch, dispatch]);
};