import { defineStore } from 'pinia'
import dayjs from 'dayjs'
import { ref } from 'vue'

export const useToolsStore = defineStore('tools', () => {

  const formatDate = (date: string, format: string = 'DD/MM/YYYY') => {
    return dayjs(date).format(format)
  }

  const formatCurrency = (value: number) => {
    return new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(value || 0)
  }

  const translateStatus = (status: string) => {
    const statusMap: Record<string, string | { nome: string; variant: string }> = {
      'draft': {nome: 'Rascunho', variant: 'tw-badge-draft'},
      'approved': {nome: 'Aprovado', variant: 'tw-badge-success'},
      'awaiting_payment': {nome: 'Aguardando Pagamento', variant: 'tw-badge-warning'},
      'rejected': {nome: 'Rejeitado', variant: 'tw-badge-rejected'},
      'expired': {nome: 'Expirado', variant: 'tw-badge-expired'}
    }

    return statusMap[status] || {nome: status, variant: 'tw-badge-draft'}
  }

  return { 
    formatDate,
    formatCurrency,
    translateStatus
  }
})