- Extracted 10 sections from admin.html (3315 lines) into separate files: - dashboard.html (298 lines) - properties.html (242 lines) - leads.html (280 lines) - testimonials.html (78 lines) - faq.html (91 lines) - services.html (61 lines) - settings.html (93 lines) - users.html (73 lines) - analytics.html (64 lines) - traffic.html (69 lines) - admin.html reduced from 3315 to 1582 lines - Added dynamic section loader via fetch() - Sections load on-demand when clicking sidebar links - Previously loaded sections cached in memory - Updated server routes to serve all section files - DataTables initialized per-section on load
79 lines
3.8 KiB
HTML
79 lines
3.8 KiB
HTML
<!-- ============ TESTIMONIALS SECTION ============ -->
|
||
<section class="page-section" id="section-testimonials">
|
||
<div class="page-header">
|
||
<div>
|
||
<h1 class="page-title">Testimonios</h1>
|
||
<p class="page-subtitle">Gestiona los testimonios de clientes</p>
|
||
</div>
|
||
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#testimonialModal">
|
||
<i class="bi bi-plus-lg me-2"></i>Añadir testimonio
|
||
</button>
|
||
</div>
|
||
|
||
<div class="row">
|
||
<div class="col-md-6">
|
||
<div class="card mb-4">
|
||
<div class="card-body">
|
||
<div class="d-flex gap-3">
|
||
<img src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=100&h=100&fit=crop" class="rounded-circle" style="width: 60px; height: 60px; object-fit: cover;">
|
||
<div class="flex-grow-1">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div>
|
||
<h5 class="mb-1">Michael Schmidt</h5>
|
||
<p class="text-muted mb-2">🇩🇪 Alemania</p>
|
||
</div>
|
||
<div class="text-warning">
|
||
<i class="bi bi-star-fill"></i>
|
||
<i class="bi bi-star-fill"></i>
|
||
<i class="bi bi-star-fill"></i>
|
||
<i class="bi bi-star-fill"></i>
|
||
<i class="bi bi-star-fill"></i>
|
||
</div>
|
||
</div>
|
||
<p class="mb-2">"Encuentré mi terreno perfecto en solo 3 semanas. El equipo de TenerifeProp me ayudó con todo, desde la documentación hasta la conexión de servicios."</p>
|
||
<small class="text-muted">Hace 2 semanas</small>
|
||
</div>
|
||
</div>
|
||
<div class="mt-3 pt-3 border-top d-flex gap-2">
|
||
<button class="btn btn-sm btn-outline-primary"><i class="bi bi-pencil me-1"></i>Editar</button>
|
||
<button class="btn btn-sm btn-outline-danger"><i class="bi bi-trash me-1"></i>Eliminar</button>
|
||
<span class="badge bg-success ms-auto">Activo</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-6">
|
||
<div class="card mb-4">
|
||
<div class="card-body">
|
||
<div class="d-flex gap-3">
|
||
<img src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=100&h=100&fit=crop" class="rounded-circle" style="width: 60px; height: 60px; object-fit: cover;">
|
||
<div class="flex-grow-1">
|
||
<div class="d-flex justify-content-between align-items-start">
|
||
<div>
|
||
<h5 class="mb-1">Anna Petrova</h5>
|
||
<p class="text-muted mb-2">🇷🇺 Rusia</p>
|
||
</div>
|
||
<div class="text-warning">
|
||
<i class="bi bi-star-fill"></i>
|
||
<i class="bi bi-star-fill"></i>
|
||
<i class="bi bi-star-fill"></i>
|
||
<i class="bi bi-star-fill"></i>
|
||
<i class="bi bi-star-fill"></i>
|
||
</div>
|
||
</div>
|
||
<p class="mb-2">"Las ruinas que compramos fueron restauradas y ahora tenemos la casa de nuestros sueños. El equipo,懂 todo el proceso legal."</p>
|
||
<small class="text-muted">Hace 1 mes</small>
|
||
</div>
|
||
</div>
|
||
<div class="mt-3 pt-3 border-top d-flex gap-2">
|
||
<button class="btn btn-sm btn-outline-primary"><i class="bi bi-pencil me-1"></i>Editar</button>
|
||
<button class="btn btn-sm btn-outline-danger"><i class="bi bi-trash me-1"></i>Eliminar</button>
|
||
<span class="badge bg-success ms-auto">Activo</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|