feat: add client history and subtypes

- Added subtypes for services (Service/Retouch).
- Implemented expandable client rows to show service history.
- Added a search bar to filter clients by name.
- Added 'Oncological' status column to the client list.
- Created a new API endpoint for client history.

fix(db): ensure database persistence in Docker
- The database path is now configurable via the DB_PATH environment variable.
- The Dockerfile has been updated to create a persistent volume for data.
- The README now contains the correct 'docker run' command for data persistence.
This commit is contained in:
Marco Gallegos
2025-08-13 09:31:31 -06:00
parent b59cb2f122
commit 7594d96fa4
7 changed files with 313 additions and 57 deletions

View File

@@ -53,9 +53,21 @@
<p id="stat-total-movements">0</p>
</div>
</div>
<div class="dashboard-chart">
<h3>Ingresos por Servicio</h3>
<canvas id="incomeChart"></canvas>
<div class="dashboard-grid">
<div class="dashboard-chart">
<h3>Ingresos por Servicio</h3>
<canvas id="incomeChart"></canvas>
</div>
<div class="dashboard-chart">
<h3>Ingresos por Método de Pago</h3>
<canvas id="paymentMethodChart"></canvas>
</div>
</div>
<div class="section">
<h3>Próximas Citas</h3>
<div id="upcoming-appointments-list" class="appointments-list">
<!-- Las citas se renderizarán aquí -->
</div>
</div>
</div>
</div>
@@ -78,6 +90,13 @@
<option value="Nail Art">Nail Art</option>
<option value="Pago">Pago</option>
</select>
<div id="m-subtipo-container" class="hidden">
<label>Subtipo:</label>
<select id="m-subtipo">
<option value="Servicio">Servicio</option>
<option value="Retoque">Retoque</option>
</select>
</div>
<label>Fecha de Cita:</label>
<input type="date" id="m-fecha-cita" />
<label>Hora de Cita:</label>
@@ -196,14 +215,16 @@
</div>
<div class="section">
<h2>Lista de Clientes</h2>
<div class="form-grid-single">
<input type="text" id="search-client" placeholder="Buscar cliente por nombre..." />
</div>
<div class="table-wrapper">
<table id="tblClients">
<thead>
<tr>
<th>Nombre</th>
<th>Teléfono</th>
<th>Cumpleaños</th>
<th>Consentimiento</th>
<th>Oncológico</th>
<th>Acciones</th>
</tr>
</thead>