110 lines
5.6 KiB
HTML
110 lines
5.6 KiB
HTML
{% load static %}
|
|
<!DOCTYPE html>
|
|
<html lang="es">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{% block title %}{% if page_title %}{{ page_title }} · {% endif %}{{ project_name|default:'Flores Software Ideas' }}{% endblock %}</title>
|
|
<meta name="description" content="{{ meta_description|default:project_description|default:'Tienda virtual para servicios tecnológicos, pagos por QR, Transfermóvil y Enzona.' }}">
|
|
{% if project_description %}
|
|
<meta property="og:description" content="{{ project_description }}">
|
|
<meta property="twitter:description" content="{{ project_description }}">
|
|
{% endif %}
|
|
{% if project_image_url %}
|
|
<meta property="og:image" content="{{ project_image_url }}">
|
|
<meta property="twitter:image" content="{{ project_image_url }}">
|
|
{% endif %}
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap" rel="stylesheet">
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
|
<link rel="stylesheet" href="{% static 'css/custom.css' %}?v={{ deployment_timestamp }}">
|
|
{% block head %}{% endblock %}
|
|
</head>
|
|
|
|
<body>
|
|
<div id="techLoader" class="tech-loader" role="status" aria-live="polite" aria-label="Cargando {{ project_name }}">
|
|
<div class="loader-grid" aria-hidden="true"></div>
|
|
<div class="loader-particles" aria-hidden="true">
|
|
<span></span><span></span><span></span><span></span><span></span><span></span>
|
|
</div>
|
|
<div class="loader-card">
|
|
<div class="loader-brand">
|
|
<span class="loader-logo image-logo">
|
|
<img src="{% static 'images/app-logo-site.png' %}?v=20260630-logo" alt="Logo {{ project_name }}" width="64" height="64" decoding="async">
|
|
</span>
|
|
<span>{{ project_name }}</span>
|
|
</div>
|
|
<div class="loader-core" aria-hidden="true">
|
|
<span class="loader-ring loader-ring-outer"></span>
|
|
<span class="loader-ring loader-ring-inner"></span>
|
|
<span class="loader-scan"></span>
|
|
<span class="loader-chip image-chip"><img src="{% static 'images/app-logo-site.png' %}?v=20260630-logo" alt="" width="72" height="72" decoding="async"></span>
|
|
</div>
|
|
<p class="loader-title">Cargando experiencia tecnológica</p>
|
|
<p class="loader-copy">Conectando catálogo, pagos QR y soporte WhatsApp...</p>
|
|
<div class="loader-progress" aria-hidden="true"><span></span></div>
|
|
</div>
|
|
</div>
|
|
|
|
<nav class="navbar navbar-expand-lg navbar-dark app-nav sticky-top">
|
|
<div class="container">
|
|
<a class="navbar-brand brand-mark" href="{% url 'home' %}" aria-label="Inicio {{ project_name }}">
|
|
<span class="brand-logo image-logo"><img src="{% static 'images/app-logo-site.png' %}?v=20260630-logo" alt="Logo {{ project_name }}" width="64" height="64" decoding="async"></span><span>{{ project_name }}</span>
|
|
</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#mainNav" aria-controls="mainNav" aria-expanded="false" aria-label="Abrir navegación">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="mainNav">
|
|
<ul class="navbar-nav ms-auto align-items-lg-center gap-lg-2">
|
|
<li class="nav-item"><a class="nav-link" href="{% url 'catalog' %}">Catálogo</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="{% url 'confirm_payment' %}">Confirmar pago</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="/admin/">Admin</a></li>
|
|
<li class="nav-item"><a class="btn btn-accent btn-sm" href="https://wa.me/{{ whatsapp_number }}" target="_blank" rel="noopener"><i class="bi bi-whatsapp me-1"></i> WhatsApp</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
{% if messages %}
|
|
<div class="container mt-3">
|
|
{% for message in messages %}
|
|
<div class="alert alert-{{ message.tags|default:'info' }} shadow-sm" role="alert">{{ message }}</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
<a class="whatsapp-float" href="https://wa.me/{{ whatsapp_number }}" target="_blank" rel="noopener" aria-label="Contactar por WhatsApp">
|
|
<i class="bi bi-whatsapp"></i>
|
|
</a>
|
|
|
|
<footer class="site-footer">
|
|
<div class="container d-flex flex-column flex-md-row justify-content-between gap-3">
|
|
<div class="footer-brand">
|
|
<span class="footer-logo image-logo"><img src="{% static 'images/app-logo-site.png' %}?v=20260630-logo" alt="Logo {{ project_name }}" width="56" height="56" loading="lazy" decoding="async"></span>
|
|
<span><strong>{{ project_name }}</strong><br><span>Tiendas virtuales, páginas web y apps móviles para crecer.</span></span>
|
|
</div>
|
|
<div class="footer-payments">QR · Transfermóvil · Enzona · Transferencia</div>
|
|
</div>
|
|
</footer>
|
|
|
|
<script>
|
|
window.addEventListener('load', function () {
|
|
var loader = document.getElementById('techLoader');
|
|
if (!loader) return;
|
|
window.setTimeout(function () { loader.classList.add('is-hidden'); }, 450);
|
|
});
|
|
window.setTimeout(function () {
|
|
var loader = document.getElementById('techLoader');
|
|
if (loader) loader.classList.add('is-hidden');
|
|
}, 3200);
|
|
</script>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
|
</body>
|
|
|
|
</html>
|