<%= icone :tag, espaco: false %> Grupos de contato

É o grupo que assina os eventos — cadastrar alguém novo é escolher o grupo, não repetir a configuração pessoa por pessoa.

<%= link_to new_admin_grupo_path, data: { turbo: false }, class: 'inline-flex items-center gap-2 px-5 py-3 bg-[#f97316] hover:bg-orange-500 text-white font-semibold rounded-xl transition-colors min-h-[48px] whitespace-nowrap' do %> <%= icone :adicionar, cor: nil, tamanho: 'w-5 h-5', espaco: false %> Novo grupo <% end %>
<%= render 'shared/flash' %>
<% @grupos.each do |grupo| %> <% end %> <% if @grupos.empty? %> <% end %>
Grupo Descrição Contatos Assina os eventos Situação Ações
<%= icone :tag, cor: nil, tamanho: 'w-4 h-4', espaco: false %>
<%= grupo.nome %>
<%= grupo.descricao.presence || '—' %> <%= link_to admin_contatos_path(grupo_id: grupo.id), data: { turbo: false }, class: 'inline-flex items-center px-2.5 py-1 rounded-full text-xs font-bold bg-[#f97316]/15 border border-[#f97316]/30 text-[#f97316] hover:bg-[#f97316]/25 transition-colors', title: 'Ver os contatos deste grupo' do %> <%= grupo.contatos.size %> <% end %> <% nomes = grupo.assinaturas.select(&:ativo).map { |a| a.evento_notificacao.nome } %> <% if nomes.any? %>
<% nomes.each do |nome| %> <%= nome %> <% end %>
<% else %> — nenhum <% end %>
<%= badge_status_usuario(grupo.ativo?) %>
<%= link_to edit_admin_grupo_path(grupo), data: { turbo: false }, class: 'p-2 text-gray-400 hover:text-white hover:bg-white/10 rounded-lg transition-colors', title: 'Editar' do %> <%= icone :editar, cor: nil, tamanho: 'w-4 h-4', espaco: false %> <% end %> <%= button_to admin_grupo_path(grupo), method: :delete, class: 'p-2 text-gray-600 hover:text-red-400 hover:bg-red-900/20 rounded-lg transition-colors', title: 'Excluir', form: { data: { turbo_confirm: "Excluir #{grupo.nome}? Os #{grupo.contatos.size} contato(s) ficam sem grupo e param de receber." } } do %> <%= icone :excluir, cor: nil, tamanho: 'w-4 h-4', espaco: false %> <% end %>
<%= icone :vazio, tamanho: 'w-10 h-10', cor: 'text-gray-600', espaco: false %>

Nenhum grupo ainda.

Crie um (ex.: Diretoria, Motoristas) e depois cadastre os contatos dentro dele.