Files
MVE/views/partials/sidebar_importador.php
2025-07-17 13:31:55 -06:00

653 lines
32 KiB
PHP

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
/* Estilos inspirados en Tailwind */
.sidebar-container { background-color: #f9fafb; border-right: 1px solid #e5e7eb; }
.sidebar-dark { background-color: #1f2937; border-right: 1px solid #374151; }
.sidebar-nav .nav-link { color: #374151; font-weight: 500; padding: 0.5rem 0.75rem; margin-bottom: 0.125rem;
border-radius: 0.5rem; transition: all 0.15s ease-in-out; display: flex; align-items: center; }
.sidebar-nav .nav-link:hover { background-color: #f3f4f6; color: #111827; }
.sidebar-nav .nav-link.active { background-color: #f3f4f6; color: #111827; }
.sidebar-nav .nav-link .icon { width: 1.25rem; height: 1.25rem; margin-right: 0.75rem; color: #6b7280; transition: color 0.15s ease-in-out; flex-shrink: 0; }
.sidebar-nav .nav-link:hover .icon,
.sidebar-nav .nav-link.active .icon { color: #374151; }
.sidebar-nav .badge { background-color: #f3f4f6; color: #374151; font-size: 0.75rem; font-weight: 500; padding: 0.25rem 0.5rem; border-radius: 9999px; margin-left: auto; }
.sidebar-nav .badge.badge-primary { background-color: #dbeafe; color: #1e40af; }
.submenu .nav-link { padding-left: 2.75rem; color: #6b7280; font-weight: 400; }
.submenu .nav-link:hover { background-color: #f3f4f6; color: #374151; }
.submenu .nav-link.active { background-color: #f3f4f6; color: #374151; }
.collapse-icon { width: 0.75rem; height: 0.75rem; margin-left: auto; transition: transform 0.15s ease-in-out; }
.nav-link[aria-expanded="true"] .collapse-icon { transform: rotate(180deg); }
/* Estilos para modo oscuro */
.sidebar-dark .sidebar-nav .nav-link { color: #d1d5db; }
.sidebar-dark .sidebar-nav .nav-link:hover { background-color: #374151; color: #ffffff; }
.sidebar-dark .sidebar-nav .nav-link.active { background-color: #374151; color: #ffffff; }
.sidebar-dark .sidebar-nav .nav-link .icon { color: #9ca3af; }
.sidebar-dark .sidebar-nav .nav-link:hover .icon,
.sidebar-dark .sidebar-nav .nav-link.active .icon { color: #ffffff; }
.sidebar-dark .sidebar-nav .badge { background-color: #374151; color: #d1d5db; }
.sidebar-dark .sidebar-nav .badge.badge-primary { background-color: #1e3a8a; color: #93c5fd; }
.sidebar-dark .submenu .nav-link { color: #9ca3af; }
.sidebar-dark .submenu .nav-link:hover { background-color: #374151; color: #d1d5db; }
.sidebar-dark .submenu .nav-link.active { background-color: #374151; color: #d1d5db; }
/* Navbar */
.navbar-brand { font-weight: 600; font-size: 1.125rem; }
.menu-toggle { border: 1px solid #6b7280; border-radius: 0.5rem; padding: 0.5rem; transition: all 0.15s ease-in-out; }
.menu-toggle:hover { background-color: #f3f4f6; }
/* Offcanvas para móviles */
.offcanvas { background-color: #ffffff; }
.offcanvas-header { border-bottom: 1px solid #e5e7eb; padding: 1rem 1.5rem; }
.offcanvas-title { font-weight: 600; font-size: 1.125rem; color: #111827; }
.offcanvas-body { padding: 1rem 1.5rem; }
/* Responsive adjustments */
@media (max-width: 767.98px) {
.sidebar-nav .nav-link { color: #374151; }
.sidebar-nav .nav-link:hover { background-color: #f3f4f6; color: #111827; }
.sidebar-nav .nav-link.active { background-color: #f3f4f6; color: #111827; }
}
</style>
<!-- NAVBAR -->
<nav class="navbar navbar-dark bg-dark fixed-top">
<div class="container-fluid">
<!-- Botón de menú para móviles -->
<button class="menu-toggle d-md-none me-3" type="button" data-bs-toggle="offcanvas" data-bs-target="#sidebarMenu">
</button>
<span class="navbar-brand">SIIH | Administrador</span>
<div class="d-flex ms-auto text-white">
<div id="navbar-content">
<?php
// Verifica si estás en el dashboard principal del administrador
$esDashboard = str_contains($_SERVER['REQUEST_URI'], '/administrador/dashboard');
if ($esDashboard): ?>
<span id="welcome-text">Bienvenido, <?= htmlspecialchars($_SESSION['usuario_nombre']) ?></span>
<?php else: ?>
<a href="/IMPORTADORES/sistemas/logout" class="btn btn-outline-light btn-sm ms-2 W-auto btn-animated" id="logout-btn">Cerrar Sesión</a>
<?php endif; ?>
</div>
</div>
</div>
</nav>
<!-- SIDEBAR FIJA (escritorio) -->
<div class="d-none d-md-block sidebar-container sidebar-dark position-fixed h-100" style="width: 250px; top: 0; padding-top: 4rem; z-index: 1000;">
<div class="px-3 py-4 h-100 overflow-y-auto">
<nav class="sidebar-nav">
<ul class="nav flex-column">
<!-- INICIO -->
<li class="nav-item">
<a href="/IMPORTADORES/importadores/dashboard" class="nav-link active">
<svg class="icon" fill="currentColor" viewBox="0 0 22 21">
<path d="M16.975 11H10V4.025a1 1 0 0 0-1.066-.998 8.5 8.5 0 1 0 9.039 9.039.999.999 0 0 0-1-1.066h.002Z"/>
<path d="M12.5 0c-.157 0-.311.01-.565.027A1 1 0 0 0 11 1.02V10h8.975a1 1 0 0 0 1-.935c.013-.188.028-.374.028-.565A8.51 8.51 0 0 0 12.5 0Z"/>
</svg>
<span>Inicio</span>
</a>
</li>
<!-- LOCACIONES -->
<li class="nav-item">
<a href="/IMPORTADORES/importadores/lista" class="nav-link">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M10 2C6.686 2 4 4.686 4 8c0 5.25 6 12 6 12s6-6.75 6-12c0-3.314-2.686-6-6-6zm0 8c-1.105 0-2-.895-2-2s.895-2 2-2 2 .895 2 2-.895 2-2 2z"/>
</svg>
<span>Locaciones</span>
</a>
</li>
<!-- VINCULACIONES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuVinculaciones" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M12.586 4.586a2 2 0 112.828 2.828l-3 3a2 2 0 01-2.828 0 1 1 0 00-1.414 1.414 4 4 0 005.656 0l3-3a4 4 0 00-5.656-5.656l-1.5 1.5a1 1 0 101.414 1.414l1.5-1.5z"/>
<path d="M7.414 15.414a2 2 0 01-2.828-2.828l3-3a2 2 0 012.828 0 1 1 0 001.414-1.414 4 4 0 00-5.656 0l-3 3a4 4 0 105.656 5.656l1.5-1.5a1 1 0 10-1.414-1.414l-1.5 1.5z"/>
</svg>
<span>Vinculación</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuVinculaciones">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/vinculaciones/vinculacionesUsuario" class="nav-link">
Mis vinculaciones
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/vinculaciones/nuevaVinculacion" class="nav-link">
Nueva vinculación
</a>
</li>
</ul>
</div>
</li>
<!-- TRANSPORTISTAS -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuTransportistas" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M3 4a1 1 0 011-1h12a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V4zM3 10a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H4a1 1 0 01-1-1v-6zM14 9a1 1 0 00-1 1v6a1 1 0 001 1h2a1 1 0 001-1v-6a1 1 0 00-1-1h-2z"/>
</svg>
<span>Transportistas</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuTransportistas">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/transportistas/lista" class="nav-link">
Mis transportistas
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/transportistas/alta" class="nav-link">
Alta de transportista
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/transportistas/bulk_upload" class="nav-link">
Carga masiva
</a>
</li>
</ul>
</div>
</li>
<!-- TRANSPORTES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuTransportes" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M8 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM15 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z"/>
<path d="M3 4a1 1 0 00-1 1v10a1 1 0 001 1h1.464a1.5 1.5 0 002.072 0h6.928a1.5 1.5 0 002.072 0H17a1 1 0 001-1V5a1 1 0 00-1-1H3zM4 7h12v2H4V7zm0 4h12v2H4v-2z"/>
</svg>
<span>Transportes</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuTransportes">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/transportes/lista" class="nav-link">
Mis transportes
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/transportes/crear" class="nav-link">
Nuevo transporte
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/transportes/masivo" class="nav-link">
Carga masiva
</a>
</li>
</ul>
</div>
</li>
<!-- CHOFERES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuChoferes" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"/>
</svg>
<span>Choferes</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuChoferes">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/choferes/lista" class="nav-link">
Mis choferes
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/choferes/crear" class="nav-link">
Nuevo chofer
</a>
</li>
</ul>
</div>
</li>
<!-- PROVEEDORES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuProveedores" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
<path fill-rule="evenodd" d="M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm12 12H4l4-8 3 6 2-4 3 6z" clip-rule="evenodd"/>
</svg>
<span>Proveedores</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuProveedores">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/proveedores" class="nav-link">
Lista de Proveedores
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/proveedores/crear" class="nav-link">
Registro de Proveedor
</a>
</li>
</ul>
</div>
</li>
<!-- PRODUCTOS FRECUENTES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuProductosFrecuentes" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"/>
</svg>
<span>Productos Frecuentes</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuProductosFrecuentes">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/productos_frecuentes/editar" class="nav-link">
Mis productos
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/productos_frecuentes/alta" class="nav-link">
Alta de productos
</a>
</li>
<!--
<li class="nav-item">
<a href="/IMPORTADORES/productos_frecuentes/importacion_csv" class="nav-link">
Importación masiva
</a>
</li>
-->
</ul>
</div>
</li>
<!-- SOLICITUDES DE IMPORTACIÓN -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuSolicitudes" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm2 6a1 1 0 011-1h6a1 1 0 110 2H7a1 1 0 01-1-1zm1 3a1 1 0 100 2h6a1 1 0 100-2H7z" clip-rule="evenodd"/>
</svg>
<span>Solicitudes Importación</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuSolicitudes">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/solicitud_importacion/lista" class="nav-link">
Mis solicitudes
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/solicitud_importacion/crear" class="nav-link">
Nueva solicitud
</a>
</li>
</ul>
</div>
</li>
<!-- EXPEDIENTE ELECTRÓNICO -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuExpediente" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M3 4a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1V4zm6 0a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1V4zm6 0a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1V4zM3 10a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1v-3zm6 0a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-3zm6 0a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-3z" clip-rule="evenodd"/>
</svg>
<span>Expediente Electrónico</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuExpediente">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/expediente/index" class="nav-link">
Mi expediente
</a>
</li>
</ul>
</div>
</li>
<!-- CONFIGURACIÓN -->
<li class="nav-item">
<a href="/IMPORTADORES/configuracion" class="nav-link">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M5 5V.13a2.96 2.96 0 0 0-1.293.749L.879 3.707A2.96 2.96 0 0 0 .13 5H5Z"/>
<path d="M6.737 11.061a2.961 2.961 0 0 1 .81-1.515l6.117-6.116A4.839 4.839 0 0 1 16 2.141V2a1.97 1.97 0 0 0-1.933-2H7v5a2 2 0 0 1-2 2H0v11a1.969 1.969 0 0 0 1.933 2h12.134A1.97 1.97 0 0 0 16 18v-3.093l-1.546 1.546c-.413.413-.94.695-1.513.81l-3.4.679a2.947 2.947 0 0 1-1.85-.227 2.96 2.96 0 0 1-1.635-3.257l.681-3.397Z"/>
</svg>
<span>Configuración</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
<!-- OFFCANVAS PARA MÓVILES -->
<div class="offcanvas offcanvas-start d-md-none" tabindex="-1" id="sidebarMenu" style="top: 0; width: 250px;">
<div class="offcanvas-header">
<h5 class="offcanvas-title">Menú</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<nav class="sidebar-nav">
<ul class="nav flex-column">
<!-- INICIO -->
<li class="nav-item">
<a href="/IMPORTADORES/importadores/dashboard" class="nav-link active">
<svg class="icon" fill="currentColor" viewBox="0 0 22 21">
<path d="M16.975 11H10V4.025a1 1 0 0 0-1.066-.998 8.5 8.5 0 1 0 9.039 9.039.999.999 0 0 0-1-1.066h.002Z"/>
<path d="M12.5 0c-.157 0-.311.01-.565.027A1 1 0 0 0 11 1.02V10h8.975a1 1 0 0 0 1-.935c.013-.188.028-.374.028-.565A8.51 8.51 0 0 0 12.5 0Z"/>
</svg>
<span>Inicio</span>
</a>
</li>
<!-- LOCACIONES -->
<li class="nav-item">
<a href="/IMPORTADORES/importadores/lista" class="nav-link">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M10 2C6.686 2 4 4.686 4 8c0 5.25 6 12 6 12s6-6.75 6-12c0-3.314-2.686-6-6-6zm0 8c-1.105 0-2-.895-2-2s.895-2 2-2 2 .895 2 2-.895 2-2 2z"/>
</svg>
<span>Locaciones</span>
</a>
</li>
<!-- VINCULACIONES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuVinculaciones" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M12.586 4.586a2 2 0 112.828 2.828l-3 3a2 2 0 01-2.828 0 1 1 0 00-1.414 1.414 4 4 0 005.656 0l3-3a4 4 0 00-5.656-5.656l-1.5 1.5a1 1 0 101.414 1.414l1.5-1.5z"/>
<path d="M7.414 15.414a2 2 0 01-2.828-2.828l3-3a2 2 0 012.828 0 1 1 0 001.414-1.414 4 4 0 00-5.656 0l-3 3a4 4 0 105.656 5.656l1.5-1.5a1 1 0 10-1.414-1.414l-1.5 1.5z"/>
</svg>
<span>Vinculación</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuVinculaciones">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/vinculaciones/vinculacionesUsuario" class="nav-link">
Mis vinculaciones
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/vinculaciones/nuevaVinculacion" class="nav-link">
Nueva vinculación
</a>
</li>
</ul>
</div>
</li>
<!-- TRANSPORTISTAS -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuTransportistas" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M3 4a1 1 0 011-1h12a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V4zM3 10a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H4a1 1 0 01-1-1v-6zM14 9a1 1 0 00-1 1v6a1 1 0 001 1h2a1 1 0 001-1v-6a1 1 0 00-1-1h-2z"/>
</svg>
<span>Transportistas</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuTransportistas">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/transportistas/lista" class="nav-link">
Mis transportistas
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/transportistas/alta" class="nav-link">
Alta de transportista
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/transportistas/bulk_upload" class="nav-link">
Carga masiva
</a>
</li>
</ul>
</div>
</li>
<!-- TRANSPORTES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuTransportes" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M8 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM15 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z"/>
<path d="M3 4a1 1 0 00-1 1v10a1 1 0 001 1h1.464a1.5 1.5 0 002.072 0h6.928a1.5 1.5 0 002.072 0H17a1 1 0 001-1V5a1 1 0 00-1-1H3zM4 7h12v2H4V7zm0 4h12v2H4v-2z"/>
</svg>
<span>Transportes</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuTransportes">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/transportes/lista" class="nav-link">
Mis transportes
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/transportes/crear" class="nav-link">
Nuevo transporte
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/transportes/masivo" class="nav-link">
Carga masiva
</a>
</li>
</ul>
</div>
</li>
<!-- CHOFERES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuChoferes" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"/>
</svg>
<span>Choferes</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuChoferes">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/choferes/lista" class="nav-link">
Mis choferes
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/choferes/crear" class="nav-link">
Nuevo chofer
</a>
</li>
</ul>
</div>
</li>
<!-- PROVEEDORES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuProveedores" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
<path fill-rule="evenodd" d="M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm12 12H4l4-8 3 6 2-4 3 6z" clip-rule="evenodd"/>
</svg>
<span>Proveedores</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuProveedores">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/proveedores" class="nav-link">
Lista de Proveedores
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/proveedores/crear" class="nav-link">
Registro de Proveedor
</a>
</li>
</ul>
</div>
</li>
<!-- PRODUCTOS FRECUENTES -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuProductosFrecuentes" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"/>
</svg>
<span>Productos Frecuentes</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuProductosFrecuentes">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/productos_frecuentes/editar" class="nav-link">
Mis productos
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/productos_frecuentes/alta" class="nav-link">
Alta de productos
</a>
</li>
<!--
<li class="nav-item">
<a href="/IMPORTADORES/productos_frecuentes/importacion_csv" class="nav-link">
Importación masiva
</a>
</li>
-->
</ul>
</div>
</li>
<!-- SOLICITUDES DE IMPORTACIÓN -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuSolicitudes" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm2 6a1 1 0 011-1h6a1 1 0 110 2H7a1 1 0 01-1-1zm1 3a1 1 0 100 2h6a1 1 0 100-2H7z" clip-rule="evenodd"/>
</svg>
<span>Solicitudes Importación</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuSolicitudes">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/solicitud_importacion/lista" class="nav-link">
Mis solicitudes
</a>
</li>
<li class="nav-item">
<a href="/IMPORTADORES/solicitud_importacion/crear" class="nav-link">
Nueva solicitud
</a>
</li>
</ul>
</div>
</li>
<!-- EXPEDIENTE ELECTRÓNICO -->
<li class="nav-item">
<a class="nav-link" data-bs-toggle="collapse" href="#submenuExpediente" role="button" aria-expanded="false">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M3 4a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1V4zm6 0a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1V4zm6 0a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1V4zM3 10a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1v-3zm6 0a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-3zm6 0a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-3z" clip-rule="evenodd"/>
</svg>
<span>Expediente Electrónico</span>
<svg class="collapse-icon" fill="none" stroke="currentColor" viewBox="0 0 10 6">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
</svg>
</a>
<div class="collapse" id="submenuExpediente">
<ul class="nav flex-column submenu">
<li class="nav-item">
<a href="/IMPORTADORES/expediente/index" class="nav-link">
Mi expediente
</a>
</li>
</ul>
</div>
</li>
<!-- CONFIGURACIÓN -->
<li class="nav-item">
<a href="/IMPORTADORES/configuracion" class="nav-link">
<svg class="icon" fill="currentColor" viewBox="0 0 20 20">
<path d="M5 5V.13a2.96 2.96 0 0 0-1.293.749L.879 3.707A2.96 2.96 0 0 0 .13 5H5Z"/>
<path d="M6.737 11.061a2.961 2.961 0 0 1 .81-1.515l6.117-6.116A4.839 4.839 0 0 1 16 2.141V2a1.97 1.97 0 0 0-1.933-2H7v5a2 2 0 0 1-2 2H0v11a1.969 1.969 0 0 0 1.933 2h12.134A1.97 1.97 0 0 0 16 18v-3.093l-1.546 1.546c-.413.413-.94.695-1.513.81l-3.4.679a2.947 2.947 0 0 1-1.85-.227 2.96 2.96 0 0 1-1.635-3.257l.681-3.397Z"/>
</svg>
<span>Configuración</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
// Simular lógica de dashboard
document.addEventListener('DOMContentLoaded', function() {
const esDashboard = window.location.pathname.includes('/administrador/dashboard');
const welcomeText = document.getElementById('welcome-text');
const logoutBtn = document.getElementById('logout-btn');
if (!esDashboard) {
welcomeText.style.display = 'none';
logoutBtn.style.display = 'inline-block';
}
// Manejar estados activos basados en URL actual
const currentPath = window.location.pathname;
const navLinks = document.querySelectorAll('.nav-link');
navLinks.forEach(link => {
const href = link.getAttribute('href');
if (href && currentPath.includes(href)) {
link.classList.add('active');
}
});
// Manejar collapse manualmente
document.querySelectorAll('[data-bs-toggle="collapse"]').forEach(trigger => {
trigger.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
const targetId = this.getAttribute('href');
const targetElement = document.querySelector(targetId);
const isExpanded = this.getAttribute('aria-expanded') === 'true';
if (targetElement) {
if (isExpanded) {
// Cerrar
targetElement.classList.remove('show');
this.setAttribute('aria-expanded', 'false');
} else {
// Abrir
targetElement.classList.add('show');
this.setAttribute('aria-expanded', 'true');
}
}
});
// Remover el atributo data-bs-toggle para evitar conflictos
trigger.removeAttribute('data-bs-toggle');
});
});
</script>