Files
TenerifeProp/public/admin/properties.html
TenerifeProp Dev 9cffbb3bf3 refactor: split admin.html into modular section files with dynamic loading
- 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
2026-04-07 00:25:36 +01:00

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>