Skip to content

StackLab-Digital/StackLabModulos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scripts para Chatwoot

Scripts prontos para uso em sua instalação do Chatwoot que adicionam funcionalidades extras para o Kanban.

Requisitos

Como Instalar

Método Correto de Instalação

  1. Adquira o Kanban para Chatwoot em kanbanparachatwoot.com.br
  2. Acesse sua instalação do Chatwoot com uma conta de super admin
  3. Navegue até https://seuchatwoot.com/super_admin/dashboard_scripts
  4. Cole o conteúdo do script no campo "Script Code"
  5. Clique em "Salvar Scripts"

Criando Scripts Personalizados

Para criar seus próprios scripts para o Kanban para Chatwoot, siga este modelo:

<script>
  document.addEventListener('DOMContentLoaded', function () {
    // Função principal para implementar a funcionalidade
    function aplicarFuncionalidade() {
      // Verificar se o elemento já existe para evitar duplicação
      if (document.getElementById('seu-elemento-id')) return;

      // 1. Criar elemento de estilo para injetar CSS personalizado
      const style = document.createElement('style');

      // 2. Definir estilos CSS
      style.innerHTML = `
        /* Seus estilos CSS aqui */
        #seu-elemento-id {
          position: fixed;
          bottom: 20px;
          right: 20px;
          /* Mais estilos */
        }
      `;

      // 3. Adicionar o estilo ao head do documento
      document.head.appendChild(style);

      // 4. Criar elementos DOM necessários
      const seuElemento = document.createElement('div');
      seuElemento.id = 'seu-elemento-id';
      seuElemento.innerHTML = `
        <!-- Seu HTML aqui -->
      `;

      // 5. Adicionar elementos ao DOM
      document.body.appendChild(seuElemento);

      // 6. Adicionar eventos e comportamentos
      seuElemento.addEventListener('click', function () {
        // Lógica do evento
      });
    }

    // Executar imediatamente
    aplicarFuncionalidade();

    // Também executar quando houver mudanças dinâmicas na DOM
    const observer = new MutationObserver(function () {
      aplicarFuncionalidade();
    });

    observer.observe(document.body, { childList: true, subtree: true });
  });
</script>

Diretrizes para Criação de Scripts:

  1. Verifique duplicações: Sempre verifique se o elemento já existe antes de adicioná-lo
  2. Use IDs únicos: Evite conflitos com outros elementos da página
  3. Inclua um observer: O MutationObserver garante que seu script funcione mesmo quando o DOM é alterado dinamicamente
  4. Encapsule a lógica: Mantenha todo o código dentro da função principal para evitar poluir o namespace global
  5. Comente seu código: Adicione comentários explicativos para facilitar a manutenção

Exemplos de Funcionalidades:

  • Botões flutuantes para ações rápidas
  • Atalhos de teclado personalizados
  • Integrações com APIs externas
  • Personalização visual do Kanban
  • Automações para processos repetitivos

Exemplo Prático: Botão de Chamada para Kanban

Abaixo um exemplo específico de um script que adiciona um botão de chamada telefônica no Kanban:

<script>
  document.addEventListener('DOMContentLoaded', function () {
    // Função principal para adicionar botão de chamada
    function adicionarBotaoChamada() {
      // Verificar se o botão já existe para evitar duplicação
      if (document.getElementById('kanban-call-button')) return;

      // 1. Criar elemento de estilo para o botão
      const style = document.createElement('style');
      style.innerHTML = `
        #kanban-call-button {
          position: fixed;
          bottom: 20px;
          right: 20px;
          width: 56px;
          height: 56px;
          border-radius: 50%;
          background-color: #84CC16;
          color: white;
          display: flex;
          align-items: center;
          justify-content: center;
          cursor: pointer;
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
          z-index: 9999;
          transition: all 0.3s ease;
        }
        
        #kanban-call-button:hover {
          transform: scale(1.1);
          box-shadow: 0 6px 15px rgba(0, 0, 0, 0.25);
        }
      `;

      document.head.appendChild(style);

      // 2. Criar o botão com ícone de telefone
      const button = document.createElement('div');
      button.id = 'kanban-call-button';
      button.innerHTML = `
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/>
        </svg>
      `;

      // 3. Adicionar evento de clique que extrai o telefone do card selecionado
      button.addEventListener('click', function () {
        // Obter o card selecionado no Kanban
        const selectedCard = document.querySelector('.kanban-card.selected');

        if (selectedCard) {
          // Extrair número de telefone do card (exemplo)
          const phoneElement = selectedCard.querySelector('.contact-phone');
          const phone = phoneElement ? phoneElement.textContent.trim() : '';

          if (phone) {
            // Iniciar chamada (isso depende da sua implementação)
            alert(`Iniciando chamada para: ${phone}`);
            // Aqui você poderia integrar com alguma API de chamadas
          } else {
            alert('Nenhum telefone encontrado no card selecionado');
          }
        } else {
          alert('Selecione um card do Kanban para fazer uma chamada');
        }
      });

      // 4. Adicionar o botão ao DOM
      document.body.appendChild(button);
    }

    // Executar imediatamente
    adicionarBotaoChamada();

    // Também executar quando houver mudanças dinâmicas na DOM
    const observer = new MutationObserver(function () {
      adicionarBotaoChamada();
    });

    observer.observe(document.body, { childList: true, subtree: true });
  });
</script>

Este exemplo demonstra como adicionar um botão flutuante que pode interagir com os cards do Kanban. Você pode personalizar a funcionalidade conforme suas necessidades específicas.

Contribuições

Se você possui sugestões para melhorar os scripts e a integração, entre em contato através da comunidade no Whatsapp do Kanban para Chatwoot.

Suporte

Para suporte e dúvidas sobre a instalação, acesse a comunidade no Whatsapp do Kanban para Chatwoot após a compra.

About

Repositório de Modulos StackLab para usar no seu Kanban 🚀

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published