- 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
243 lines
12 KiB
HTML
243 lines
12 KiB
HTML
<!-- ============ PROPERTIES SECTION ============ -->
|
|
<section class="page-section" id="section-properties">
|
|
<div class="page-header">
|
|
<div>
|
|
<h1 class="page-title" data-i18n="properties.title">Propiedades</h1>
|
|
<p class="page-subtitle" data-i18n="properties.subtitle">Gestiona tu catálogo de propiedades</p>
|
|
</div>
|
|
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#propertyModal">
|
|
<i class="bi bi-plus-lg me-2"></i>Añadir propiedad
|
|
</button>
|
|
</div>
|
|
|
|
<!-- Filters -->
|
|
<div class="card mb-4">
|
|
<div class="card-body">
|
|
<div class="row g-3">
|
|
<div class="col-md-3">
|
|
<select class="form-select" id="filterType">
|
|
<option value="">Todos los tipos</option>
|
|
<option value="agricultural">Terrenos agrícolas</option>
|
|
<option value="urban">Terrenos urbanos</option>
|
|
<option value="house">Casas</option>
|
|
<option value="apartment">Apartamentos</option>
|
|
<option value="ruins">Ruinas</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<select class="form-select" id="filterStatus">
|
|
<option value="">Todos los estados</option>
|
|
<option value="active">Activo</option>
|
|
<option value="inactive">Inactivo</option>
|
|
<option value="sold">Vendido</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="input-group">
|
|
<span class="input-group-text"><i class="bi bi-search"></i></span>
|
|
<input type="text" class="form-control" id="searchProperty" placeholder="Buscar propiedad...">
|
|
</div>
|
|
</div>
|
|
<div class="col-md-2">
|
|
<button class="btn btn-outline-primary w-100">
|
|
<i class="bi bi-funnel me-2"></i>Filtrar
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Properties Grid -->
|
|
<div class="properties-grid" id="propertiesGrid">
|
|
<!-- Property Card 1 -->
|
|
<div class="property-admin-card">
|
|
<div class="property-admin-card-image">
|
|
<img src="https://images.unsplash.com/photo-1564013799919-ab600027ffc6?w=800&q=80" alt="Terreno urbano">
|
|
<div class="property-admin-card-badges">
|
|
<span class="property-admin-card-badge active">Activo</span>
|
|
<span class="property-admin-card-badge urban">Urbano</span>
|
|
</div>
|
|
<div class="property-admin-card-actions">
|
|
<a href="#" class="property-admin-card-action" title="Ver"><i class="bi bi-eye"></i></a>
|
|
<a href="#" class="property-admin-card-action" title="Editar"><i class="bi bi-pencil"></i></a>
|
|
<a href="#" class="property-admin-card-action delete" title="Eliminar"><i class="bi bi-trash"></i></a>
|
|
</div>
|
|
</div>
|
|
<div class="property-admin-card-content">
|
|
<h5 class="property-admin-card-title">Terreno Urbano en Adeje</h5>
|
|
<p class="property-admin-card-location"><i class="bi bi-geo-alt"></i>Adeje, Tenerife Sur</p>
|
|
<div class="property-admin-card-stats">
|
|
<span class="property-admin-card-stat"><i class="bi bi-eye"></i>1,245</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-cursor-click"></i>89</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-envelope"></i>12</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between align-items-center mt-3">
|
|
<span class="property-admin-card-price">385.000 €</span>
|
|
<small class="text-muted">2.500 m²</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Property Card 2 -->
|
|
<div class="property-admin-card">
|
|
<div class="property-admin-card-image">
|
|
<img src="https://images.unsplash.com/photo-1500382017468-9049fed747ef?w=800&q=80" alt="Terreno agrícola">
|
|
<div class="property-admin-card-badges">
|
|
<span class="property-admin-card-badge active">Activo</span>
|
|
<span class="property-admin-card-badge agricultural">Agrícola</span>
|
|
</div>
|
|
<div class="property-admin-card-actions">
|
|
<a href="#" class="property-admin-card-action" title="Ver"><i class="bi bi-eye"></i></a>
|
|
<a href="#" class="property-admin-card-action" title="Editar"><i class="bi bi-pencil"></i></a>
|
|
<a href="#" class="property-admin-card-action delete" title="Eliminar"><i class="bi bi-trash"></i></a>
|
|
</div>
|
|
</div>
|
|
<div class="property-admin-card-content">
|
|
<h5 class="property-admin-card-title">Terreno Agrícola en Güímar</h5>
|
|
<p class="property-admin-card-location"><i class="bi bi-geo-alt"></i>Güímar, Tenerife Sur</p>
|
|
<div class="property-admin-card-stats">
|
|
<span class="property-admin-card-stat"><i class="bi bi-eye"></i>892</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-cursor-click"></i>56</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-envelope"></i>8</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between align-items-center mt-3">
|
|
<span class="property-admin-card-price">125.000 €</span>
|
|
<small class="text-muted">8.500 m²</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Property Card 3 -->
|
|
<div class="property-admin-card">
|
|
<div class="property-admin-card-image">
|
|
<img src="https://images.unsplash.com/photo-1613490493576-7fde63acd811?w=800&q=80" alt="Villa">
|
|
<div class="property-admin-card-badges">
|
|
<span class="property-admin-card-badge active">Activo</span>
|
|
<span class="property-admin-card-badge house">Casa</span>
|
|
</div>
|
|
<div class="property-admin-card-actions">
|
|
<a href="#" class="property-admin-card-action" title="Ver"><i class="bi bi-eye"></i></a>
|
|
<a href="#" class="property-admin-card-action" title="Editar"><i class="bi bi-pencil"></i></a>
|
|
<a href="#" class="property-admin-card-action delete" title="Eliminar"><i class="bi bi-trash"></i></a>
|
|
</div>
|
|
</div>
|
|
<div class="property-admin-card-content">
|
|
<h5 class="property-admin-card-title">Villa con Vistas al Mar</h5>
|
|
<p class="property-admin-card-location"><i class="bi bi-geo-alt"></i>Los Cristianos, Arona</p>
|
|
<div class="property-admin-card-stats">
|
|
<span class="property-admin-card-stat"><i class="bi bi-eye"></i>2,156</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-cursor-click"></i>167</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-envelope"></i>24</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between align-items-center mt-3">
|
|
<span class="property-admin-card-price">595.000 €</span>
|
|
<small class="text-muted">350 m²</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Property Card 4 -->
|
|
<div class="property-admin-card">
|
|
<div class="property-admin-card-image">
|
|
<img src="https://images.unsplash.com/photo-1502672260266-1c1ef2d93688?w=800&q=80" alt="Apartamento">
|
|
<div class="property-admin-card-badges">
|
|
<span class="property-admin-card-badge active">Activo</span>
|
|
<span class="property-admin-card-badge apartment">Apartamento</span>
|
|
</div>
|
|
<div class="property-admin-card-actions">
|
|
<a href="#" class="property-admin-card-action" title="Ver"><i class="bi bi-eye"></i></a>
|
|
<a href="#" class="property-admin-card-action" title="Editar"><i class="bi bi-pencil"></i></a>
|
|
<a href="#" class="property-admin-card-action delete" title="Eliminar"><i class="bi bi-trash"></i></a>
|
|
</div>
|
|
</div>
|
|
<div class="property-admin-card-content">
|
|
<h5 class="property-admin-card-title">Apartamento Puerto de la Cruz</h5>
|
|
<p class="property-admin-card-location"><i class="bi bi-geo-alt"></i>Puerto de la Cruz</p>
|
|
<div class="property-admin-card-stats">
|
|
<span class="property-admin-card-stat"><i class="bi bi-eye"></i>1,089</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-cursor-click"></i>78</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-envelope"></i>15</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between align-items-center mt-3">
|
|
<span class="property-admin-card-price">245.000 €</span>
|
|
<small class="text-muted">85 m²</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Property Card 5 -->
|
|
<div class="property-admin-card">
|
|
<div class="property-admin-card-image">
|
|
<img src="https://images.unsplash.com/photo-1518780664697-55e3ad937233?w=800&q=80" alt="Ruinas">
|
|
<div class="property-admin-card-badges">
|
|
<span class="property-admin-card-badge active">Activo</span>
|
|
<span class="property-admin-card-badge ruins">Ruinas</span>
|
|
</div>
|
|
<div class="property-admin-card-actions">
|
|
<a href="#" class="property-admin-card-action" title="Ver"><i class="bi bi-eye"></i></a>
|
|
<a href="#" class="property-admin-card-action" title="Editar"><i class="bi bi-pencil"></i></a>
|
|
<a href="#" class="property-admin-card-action delete" title="Eliminar"><i class="bi bi-trash"></i></a>
|
|
</div>
|
|
</div>
|
|
<div class="property-admin-card-content">
|
|
<h5 class="property-admin-card-title">Casa Ruina San Miguel</h5>
|
|
<p class="property-admin-card-location"><i class="bi bi-geo-alt"></i>San Miguel de Abona</p>
|
|
<div class="property-admin-card-stats">
|
|
<span class="property-admin-card-stat"><i class="bi bi-eye"></i>567</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-cursor-click"></i>34</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-envelope"></i>6</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between align-items-center mt-3">
|
|
<span class="property-admin-card-price">175.000 €</span>
|
|
<small class="text-muted">4.200 m²</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Property Card 6 -->
|
|
<div class="property-admin-card">
|
|
<div class="property-admin-card-image">
|
|
<img src="https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=800&q=80" alt="Parcela">
|
|
<div class="property-admin-card-badges">
|
|
<span class="property-admin-card-badge active">Activo</span>
|
|
<span class="property-admin-card-badge urban">Urbano</span>
|
|
</div>
|
|
<div class="property-admin-card-actions">
|
|
<a href="#" class="property-admin-card-action" title="Ver"><i class="bi bi-eye"></i></a>
|
|
<a href="#" class="property-admin-card-action" title="Editar"><i class="bi bi-pencil"></i></a>
|
|
<a href="#" class="property-admin-card-action delete" title="Eliminar"><i class="bi bi-trash"></i></a>
|
|
</div>
|
|
</div>
|
|
<div class="property-admin-card-content">
|
|
<h5 class="property-admin-card-title">Parcela Urbana Granadilla</h5>
|
|
<p class="property-admin-card-location"><i class="bi bi-geo-alt"></i>Granadilla de Abona</p>
|
|
<div class="property-admin-card-stats">
|
|
<span class="property-admin-card-stat"><i class="bi bi-eye"></i>734</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-cursor-click"></i>45</span>
|
|
<span class="property-admin-card-stat"><i class="bi bi-envelope"></i>9</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between align-items-center mt-3">
|
|
<span class="property-admin-card-price">210.000 €</span>
|
|
<small class="text-muted">1.800 m²</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Pagination -->
|
|
<nav class="mt-4">
|
|
<ul class="pagination justify-content-center">
|
|
<li class="page-item disabled">
|
|
<a class="page-link" href="#"><i class="bi bi-chevron-left"></i></a>
|
|
</li>
|
|
<li class="page-item active"><a class="page-link" href="#">1</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">2</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">3</a></li>
|
|
<li class="page-item">
|
|
<a class="page-link" href="#"><i class="bi bi-chevron-right"></i></a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</section>
|
|
|