feat: mejorar apariencia de la pantalla principal

This commit is contained in:
Christian Julian Jimenez 2025-03-09 23:20:49 -06:00
parent bef6fc18d0
commit 8dcb3b7e90
2 changed files with 134 additions and 45 deletions

View File

@ -1,11 +1,10 @@
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
background-color: #f5f5f5;
}
.container {
max-width: 1200px;
margin: 0 auto;
@ -14,9 +13,29 @@ body {
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.main-content {
display: flex;
flex-wrap: wrap;
gap: 20px;
margin-top: 20px;
}
.sala {
flex: 1;
min-width: 300px;
margin: 20px 0;
text-align: center;
}
.sidebar {
flex: 0 0 350px;
}
h1, h2 {
color: #333;
}
.mensaje {
background-color: #f8d7da;
color: #721c24;
@ -25,10 +44,7 @@ h1, h2 {
border-radius: 4px;
display: none;
}
.sala {
margin: 20px 0;
text-align: center;
}
.escenario {
background-color: #ddd;
padding: 10px;
@ -37,26 +53,31 @@ h1, h2 {
text-align: center;
font-weight: bold;
}
.filas {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
}
.fila {
display: flex;
gap: 10px;
align-items: center;
}
.numero-fila {
width: 30px;
text-align: center;
font-weight: bold;
}
.asientos {
display: flex;
gap: 5px;
}
.asiento {
width: 35px;
height: 35px;
@ -68,27 +89,33 @@ h1, h2 {
user-select: none;
font-size: 12px;
}
.disponible {
background-color: #28a745;
color: white;
}
.vendido {
background-color: #dc3545;
color: white;
cursor: not-allowed;
}
.seleccionado {
background-color: #007bff;
color: white;
}
.form-group {
margin-bottom: 15px;
}
label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
input[type="text"] {
width: 100%;
padding: 8px;
@ -96,6 +123,7 @@ input[type="text"] {
border-radius: 4px;
box-sizing: border-box;
}
.btn {
background-color: #007bff;
color: white;
@ -104,28 +132,68 @@ input[type="text"] {
border-radius: 4px;
cursor: pointer;
}
.btn:hover {
background-color: #0069d9;
}
.resumen {
margin-top: 20px;
padding: 15px;
.resumen, .concierto-detalles, #formularioVenta {
background-color: #f8f9fa;
border-radius: 4px;
}
.resumen {
margin-top: 20px;
padding: 15px;
}
.concierto-detalles {
border-left: 4px solid #6c757d;
}
#formularioVenta {
padding: 20px;
border: 1px solid #ddd;
height: fit-content;
}
.concierto-detalles i {
color: #6c757d;
margin-right: 5px;
width: 20px;
text-align: center;
}
#formularioVenta i {
color: #495057;
margin-right: 5px;
}
.leyenda {
display: flex;
gap: 15px;
margin-top: 20px;
justify-content: center;
}
.leyenda-item {
display: flex;
align-items: center;
gap: 5px;
}
.leyenda-color {
width: 20px;
height: 20px;
border-radius: 3px;
}
@media (max-width: 992px) {
.main-content {
flex-direction: column;
}
.sidebar {
width: 100%;
}
}

View File

@ -4,8 +4,12 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sistema de Venta de Boletos</title>
<link rel="stylesheet" href="css/index.css">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css">
<link rel="stylesheet" href="css/index.css">
<style>
</style>
</head>
<body>
<div class="container">
@ -13,46 +17,63 @@
<div id="mensajeAlerta" class="alert alert-warning d-none" role="alert"></div>
<div class="sala">
<h2>Selección de Asientos - Sala Principal</h2>
<div class="escenario">ESCENARIO</div>
<div class="filas" id="mapaAsientos">
<!-- El mapa de asientos se cargará dinámicamente con JavaScript -->
<div class="main-content">
<div class="sala">
<h2>Selección de Asientos - Sala Principal</h2>
<div class="escenario">ESCENARIO</div>
<div class="filas" id="mapaAsientos">
<!-- El mapa de asientos se cargará dinámicamente con JavaScript -->
</div>
<div class="leyenda">
<div class="leyenda-item">
<div class="leyenda-color" style="background-color: #28a745;"></div>
<span>Disponible</span>
</div>
<div class="leyenda-item">
<div class="leyenda-color" style="background-color: #007bff;"></div>
<span>Seleccionado</span>
</div>
<div class="leyenda-item">
<div class="leyenda-color" style="background-color: #dc3545;"></div>
<span>Vendido</span>
</div>
</div>
</div>
<div class="leyenda">
<div class="leyenda-item">
<div class="leyenda-color" style="background-color: #28a745;"></div>
<span>Disponible</span>
</div>
<div class="leyenda-item">
<div class="leyenda-color" style="background-color: #007bff;"></div>
<span>Seleccionado</span>
</div>
<div class="leyenda-item">
<div class="leyenda-color" style="background-color: #dc3545;"></div>
<span>Vendido</span>
<div class="sidebar">
<div class="concierto-detalles mb-4 p-3 bg-light border rounded">
<h3 class="mb-3"><i class="bi bi-music-note-beamed"></i> Detalles del Concierto</h3>
<ul class="list-unstyled">
<li class="mb-2"><i class="bi bi-person-circle"></i> <strong>Artista:</strong> Nombre del Artista</li>
<li class="mb-2"><i class="bi bi-calendar-event"></i> <strong>Fecha:</strong> 15 de abril, 2025</li>
<li class="mb-2"><i class="bi bi-clock"></i> <strong>Hora:</strong> 20:00 hrs</li>
<li class="mb-2"><i class="bi bi-geo-alt"></i> <strong>Lugar:</strong> Arena Principal</li>
<li class="mb-2"><i class="bi bi-hourglass-split"></i> <strong>Duración:</strong> 2 horas</li>
<li class="mb-2"><i class="bi bi-door-open"></i> <strong>Apertura:</strong> 18:30 hrs</li>
</ul>
</div>
<form id="formularioVenta">
<h3><i class="bi bi-cart"></i> Datos de Venta</h3>
<div class="form-group mb-3">
<label for="nombre_cliente"><i class="bi bi-person"></i> Nombre del Cliente:</label>
<input type="text" id="nombre_cliente" name="nombre_cliente" class="form-control" required>
</div>
<div class="resumen" id="resumen">
<h3><i class="bi bi-ticket-perforated"></i> Resumen de Selección</h3>
<p><i class="bi bi-seat"></i> Asientos seleccionados: <span id="asientosSeleccionados">Ninguno</span></p>
<p><i class="bi bi-cash"></i> Total: $<span id="totalVenta">0.00</span></p>
<button type="submit" id="btnVender" class="btn btn-primary"><i class="bi bi-check-circle"></i> Confirmar Venta</button>
</div>
<!-- Campo oculto para almacenar IDs de asientos seleccionados -->
<div id="asientosSeleccionadosInput"></div>
</form>
</div>
</div>
<form id="formularioVenta">
<div class="form-group">
<label for="nombre_cliente">Nombre del Cliente:</label>
<input type="text" id="nombre_cliente" name="nombre_cliente" class="form-control" required>
</div>
<div class="resumen" id="resumen">
<h3>Resumen de Selección</h3>
<p>Asientos seleccionados: <span id="asientosSeleccionados">Ninguno</span></p>
<p>Total: $<span id="totalVenta">0.00</span></p>
<button type="submit" id="btnVender" class="btn btn-primary">Confirmar Venta</button>
</div>
<!-- Campo oculto para almacenar IDs de asientos seleccionados -->
<div id="asientosSeleccionadosInput"></div>
</form>
</div>
<script src="js/index.js"></script>