import { useApiInterceptor } from "./useApiInterceptor";

export const useUpdateCompanyProfile = (
  profileUpdateData: CompanyProfileDetails
) => {
  return new Promise(async (resolve, reject) => {
    try {
      const formData = new FormData();
      formData.append("name", profileUpdateData.name!);
      formData.append("description", profileUpdateData.description!);
      formData.append("culture", profileUpdateData.culture!);
      formData.append("values", profileUpdateData.values!);
      formData.append("opportunities", profileUpdateData.opportunities!);
      formData.append("location", profileUpdateData.location!);
      formData.append(
        "position_looking_for",
        profileUpdateData.positionLookingFor!
      );
      formData.append("position", profileUpdateData.position!);

      profileUpdateData.profilePicture !== null &&
        profileUpdateData.profilePicture !== "" &&
        formData.append("profile_picture", profileUpdateData.profilePicture!);

      // profileUpdateData.candidateImage !== null && profileUpdateData.candidateImage !== '' && formData.append("profilePicture", profileUpdateData.candidateImage!);

      const response = await useApiInterceptor().put(
        `/account/company`,
        formData,
        {
          headers: {
            "Content-Type": "multipart/form-data",
          },
        }
      );
      resolve({ resp: response.data, status: response.status });
    } catch (error) {
      console.error(
        "Error fetching POST API (Update Candidate Profile):",
        error
      );
      reject({ resp: "Failed to update profile", status: 400 });
    }
  });
};
