Turbo vs Modal: Tudo que você precisa saber!

Javascript
29 de fevereiro de 2024

Hoje, trago para vocês um guia prático sobre como utilizar o Hotwire do Rails para criar modais dinâmicos em suas aplicações web, facilitando assim a vida de quem busca tornar suas aplicações mais interativas e dinâmicas sem se aprofundar demais no JavaScript.

Introdução ao Hotwire e Turbo Frames

O Hotwire é uma tecnologia incrível que permite a construção de aplicações modernas usando HTML sobre a web, sem necessidade de client-side JavaScript. Uma das suas ferramentas, o Turbo, nos permite atualizar partes específicas da página sem recarregar a página inteira, o que é perfeito para a implementação de modais dinâmicos.

Por Que Usar Modais?

Modais são janelas que aparecem em cima do conteúdo da página, permitindo interações focadas sem sair do contexto atual. São ideais para formulários de cadastro, mensagens de alerta ou qualquer situação que requeira a atenção do usuário.

Preparação do Ambiente

Primeiro, certifique-se de que sua aplicação Rails já está utilizando Hotwire. Caso contrário, adicione o Hotwire ao seu projeto seguindo as instruções oficiais.

Estruturando o Modal com Turbo Frame

  1. Declaração do Turbo Frame: Declare um Turbo Frame em sua página, que servirá como o local onde o conteúdo do modal será carregado. Utilize a tag turbo_frame_tag para isso.
  2. Link para o Modal: Crie um link que, ao ser clicado, carregará o conteúdo do modal dentro do Turbo Frame declarado. Use o atributo data-turbo-frame no link para especificar o ID do Turbo Frame que receberá o conteúdo.
  3. Construindo o Formulário: Em sua ação de controller, prepare o formulário que será exibido dentro do modal. Você pode renderizar uma view parcial que contém o formulário.
  4. Atualizando Dinamicamente com o Turbo Stream: Ao submeter o formulário, utilize o Turbo Stream para atualizar o conteúdo do Turbo Frame ou realizar outras ações na página, como fechar o modal ou exibir uma mensagem de sucesso.

Melhorando a Usabilidade

  • Fechamento do Modal: Implemente funcionalidades para fechar o modal, seja ao clicar em um botão de fechar, ao clicar fora do modal ou ao pressionar a tecla Esc, utilizando Stimulus.
  • Validações e Feedback: Aproveite o Turbo Stream para exibir mensagens de erro de validação dentro do próprio modal, melhorando a experiência do usuário ao fornecer feedback imediato.

Conclusão

A implementação de modais dinâmicos com Rails e Hotwire não apenas melhora significativamente a experiência do usuário, mas também simplifica o desenvolvimento, permitindo que você mantenha uma aplicação moderna e reativa sem se aprofundar em complexidades do JavaScript.

Lembre-se, a prática leva à perfeição. Encorajo todos vocês a experimentarem essa abordagem em seus projetos. E se você gostou deste conteúdo, não esqueça de se inscrever no canal, deixar seu like e compartilhar com amigos interessados em programação.

Até a próxima!

2 min. de leitura
Top