import { ref } from "vue";
import type { Skill } from "~/types/Skill";
import type { ApiResponse } from "~/types/ApiResponse";

export const useSkills = () => {
  const skills = ref<Skill[]>([]);
  const loading = ref(false);
  const error = ref<string | null>(null);

  const obtenerSkills = async () => {
    try {
      loading.value = true;
      error.value = null;

      const response = await useHttp<ApiResponse<Skill[]>>("/admin/skill", {
        method: "POST",
        body: {
          action: "index",
        },
      });

      if (!response.success) {
        throw new Error(response.message);
      }

      skills.value = response.data;
      return response;
    } catch (err: any) {
      error.value = err?.data?.message ?? "Error al obtener skills";
      throw err;
    } finally {
      loading.value = false;
    }
  };

  return {
    skills,
    loading,
    error,
    obtenerSkills,
  };
};
