import { useMemo } from "react";
import { useQuery } from "@tanstack/react-query";
import { getSkills } from "@/lib/services/profile.service";
import { MappedExperience } from "../types/experience.types";
import { UniversalOption } from "@/components/common/CustomTextbox";
import { useProfileQuery } from "@/hooks/useProfileQuery";

export function useExperienceData() {
  const profileQuery = useProfileQuery();

  const skillsQuery = useQuery({
    queryKey: ["skills"],
    queryFn: getSkills,
  });

  // useExperienceData.ts
  const mappedExperience = useMemo<UniversalOption[]>( // ✅ type matches CustomTextbox
    () =>
      profileQuery.data?.data?.experiences?.map((item: any) => ({
        id: item.uuid, // keep as string if UniversalOption allows it
        label: item.job_title,
        type: item.employment_type,
        company: item.company_name,
        start_date: item.start_date,
        end_date: item.end_date,
        responsibilities: item.responsibilities,
      })) ?? [],
    [profileQuery.data],
  );

  return {
    mappedExperience,
    skills: skillsQuery.data,
    isLoading: profileQuery.isLoading,
    isError: profileQuery.isError,
  };
}
