export class ChatRepository {
  constructor(chatConfig) {
    this.chatConfig = chatConfig
  }

  async getResponse(message) {
    // Simulate API delay
    await new Promise((resolve) => setTimeout(resolve, 1000 + Math.random() * 1000))

    const lowerMessage = message.toLowerCase()

    // Search in configured responses
    for (const [category, data] of Object.entries(this.chatConfig.responses)) {
      if (data.keywords.some((keyword) => lowerMessage.includes(keyword))) {
        return data.response
      }
    }

    // Return fallback response
    const fallbackResponses = this.chatConfig.fallback || [
      "Esa es una excelente pregunta. ¿Hay algo específico que te gustaría saber?",
    ]

    return fallbackResponses[Math.floor(Math.random() * fallbackResponses.length)]
  }

  async getWelcomeMessage() {
    return this.chatConfig.welcome?.message || "¡Hola! ¿En qué puedo ayudarte?"
  }

  async getQuickActions() {
    return this.chatConfig.welcome?.quickActions || []
  }
}
