Cbteam's picture
Promote version 2cf4221 to main
407f76b verified
Raw
History Blame Contribute Delete
18.5 kB
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BBVA Bancomer - Generador de Recibos</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.min.js"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body {
font-family: 'Inter', sans-serif;
}
.bbva-gradient {
background: linear-gradient(135deg, #004481 0%, #0072CE 100%);
}
.receipt-shadow {
box-shadow: 0 20px 60px rgba(0, 66, 129, 0.15);
}
.security-pattern {
background-image: radial-gradient(#0072CE 1px, transparent 1px);
background-size: 20px 20px;
}
.input-glow:focus {
box-shadow: 0 0 0 3px rgba(0, 114, 206, 0.1);
}
</style>
</head>
<body class="bg-gray-50 min-h-screen">
<!-- Header -->
<header class="bbva-gradient text-white py-6">
<div class="container mx-auto px-4">
<div class="flex items-center justify-between">
<div class="flex items-center space-x-3">
<div class="w-12 h-12 bg-white/20 rounded-full flex items-center justify-center">
<i data-feather="file-text" class="w-6 h-6"></i>
</div>
<div>
<h1 class="text-2xl font-bold">BBVA Bancomer</h1>
<p class="text-blue-100 text-sm">Generador de Recibos Digitales</p>
</div>
</div>
<div class="hidden md:flex items-center space-x-2 text-sm">
<div class="flex items-center space-x-1">
<i data-feather="shield" class="w-4 h-4"></i>
<span>Seguro</span>
</div>
<div class="w-1 h-1 bg-white/40 rounded-full"></div>
<div class="flex items-center space-x-1">
<i data-feather="check-circle" class="w-4 h-4"></i>
<span>Confiable</span>
</div>
<div class="w-1 h-1 bg-white/40 rounded-full"></div>
<div class="flex items-center space-x-1">
<i data-feather="award" class="w-4 h-4"></i>
<span>Oficial</span>
</div>
</div>
</div>
</div>
</header>
<!-- Main Content -->
<main class="container mx-auto px-4 py-8">
<div class="grid lg:grid-cols-2 gap-8">
<!-- Form Section -->
<div class="space-y-8">
<div class="bg-white rounded-2xl p-6 receipt-shadow">
<h2 class="text-xl font-semibold text-gray-800 mb-6">Ingresar Datos del Recibo</h2>
<div class="grid md:grid-cols-2 gap-4">
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Tipo de Operaci贸n</label>
<select class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 input-glow">
<option>Transferencia</option>
<option>Dep贸sito</option>
<option>Retiro</option>
<option>Pago de Servicio</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Fecha</label>
<input type="date" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 input-glow">
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Referencia</label>
<input type="text" placeholder="Ingrese referencia" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 input-glow">
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Monto</label>
<div class="relative">
<span class="absolute left-4 top-3 text-gray-500">$</span>
<input type="number" placeholder="0.00" class="w-full px-12 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 input-glow">
</div>
</div>
<div class="md:col-span-2">
<label class="block text-sm font-medium text-gray-700 mb-2">Concepto</label>
<input type="text" placeholder="Descripci贸n del concepto" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 input-glow">
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Cuenta Origen</label>
<input type="text" placeholder="****----" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 input-glow">
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Cuenta Destino</label>
<input type="text" placeholder="****----" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 input-glow">
</div>
<div class="md:col-span-2">
<label class="block text-sm font-medium text-gray-700 mb-2">Beneficiario</label>
<input type="text" placeholder="Nombre del beneficiario" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 input-glow">
</div>
</div>
<div class="flex flex-col sm:flex-row gap-3 mt-6">
<button class="flex-1 bg-blue-600 hover:bg-blue-700 text-white py-3 px-6 rounded-lg font-medium transition duration-200 flex items-center justify-center space-x-2">
<i data-feather="download" class="w-4 h-4"></i>
<span>Descargar PDF</span>
</button>
<button class="flex-1 bg-green-600 hover:bg-green-700 text-white py-3 px-6 rounded-lg font-medium transition duration-200 flex items-center justify-center space-x-2">
<i data-feather="camera" class="w-4 h-4"></i>
<span>Capturar Pantalla</span>
</button>
</div>
</div>
<!-- Features -->
<div class="bg-white rounded-2xl p-6 receipt-shadow">
<h2 class="text-xl font-semibold text-gray-800 mb-6">Caracter铆sticas del Recibo</h2>
<div class="grid md:grid-cols-3 gap-6">
<div class="text-center">
<div class="w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i data-feather="shield" class="w-8 h-8 text-blue-600"></i>
</div>
<h3 class="font-semibold text-gray-800 mb-2">Dise帽o Oficial</h3>
<p class="text-gray-600 text-sm">Replica exacta del formato BBVA Bancomer con todos los elementos de seguridad</p>
</div>
<div class="text-center">
<div class="w-16 h-16 bg-green-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i data-feather="check-circle" class="w-8 h-8 text-green-600"></i>
</div>
<h3 class="font-semibold text-gray-800 mb-2">Informaci贸n Completa</h3>
<p class="text-gray-600 text-sm">Incluye todos los campos necesarios para un comprobante v谩lido</p>
</div>
<div class="text-center">
<div class="w-16 h-16 bg-purple-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i data-feather="layers" class="w-8 h-8 text-purple-600"></i>
</div>
<h3 class="font-semibold text-gray-800 mb-2">Formatos M煤ltiples</h3>
<p class="text-gray-600 text-sm">Genera en PDF o captura de pantalla seg煤n tus necesidades</p>
</div>
</div>
</div>
</div>
<!-- Preview Section -->
<div class="sticky top-8">
<div class="bg-white rounded-2xl p-8 receipt-shadow security-pattern">
<div class="relative">
<!-- BBVA Header -->
<div class="bbva-gradient text-white rounded-t-2xl p-6 mb-6">
<div class="flex items-center justify-between">
<div class="flex items-center space-x-3">
<div class="w-10 h-10 bg-white/20 rounded-full flex items-center justify-center">
<i data-feather="dollar-sign" class="w-5 h-5"></i>
</div>
<div>
<h2 class="text-xl font-bold">BBVA BANCOMER</h2>
<p class="text-blue-100 text-sm">Comprobante Digital</p>
</div>
</div>
<div class="text-blue-100">
<i data-feather="lock" class="w-5 h-5"></i>
</div>
</div>
</div>
<!-- Receipt Content -->
<div class="space-y-4">
<div class="flex justify-between border-b border-gray-200 pb-2">
<span class="text-gray-600">Tipo de Operaci贸n:</span>
<span class="font-medium" id="preview-operation">Transferencia</span>
</div>
<div class="flex justify-between border-b border-gray-200 pb-2">
<span class="text-gray-600">Fecha:</span>
<span class="font-medium" id="preview-date">--/--/----</span>
</div>
<div class="flex justify-between border-b border-gray-200 pb-2">
<span class="text-gray-600">Referencia:</span>
<span class="font-medium" id="preview-reference">------------</span>
</div>
<div class="flex justify-between border-b border-gray-200 pb-2">
<span class="text-gray-600">Monto:</span>
<span class="font-semibold text-green-600 text-lg" id="preview-amount">$0.00</span>
</div>
<div class="flex justify-between border-b border-gray-200 pb-2">
<span class="text-gray-600">Concepto:</span>
<span class="font-medium" id="preview-concept">-</span>
</div>
<div class="flex justify-between border-b border-gray-200 pb-2">
<span class="text-gray-600">Cuenta Origen:</span>
<span class="font-medium" id="preview-origin">****----</span>
</div>
<div class="flex justify-between border-b border-gray-200 pb-2">
<span class="text-gray-600">Cuenta Destino:</span>
<span class="font-medium" id="preview-destination">****----</span>
</div>
<div class="flex justify-between border-b border-gray-200 pb-2">
<span class="text-gray-600">Beneficiario:</span>
<span class="font-medium" id="preview-beneficiary">-</span>
</div>
</div>
<!-- Footer -->
<div class="mt-8 pt-6 border-t border-gray-200">
<p class="text-center text-gray-500 text-sm mb-4">
Este comprobante es v谩lido como constancia de la operaci贸n realizada
</p>
<div class="text-center">
<div class="w-24 h-8 bg-blue-600 mx-auto rounded flex items-center justify-center mb-2">
<span class="text-white text-xs font-bold">BBVA M脡XICO</div>
<p class="text-gray-400 text-xs">Todos los derechos reservados</p>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<!-- Footer -->
<footer class="bg-gray-800 text-white py-8 mt-12">
<div class="container mx-auto px-4">
<div class="text-center">
<p class="text-gray-400 text-sm">
漏 2024 BBVA Bancomer M茅xico. Esta es una herramienta de demostraci贸n.
</p>
<p class="text-gray-500 text-xs mt-2">
Para uso educativo 煤nicamente
</p>
</div>
</div>
</footer>
<script>
// Initialize Feather Icons
feather.replace();
// Real-time preview update
document.addEventListener('DOMContentLoaded', function() {
const inputs = document.querySelectorAll('input, select');
inputs.forEach(input => {
input.addEventListener('input', updatePreview);
input.addEventListener('change', updatePreview);
});
function updatePreview() {
const operation = document.querySelector('select').value;
const date = document.querySelector('input[type="date"]').value;
const reference = document.querySelector('input[placeholder="Ingrese referencia"]').value;
const amount = document.querySelector('input[type="number"]').value;
const concept = document.querySelector('input[placeholder="Descripci贸n del concepto"]').value;
const origin = document.querySelector('input[placeholder="****----"]').value;
const destination = document.querySelectorAll('input[placeholder="****----"]')[1].value;
const beneficiary = document.querySelector('input[placeholder="Nombre del beneficiario"]').value;
document.getElementById('preview-operation').textContent = operation || 'Transferencia';
if (date) {
const formattedDate = new Date(date).toLocaleDateString('es-MX');
document.getElementById('preview-date').textContent = formattedDate;
} else {
document.getElementById('preview-date').textContent = '--/--/----';
}
document.getElementById('preview-reference').textContent = reference || '------------';
document.getElementById('preview-amount').textContent = amount ? `$${parseFloat(amount).toFixed(2)}` : '$0.00';
document.getElementById('preview-concept').textContent = concept || '-';
document.getElementById('preview-origin').textContent = origin || '****----';
document.getElementById('preview-destination').textContent = destination || '****----';
document.getElementById('preview-beneficiary').textContent = beneficiary || '-';
}
// Add some animation to buttons
const buttons = document.querySelectorAll('button');
buttons.forEach(button => {
button.addEventListener('mouseenter', function() {
anime({
targets: this,
scale: 1.05,
duration: 200
});
});
button.addEventListener('mouseleave', function() {
anime({
targets: this,
scale: 1,
duration: 200
});
});
});
});
</script>
</body>
</html>