import { create } from 'zustand';
import { persist } from 'zustand/middleware';

interface ContribuyenteState {
  selectedContribuyenteId: string | null;
  selectedContribuyenteRfc: string | null;
  selectedContribuyenteNombre: string | null;
  setSelectedContribuyente: (id: string, rfc: string, nombre: string) => void;
  clearSelectedContribuyente: () => void;
}

export const useContribuyenteStore = create<ContribuyenteState>()(
  persist(
    (set) => ({
      selectedContribuyenteId: null,
      selectedContribuyenteRfc: null,
      selectedContribuyenteNombre: null,
      setSelectedContribuyente: (id, rfc, nombre) =>
        set({ selectedContribuyenteId: id, selectedContribuyenteRfc: rfc, selectedContribuyenteNombre: nombre }),
      clearSelectedContribuyente: () =>
        set({ selectedContribuyenteId: null, selectedContribuyenteRfc: null, selectedContribuyenteNombre: null }),
    }),
    { name: 'horux-contribuyente' }
  )
);
