teste #3
@@ -71,14 +71,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
<%# Botão flutuante (desktop) — esconde/mostra a sidebar do site inteiro %>
|
<%# Botão flutuante (desktop) — esconde/mostra a sidebar do site inteiro.
|
||||||
|
Fica invisível e só aparece quando o mouse chega perto (zona de hover). %>
|
||||||
|
<div id="sidebar-edge" class="hidden md:flex group fixed top-1/2 -translate-y-1/2 z-40 h-32 w-12 items-center">
|
||||||
<button id="sidebar-toggle-btn" type="button" onclick="toggleSidebarCollapse()"
|
<button id="sidebar-toggle-btn" type="button" onclick="toggleSidebarCollapse()"
|
||||||
class="hidden md:flex fixed top-1/2 -translate-y-1/2 z-40 items-center justify-center
|
class="flex items-center justify-center w-7 h-16 bg-[#1a1a1a] border border-[#2a2a2a]
|
||||||
w-7 h-16 bg-[#1a1a1a] border border-[#2a2a2a] hover:border-orange-500
|
hover:border-orange-500 text-orange-500 rounded-r-lg shadow-lg
|
||||||
text-orange-500 rounded-r-lg shadow-lg"
|
opacity-0 group-hover:opacity-100 focus:opacity-100 transition-opacity duration-200"
|
||||||
title="Esconder/mostrar menu" aria-label="Esconder ou mostrar o menu">
|
title="Esconder/mostrar menu" aria-label="Esconder ou mostrar o menu">
|
||||||
<span id="sidebar-toggle-icon" class="text-lg leading-none">◀</span>
|
<span id="sidebar-toggle-icon" class="text-lg leading-none">◀</span>
|
||||||
</button>
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<%# Topbar mobile %>
|
<%# Topbar mobile %>
|
||||||
<header class="md:hidden fixed top-0 left-0 right-0 z-30 bg-[#111111] border-b border-[#2a2a2a] px-4 py-3 flex items-center justify-between">
|
<header class="md:hidden fixed top-0 left-0 right-0 z-30 bg-[#111111] border-b border-[#2a2a2a] px-4 py-3 flex items-center justify-between">
|
||||||
|
|||||||
@@ -59,10 +59,10 @@
|
|||||||
O estado fica na classe .sidebar-collapsed do <html>. */
|
O estado fica na classe .sidebar-collapsed do <html>. */
|
||||||
@media (min-width: 768px) {
|
@media (min-width: 768px) {
|
||||||
main, footer { transition: margin-left .3s ease; }
|
main, footer { transition: margin-left .3s ease; }
|
||||||
#sidebar-toggle-btn { left: 16rem; transition: left .3s ease; }
|
#sidebar-edge { left: 16rem; transition: left .3s ease; }
|
||||||
.sidebar-collapsed #sidebar { transform: translateX(-100%); }
|
.sidebar-collapsed #sidebar { transform: translateX(-100%); }
|
||||||
.sidebar-collapsed main, .sidebar-collapsed footer { margin-left: 0; }
|
.sidebar-collapsed main, .sidebar-collapsed footer { margin-left: 0; }
|
||||||
.sidebar-collapsed #sidebar-toggle-btn { left: 0; }
|
.sidebar-collapsed #sidebar-edge { left: 0; }
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
|
||||||
<div class="bg-[#1a1a1a] rounded-2xl border border-white/5 p-6">
|
<div class="bg-[#1a1a1a] rounded-2xl border border-white/5 p-6">
|
||||||
<p class="text-gray-400 text-sm font-medium mb-4">Notas fiscais por Motorista</p>
|
<p class="text-gray-400 text-sm font-medium mb-4">Notas fiscais por Motorista</p>
|
||||||
<div class="max-h-80 overflow-y-auto">
|
<div class="max-h-80 overflow-y-auto pr-2">
|
||||||
<%= render 'tabela_simples',
|
<%= render 'tabela_simples',
|
||||||
cabecalhos: ['Motorista', 'Notas fiscais'],
|
cabecalhos: ['Motorista', 'Notas fiscais'],
|
||||||
linhas: metricas.por_motorista.map { |h| [h[:nome], h[:total]] },
|
linhas: metricas.por_motorista.map { |h| [h[:nome], h[:total]] },
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
|
|
||||||
<div class="bg-[#1a1a1a] rounded-2xl border border-white/5 p-6">
|
<div class="bg-[#1a1a1a] rounded-2xl border border-white/5 p-6">
|
||||||
<p class="text-gray-400 text-sm font-medium mb-4">Entregas por STS (Unidade)</p>
|
<p class="text-gray-400 text-sm font-medium mb-4">Entregas por STS (Unidade)</p>
|
||||||
<div class="max-h-80 overflow-y-auto">
|
<div class="max-h-80 overflow-y-auto pr-2">
|
||||||
<%= render 'tabela_simples',
|
<%= render 'tabela_simples',
|
||||||
cabecalhos: ['Unidade', 'NFs entregues'],
|
cabecalhos: ['Unidade', 'NFs entregues'],
|
||||||
linhas: metricas.por_sts.map { |h| [h[:nome], h[:total]] },
|
linhas: metricas.por_sts.map { |h| [h[:nome], h[:total]] },
|
||||||
|
|||||||
Reference in New Issue
Block a user