<%# app/views/admin/perfis_acesso/index.html.erb %> <% content_for :title, 'Perfis de acesso' %>

<%= icone :usuarios, espaco: false %> Perfis de acesso

O perfil define o que a pessoa enxerga e pode fazer. Mudou a regra, muda aqui — vale para todos do perfil.

<%= link_to new_admin_perfil_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 %> Novo perfil <% end %>
<% if @perfis.any? %>
<% @perfis.each do |perfil| %>

<%= perfil.nome %>

<% if perfil.sistema? %> Do sistema <% end %> <% unless perfil.ativo? %> Desativado <% end %> <% if perfil.vazio? %> Sem nenhum acesso <% end %>
<% if perfil.descricao.present? %>

<%= perfil.descricao %>

<% end %>

<%= icone :pessoa %> <%= perfil.users.size %> usuário(s) · <%= icone :chave %> <%= perfil.total_permissoes %> de <%= Permissao.chaves.size %> permissões

<%= link_to rotulo(:editar, 'Editar', cor: nil), edit_admin_perfil_path(perfil), data: { turbo: false }, class: 'px-4 py-3 text-gray-300 hover:text-white border border-[#2a2a2a] hover:border-orange-500 rounded-xl min-h-[48px] flex items-center' %> <%# button_to com BLOCO: passando o rótulo como primeiro argumento, o Rails escapa o HTML e o ícone sai como texto cru na tela. %> <% if policy(perfil).destroy? %> <%= button_to admin_perfil_path(perfil), method: :delete, class: 'px-4 py-3 text-red-400 hover:text-red-300 border border-[#2a2a2a] hover:border-red-500 rounded-xl min-h-[48px] flex items-center gap-2', form: { data: { turbo_confirm: "Excluir o perfil #{perfil.nome}?" } } do %> <%= icone :excluir, cor: nil, tamanho: 'w-4 h-4', espaco: false %> Excluir <% end %> <% end %>
<% end %>
<% else %>

<%= icone :vazio, tamanho: 'w-12 h-12', cor: 'text-gray-600', espaco: false %>

Nenhum perfil cadastrado ainda.

Enquanto não houver perfil, cada pessoa acessa conforme o tipo de conta dela.

<% end %>