import { create } from 'zustand';

/**
 * Store Zustand para gerenciar o estado do módulo CNAB
 * Gerencia o modo de pagamento (PIX ou TED), o banco selecionado (Inter ou Bradesco)
 * e a variante de remessa TED no Bradesco (TED ou Folha de pagamento).
 */
export const useCnabStore = create((set) => ({
  paymentMode: 'PIX', // 'PIX' ou 'TED'
  setPaymentMode: (mode) => set({ paymentMode: mode }),
  selectedBank: 'INTER', // 'INTER' ou 'BRADESCO'
  setSelectedBank: (bank) => set({ selectedBank: bank }),
  /** Bradesco TED: 'ted' = rota /cnab/bradesco/ted, 'folha_pagamento' = rota /cnab/bradesco/folha_pagamento, 'cobranca' = rota /cnab/bradesco/cobranca */
  bradescoRemessaVariant: 'ted', // 'ted' | 'folha_pagamento' | 'cobranca'
  setBradescoRemessaVariant: (variant) => set({ bradescoRemessaVariant: variant }),
}));
