<?php
// Aquí ya tienes tu array $ingresos con los datos reales

// Agrupar ingresos por fecha (solo Y-m-d)
$por_fecha = [];
foreach ($ingresos as $ingreso) {
    $fecha = date("Y-m-d", strtotime($ingreso["created"]));
    $por_fecha[$fecha][] = $ingreso;
}

// Función para mostrar la data combinada
function mostrarData($ingreso) {
    $partes = [];
    if (!empty($ingreso["get_string"])) {
        $partes[] = "GET:<br>" . htmlspecialchars($ingreso["get_string"]);
    }
    if (!empty($ingreso["post_data"])) {
        $partes[] = "POST:<br>" . htmlspecialchars($ingreso["post_data"]);
    }
    return implode(" | ", $partes);
}
?>

<style>
	body { font-family: Arial, sans-serif; margin: 20px; }
	h2 { margin-top: 30px; color: #333; }

	/* Contenedor de tabla */
	.log-container {
		overflow-x: auto; /* si se pasa, que aparezca scroll horizontal */
	}

	table { 
		width: 100%; 
		border-collapse: collapse; 
		margin-bottom: 20px; 
		table-layout: fixed; /* fuerza ancho fijo */
		word-wrap: break-word; /* permite cortar palabras largas */
	}

	th, td { 
		border: 1px solid #ccc; 
		padding: 8px; 
		text-align: left; 
		vertical-align: top;
	}

	th { background: #f4f4f4; }
	tr:nth-child(even) { background: #fafafa; }

	/* Definir anchos de columnas */
	th:nth-child(1), td:nth-child(1) { width: 80px; }   /* Hora */
	th:nth-child(2), td:nth-child(2) { width: 60px; }   /* ID */
	th:nth-child(3), td:nth-child(3) { width: 150px; }  /* Usuario */
	th:nth-child(4), td:nth-child(4) { width: 200px; }  /* URL */
	th:nth-child(5), td:nth-child(5) { width: auto; }   /* Data ocupa el resto */

	/* Evitar que Data rompa la tabla */
	td:nth-child(5) {
		white-space: pre-wrap;   /* respeta saltos de línea y permite cortes */
		word-break: break-all;   /* corta palabras muy largas si es necesario */
	}
</style>

<ul class="list-group">
	<li class="list-group-item">
		<div class="log-header">Historial de Ingresos</div>
		<div class="row">
			<div class="col-12">
				<ul class="nav nav-pills alt-pills float-right mini-labels">
					<form method="get">
						<li class="nav-item float-left mr-3">
							<label>Fecha:</label>
    						<input type="date" name="fecha" class="form-control" value="<?= $fecha ?? '' ?>"  onchange="this.form.submit()">
						</li>
						<li class="nav-item float-left mr-3">
							<label>Usuario</label>
							<select name ="id_usuario" class="form-control select-id-usuario" onchange="this.form.submit()">
								<option value="0">Todos</option>
								<?php
									foreach ($usuarios as $k => $v) {
										$selected = '';
										if (!empty($id_usuario)) {
											if ($id_usuario == $k) {
												$selected =' selected="selected"';
											}
										}
										echo '<option value="' . $k . '"' . $selected . '>' . $v . '</option>';
									}
								?>
							</select>
						</li>
					</form>
				</ul>
			</div>
		</div>
	</li>
	<li class="list-group-item">
		<div class="log-container">

			<?php foreach ($por_fecha as $fecha => $ingresos_dia): ?>
				<h2><?php echo htmlspecialchars($fecha). ' (' . count($ingresos_dia) . ')'; ?></h2>
				<table>
					<thead>
						<tr>
							<th>Hora</th>
							<th>ID</th>
							<th>Usuario</th>
							<th>URL</th>
							<th>Data</th>
						</tr>
					</thead>
					<tbody>
						<?php foreach ($ingresos_dia as $ingreso): ?>
							<tr>
								<td><?php echo date("H:i:s", strtotime($ingreso["created"])); ?></td>
								<td><?php echo $ingreso["id"]; ?></td>
								<td><?php echo htmlspecialchars($ingreso["usuario_alias"]); ?></td>
								<td><?php echo htmlspecialchars($ingreso["url"]); ?></td>
								<td><?php echo mostrarData($ingreso); ?></td>
							</tr>
						<?php endforeach; ?>
					</tbody>
				</table>
			<?php endforeach; ?>

			<div class="row paginacion">
				<div class="info col-12 col-md-6">
					<?php echo $paginacion['info']; ?>
				</div>
				<div class="col-12 col-md-6">
					<?php echo $paginacion['links']; ?>
				</div>
			</div>
		</div>
	</li>
</ul>
