diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index d559828..1efbf3d 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -57,9 +57,20 @@ module ApplicationHelper # icone(:sucesso, cor: "text-green-400") # status verde # icone(:fechar, cor: nil) # herda a cor do elemento pai # icone(:dashboard, titulo: "Painel") # acessível (vira role="img") - def icone(nome, cor: "text-brand-laranja", tamanho: "w-[1.05em] h-[1.05em]", classe: nil, titulo: nil) + # icone(:fechar, espaco: false) # sem margem (ícone sozinho/centralizado) + # + # ATENÇÃO — contraste: em fundo LARANJA (bg-orange-*, bg-[#f97316]) o laranja + # padrão fica invisível. Nesses casos passe `cor: nil` (herda a cor do texto do + # container) ou `cor: "text-black"`. + # + # `espaco:` acrescenta uma margem à direita para o ícone não colar no texto. + # Desligue (`espaco: false`) quando o ícone estiver sozinho ou centralizado — + # senão a margem o tira do eixo — ou quando o container já tiver `gap-*`. + def icone(nome, cor: "text-brand-laranja", tamanho: "w-[1.25em] h-[1.25em]", + classe: nil, titulo: nil, espaco: true) simbolo = ICONES.fetch(nome.to_sym) { nome.to_s } - css = ["inline-block align-[-0.125em] shrink-0", tamanho, cor, classe].compact.join(" ") + css = ["inline-block align-[-0.125em] shrink-0", ("mr-1" if espaco), + tamanho, cor, classe].compact.join(" ") tag.svg(class: css, fill: "currentColor", role: (titulo ? "img" : nil), aria: { hidden: (titulo ? nil : true), label: titulo }) do @@ -75,8 +86,9 @@ module ApplicationHelper # Atenção: NÃO serve para `f.submit` nem `button_to` sem bloco — ambos geram # , que não aceita HTML dentro. Nesses casos use # `button_tag`/`button_to ... do`. - def rotulo(nome, texto, cor: "text-brand-laranja", tamanho: "w-4 h-4") - safe_join([icone(nome, cor: cor, tamanho: tamanho), texto], " ") + def rotulo(nome, texto, cor: "text-brand-laranja", tamanho: "w-5 h-5") + # O espaçamento vem do `mr-1` do próprio ícone (ver `icone`). + safe_join([icone(nome, cor: cor, tamanho: tamanho), texto]) end # Opções [label, valor] para o select de perfil de usuário (form de usuário) @@ -96,7 +108,7 @@ module ApplicationHelper conteudo = if icon safe_join([icone(icon, cor: (active ? "text-black" : "text-brand-laranja"), - tamanho: "w-4 h-4"), label]) + tamanho: "w-5 h-5", espaco: false), label]) else label end @@ -135,7 +147,7 @@ module ApplicationHelper def badge_com_icone(cfg) tag.span class: "inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-xs font-bold #{cfg[:cor]}" do - safe_join([icone(cfg[:icone], cor: nil, tamanho: "w-3.5 h-3.5"), cfg[:label]]) + safe_join([icone(cfg[:icone], cor: nil, tamanho: "w-4 h-4", espaco: false), cfg[:label]]) end end diff --git a/app/views/admin/auditoria_logs/index.html.erb b/app/views/admin/auditoria_logs/index.html.erb index 45f70c5..5ac24ae 100644 --- a/app/views/admin/auditoria_logs/index.html.erb +++ b/app/views/admin/auditoria_logs/index.html.erb @@ -1,7 +1,7 @@ <%# app/views/admin/auditoria_logs/index.html.erb %> <% content_for :title, 'Auditoria' %> -

<%= icone :auditoria %> Auditoria

+

<%= icone :auditoria, espaco: false %> Auditoria

<%= form_with url: admin_auditoria_logs_path, method: :get, class: 'bg-[#1a1a1a] border border-[#2a2a2a] rounded-xl p-4 mb-6 flex flex-wrap gap-3' do %> diff --git a/app/views/admin/configuracoes/index.html.erb b/app/views/admin/configuracoes/index.html.erb index 0ba6c12..f90d925 100644 --- a/app/views/admin/configuracoes/index.html.erb +++ b/app/views/admin/configuracoes/index.html.erb @@ -10,7 +10,7 @@ <%# Pilares de preço %>
-

<%= icone :dinheiro %> Pilares de Preço

+

<%= icone :dinheiro, espaco: false %> Pilares de Preço

<% @configuracoes.each do |cfg| %>
@@ -39,7 +39,7 @@ <%# Informações do banco externo %>
-

<%= icone :arquivar %> Banco de Dados Externo

+

<%= icone :arquivar, espaco: false %> Banco de Dados Externo

Tabela monitorada

diff --git a/app/views/admin/edicao_lancamentos/show.html.erb b/app/views/admin/edicao_lancamentos/show.html.erb index 5dd0520..606e222 100644 --- a/app/views/admin/edicao_lancamentos/show.html.erb +++ b/app/views/admin/edicao_lancamentos/show.html.erb @@ -20,8 +20,8 @@ <%# Aviso de sincronização %>
- <%= icone :alerta, cor: nil, tamanho: 'w-4 h-4 mt-0.5' %> -

As alterações são gravadas no SimpliRoute na hora (cada campo salva ao confirmar <%= icone :confirmar, cor: nil, tamanho: 'w-3 h-3' %>), + <%= icone :alerta, cor: nil, tamanho: 'w-5 h-5 mt-0.5', espaco: false %> +

As alterações são gravadas no SimpliRoute na hora (cada campo salva ao confirmar <%= icone :confirmar, cor: nil, tamanho: 'w-3.5 h-3.5' %>), mas o painel e as consolidações só refletem após a próxima sincronização da base de rastreio. Toda alteração fica registrada na auditoria.

@@ -96,9 +96,9 @@
-

<%= icone :historico %> Histórico de alterações

+

<%= icone :historico, espaco: false %> Histórico de alterações

+ class="w-9 h-9 rounded-lg bg-white/5 hover:bg-white/10 text-gray-300" aria-label="Fechar"><%= icone :fechar, cor: nil, tamanho: 'w-5 h-5', espaco: false %>