fix(responsive): ninguna vista hace scrollear la página de lado en móvil
Primera tanda de la auditoría responsive, sobre el panel y el portal. De 59 vistas con tabla, 55 ya envolvían la tabla en un contenedor con scroll propio; las 4 que faltaban (url_monitor, servidor_dashboard, partner_recursos, notif_config) hacían scrollear la página entera de lado en un teléfono. Ahora tienen el mismo contenedor que el resto. Y una red por debajo en los dos layouts: en pantallas chicas el desborde se contiene en vez de romper el layout, y pre/code scrollean en su caja. Es para lo que se agregue después y se olvide el contenedor — el mismo criterio que se usó con los modales, porque revisar 59 vistas a mano cada vez que se suma una garantiza que alguna se escape. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
ce5956878d
commit
e5544cb241
@@ -28,6 +28,17 @@
|
|||||||
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; }
|
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; }
|
||||||
[x-cloak] { display: none !important; }
|
[x-cloak] { display: none !important; }
|
||||||
|
|
||||||
|
/* Nada debe hacer scrollear la página entera de lado en un teléfono.
|
||||||
|
Las tablas anchas ya scrollean en su propio contenedor; esto es la
|
||||||
|
red por debajo para lo que se agregue después y se olvide el
|
||||||
|
contenedor: el desborde se contiene en vez de romper el layout. */
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
body { overflow-x: hidden; }
|
||||||
|
table { max-width: 100%; }
|
||||||
|
pre, code { overflow-x: auto; max-width: 100%; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Modales: el panel nunca puede pasar del alto de la ventana. Sin
|
/* Modales: el panel nunca puede pasar del alto de la ventana. Sin
|
||||||
esto, un formulario largo (o una pantalla baja / un portátil) deja
|
esto, un formulario largo (o una pantalla baja / un portátil) deja
|
||||||
los botones Guardar y Cancelar fuera de vista y sin forma de
|
los botones Guardar y Cancelar fuera de vista y sin forma de
|
||||||
|
|||||||
@@ -14,6 +14,17 @@
|
|||||||
*, *::before, *::after { box-sizing: border-box; }
|
*, *::before, *::after { box-sizing: border-box; }
|
||||||
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: #f8fafc; }
|
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: #f8fafc; }
|
||||||
[x-cloak] { display: none !important; }
|
[x-cloak] { display: none !important; }
|
||||||
|
|
||||||
|
/* Nada debe hacer scrollear la página entera de lado en un teléfono.
|
||||||
|
Las tablas anchas ya scrollean en su propio contenedor; esto es la
|
||||||
|
red por debajo para lo que se agregue después y se olvide el
|
||||||
|
contenedor: el desborde se contiene en vez de romper el layout. */
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
body { overflow-x: hidden; }
|
||||||
|
table { max-width: 100%; }
|
||||||
|
pre, code { overflow-x: auto; max-width: 100%; }
|
||||||
|
}
|
||||||
|
|
||||||
:root { --brand: #8eb02f; --brand-dark: #6d8c24; }
|
:root { --brand: #8eb02f; --brand-dark: #6d8c24; }
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<!-- Tabla de configuración -->
|
<!-- Tabla de configuración -->
|
||||||
<div class="bg-white border border-slate-200 rounded-xl shadow-sm overflow-hidden">
|
<div class="bg-white border border-slate-200 rounded-xl shadow-sm overflow-hidden">
|
||||||
<table class="w-full text-sm">
|
<div class="overflow-x-auto"><table class="w-full text-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="bg-slate-50 border-b border-slate-200">
|
<tr class="bg-slate-50 border-b border-slate-200">
|
||||||
<th class="px-4 py-3 text-left text-xs font-semibold text-slate-500 uppercase tracking-wider w-48">Evento</th>
|
<th class="px-4 py-3 text-left text-xs font-semibold text-slate-500 uppercase tracking-wider w-48">Evento</th>
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Ayuda: Telegram para portal users -->
|
<!-- Ayuda: Telegram para portal users -->
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
<!-- Lista de recursos -->
|
<!-- Lista de recursos -->
|
||||||
<div class="bg-white border border-slate-200 rounded-xl overflow-hidden shadow-sm">
|
<div class="bg-white border border-slate-200 rounded-xl overflow-hidden shadow-sm">
|
||||||
<table class="w-full text-sm">
|
<div class="overflow-x-auto"><table class="w-full text-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="bg-slate-50 border-b border-slate-200 text-xs font-semibold text-slate-500 uppercase tracking-wider">
|
<tr class="bg-slate-50 border-b border-slate-200 text-xs font-semibold text-slate-500 uppercase tracking-wider">
|
||||||
<th class="px-4 py-3 text-left">Nombre</th>
|
<th class="px-4 py-3 text-left">Nombre</th>
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
<td colspan="6" class="px-4 py-10 text-center text-slate-400 text-sm">Sin recursos aún.</td>
|
<td colspan="6" class="px-4 py-10 text-center text-slate-400 text-sm">Sin recursos aún.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -160,7 +160,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<template x-if="showProcs">
|
<template x-if="showProcs">
|
||||||
<div class="mt-1.5 bg-slate-50 rounded-lg overflow-hidden">
|
<div class="mt-1.5 bg-slate-50 rounded-lg overflow-hidden">
|
||||||
<table class="w-full text-[10px]">
|
<div class="overflow-x-auto"><table class="w-full text-[10px]">
|
||||||
<thead><tr class="text-slate-400 border-b border-slate-200">
|
<thead><tr class="text-slate-400 border-b border-slate-200">
|
||||||
<th class="px-2 py-1 text-left">Proceso</th>
|
<th class="px-2 py-1 text-left">Proceso</th>
|
||||||
<th class="px-2 py-1 text-right">CPU%</th>
|
<th class="px-2 py-1 text-right">CPU%</th>
|
||||||
@@ -177,7 +177,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
<!-- Table rows -->
|
<!-- Table rows -->
|
||||||
<div x-show="!cargando && items.length > 0">
|
<div x-show="!cargando && items.length > 0">
|
||||||
<table class="w-full text-sm">
|
<div class="overflow-x-auto"><table class="w-full text-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="bg-slate-50 border-b border-slate-200">
|
<tr class="bg-slate-50 border-b border-slate-200">
|
||||||
<th class="px-4 py-3 text-left text-xs font-semibold text-slate-500 uppercase tracking-wider">Nombre / URL</th>
|
<th class="px-4 py-3 text-left text-xs font-semibold text-slate-500 uppercase tracking-wider">Nombre / URL</th>
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -305,7 +305,7 @@
|
|||||||
<div x-show="!logs.cargando && !logs.vacio">
|
<div x-show="!logs.cargando && !logs.vacio">
|
||||||
<h3 class="text-xs font-semibold text-slate-500 uppercase tracking-wider mb-3">Últimos registros</h3>
|
<h3 class="text-xs font-semibold text-slate-500 uppercase tracking-wider mb-3">Últimos registros</h3>
|
||||||
<div class="border border-slate-200 rounded-xl overflow-hidden">
|
<div class="border border-slate-200 rounded-xl overflow-hidden">
|
||||||
<table class="w-full text-xs">
|
<div class="overflow-x-auto"><table class="w-full text-xs">
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="bg-slate-50 border-b border-slate-200">
|
<tr class="bg-slate-50 border-b border-slate-200">
|
||||||
<th class="px-3 py-2 text-left font-semibold text-slate-500">Fecha</th>
|
<th class="px-3 py-2 text-left font-semibold text-slate-500">Fecha</th>
|
||||||
@@ -337,7 +337,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table></div>
|
||||||
</div>
|
</div>
|
||||||
<p x-show="logs.items.length > 50" class="text-xs text-slate-400 mt-2 text-center"
|
<p x-show="logs.items.length > 50" class="text-xs text-slate-400 mt-2 text-center"
|
||||||
x-text="'Mostrando últimos 50 de ' + logs.items.length + ' registros'"></p>
|
x-text="'Mostrando últimos 50 de ' + logs.items.length + ' registros'"></p>
|
||||||
|
|||||||
Reference in New Issue
Block a user