// src/store/web.js
import { defineStore } from "pinia"
import api from "../axiosPostulante"

export const useWebAdmisionStore = defineStore("procesoAdmision", {
  state: () => ({
    procesos: [],
    loading: false,
    error: null,
  }),

  getters: {
    // Si hay uno VIGENTE, úsalo como principal; si no, usa el primero.
    procesoPrincipal: (state) => {
      if (!state.procesos?.length) return null
      return state.procesos.find((p) => p.estado === "publicado") ?? state.procesos[0]
    },

    // Por si lo necesitas después
    ultimoProceso: (state) => {
      return state.procesos?.length ? state.procesos[0] : null
    },
  },

  actions: {
    async cargarProcesos() {
      this.loading = true
      this.error = null

      try {
        const response = await api.get("/procesos-admision")
        this.procesos = response.data?.data ?? response.data ?? []
      } catch (err) {
        this.error = err.response?.data?.message || "Error al cargar procesos"
        console.error(err)
      } finally {
        this.loading = false
      }
    },
  },
})
