import { defineStore } from "pinia";
import { useUserStore } from "./user";
import type { DatosIniciales, Cliente, Opts, DatosInicialesHistorialPedidos } from "~/types/Cliente";
import { string } from "yup";

export const useClienteStore = defineStore("clientes", {
  state: (): any => ({
    tipo_clientes: [] as Opts [],
    tipo_negocios: [] as Opts [],
    departamentos: [] as Opts [],
    cliente: {} as Cliente,
    direcciones: [],
    direccion: {},
    origenes: [],
    origen_id: null,
    puntos: 0,
    cliente_historial: {},
    datos_iniciales_historial_pedidos: {} as DatosInicialesHistorialPedidos
  }),

  getters: {},

  actions: {
    // Obtener datos iniciales
   /* async datosInciales(role: string) {
      console.log('datosInciales',role)
      const userStore = useUserStore();
      userStore.globalLoading = true;
      try {
        const { data, success, message } = await useApiFetch<DatosIniciales>(
          `${role}/cliente`,
          {
            method: "POST",
            body: {
              action: "datos_iniciales",
            },
          },
        );

        console.log('Datos iniciales', data)
        if (success) {
          this.tipo_clientes = data?.tipo_clientes;
          this.tipo_negocios = data?.tipo_negocios;
          this.departamentos = data?.departamentos;
        }
      } catch (err) {
        console.error("Error fetching user info:", err);
      } finally {
        userStore.globalLoading = false;
      }
    },*/
    setCliente(cliente: Cliente) {
      this.cliente = cliente;
    },
    setDireccionesOrigenes(direcciones: any, origenes: any) {
      this.direcciones = direcciones;
      this.origenes = origenes;
    },
    setNuevaDireccion(direccion: any) {
      this.direcciones = [direccion, ...this.direcciones];
    },
    setDireccionCliente(direccion: any) {
      this.direccion = { ...direccion }
    },
    setOrigenId(origen_id: number) {
      this.origen_id = origen_id
    }
  },
});
