import React, { useState, useEffect, useRef } from 'react';
import { Link } from 'react-router-dom';
import { colors, tailwindClasses } from '../theme';
export default function LandingAnimated() {
const [isScrolled, setIsScrolled] = useState(false);
const [activeSection, setActiveSection] = useState('inicio');
const [visibleElements, setVisibleElements] = useState(new Set());
const [contactForm, setContactForm] = useState({
name: '',
email: '',
company: '',
message: ''
});
const currentYear = new Date().getFullYear();
const observerRef = useRef(null);
const sectionsRef = useRef({});
// Configurar Intersection Observer para animaciones y navegación activa
useEffect(() => {
// Observer para animaciones de elementos
const animationObserver = new IntersectionObserver(
(entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
const elementId = entry.target.dataset.animate;
if (elementId) {
setVisibleElements(prev => new Set([...prev, elementId]));
}
}
});
},
{
threshold: 0.1,
rootMargin: '0px 0px -100px 0px'
}
);
// Observer para navegación activa
const navigationObserver = new IntersectionObserver(
(entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
setActiveSection(entry.target.id);
}
});
},
{
threshold: 0.3,
rootMargin: '-20% 0px -70% 0px'
}
);
// Observar elementos para animaciones
const animatedElements = document.querySelectorAll('[data-animate]');
animatedElements.forEach(el => animationObserver.observe(el));
// Observar secciones para navegación
const sections = document.querySelectorAll('section[id]');
sections.forEach(section => navigationObserver.observe(section));
return () => {
animationObserver.disconnect();
navigationObserver.disconnect();
};
}, []);
// Efecto de scroll para navbar
useEffect(() => {
const handleScroll = () => {
setIsScrolled(window.scrollY > 50);
};
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, []);
// Smooth scroll para navegación
const scrollToSection = (sectionId) => {
const element = document.getElementById(sectionId);
if (element) {
element.scrollIntoView({
behavior: 'smooth',
block: 'start'
});
}
};
const handleContactSubmit = (e) => {
e.preventDefault();
alert('Gracias por tu mensaje. Nos pondremos en contacto contigo pronto.');
setContactForm({ name: '', email: '', company: '', message: '' });
};
// Clase de animación condicional
const getAnimationClass = (elementId, baseClass = '') => {
return visibleElements.has(elementId)
? `${baseClass} animate-fade-in-up opacity-100 translate-y-0`
: `${baseClass} opacity-0 translate-y-8`;
};
// Estadísticas animadas
const stats = [
{ number: '350+', label: 'Clientes', icon: '🏢' },
{ number: '15,000+', label: 'Pedimentos Procesados', icon: '📋' },
{ number: '99.9%', label: 'Uptime Garantizado', icon: '⚡' },
{ number: '24/7', label: 'Soporte Especializado', icon: '🛡️' }
];
return (
{/* Navbar flotante con efectos */}
EFC
{[
{ id: 'inicio', label: 'Inicio' },
{ id: 'estadisticas', label: 'Confianza' },
{ id: 'caracteristicas', label: 'Características' },
{ id: 'testimonios', label: 'Testimonios' },
{ id: 'precios', label: 'Precios' },
{ id: 'contacto', label: 'Contacto' }
].map((item) => (
scrollToSection(item.id)}
className={`relative text-sm font-medium transition-all duration-300 hover:scale-105 group`}
style={{
color: item.id === 'inicio'
? (isScrolled
? (activeSection === 'inicio' ? '#1B2A41' : '#333333')
: (activeSection === 'inicio' ? 'white' : 'white'))
: (activeSection === item.id
? '#1B2A41'
: isScrolled
? '#333333'
: 'white')
}}
onMouseEnter={(e) => {
if (activeSection !== item.id) {
if (item.id === 'inicio') {
e.target.style.color = isScrolled ? '#1B2A41' : '#4DA6FF';
} else {
e.target.style.color = isScrolled ? '#1B2A41' : '#4DA6FF';
}
}
}}
onMouseLeave={(e) => {
if (activeSection !== item.id) {
if (item.id === 'inicio') {
e.target.style.color = isScrolled ? '#333333' : 'white';
} else {
e.target.style.color = isScrolled ? '#333333' : 'white';
}
}
}}
>
{item.label}
))}
{
e.target.style.background = 'linear-gradient(to right, #162234, #1976D2)';
}}
onMouseLeave={(e) => {
e.target.style.background = 'linear-gradient(to right, #1B2A41, #4DA6FF)';
}}
>
Acceder
{/* Hero Section con efectos de gradiente animado */}
{/* Background con imagen */}
{/* Imagen de fondo */}
{/* Overlay para oscurecer la imagen y mejorar legibilidad */}
{/* Efectos adicionales */}
EFC
Para Agentes Aduanales
e Importadores
La plataforma líder desarrollada por
Aduanasoft® para
digitalizar y optimizar
{' '}todos tus procesos de comercio exterior con tecnología de vanguardia
{
e.target.style.background = 'linear-gradient(to right, #F2F4F7, white)';
}}
onMouseLeave={(e) => {
e.target.style.background = 'linear-gradient(to right, white, #F2F4F7)';
}}
>
Comenzar Ahora
scrollToSection('caracteristicas')}
className="inline-flex items-center px-8 py-4 text-lg font-semibold text-white transition-all duration-300 bg-transparent border-2 rounded-full group border-white/30 hover:border-white hover:bg-white/10 backdrop-blur-sm"
>
Ver Demo
{/* Floating cards con efectos */}
{[
{ icon: '🚀', title: 'Rápido', desc: 'Procesamiento instantáneo' },
{ icon: '🔒', title: 'Seguro', desc: 'Cifrado de nivel bancario' },
{ icon: '📊', title: 'Inteligente', desc: 'IA para optimización' },
].map((feature, index) => (
{feature.icon}
{feature.title}
{feature.desc}
))}
{/* Scroll indicator animado */}
scrollToSection('estadisticas')}
className="transition-colors duration-200 text-white/70 hover:text-white"
>
{/* Sección de Estadísticas y Confianza */}
Más de 350 empresas confían en nosotros
Desarrollado por Aduanasoft® ,
líderes en tecnología aduanal con más de 29 años de experiencia
{/* Stats con animaciones */}
{stats.map((stat, index) => (
{stat.icon}
{stat.number}
{stat.label}
))}
{/* AduanaSoft Info */}
Acerca de Aduanasoft
{[
"29+ años especializados en software aduanal",
"Equipo experto en comercio exterior y tecnología",
"Certificación SAT y cumplimiento normativo total",
"Soporte 24/7 con especialistas aduanales"
].map((item, idx) => (
{item.split(' ')[0]} {item.split(' ')[1]} {item.split(' ').slice(2).join(' ')}
))}
🏆
Líder del Mercado
Reconocidos como la mejor solución tecnológica para agentes aduanales en México
{/* Características con efectos interactivos */}
Soluciones Especializadas para Comercio Exterior
Herramientas diseñadas específicamente para las necesidades de agentes aduanales e importadores
{[
{
icon: '📋',
title: 'Gestión de Pedimentos',
description: 'Administra pedimentos de importación y exportación, documentos aduanales, clasificaciones arancelarias y toda la documentación requerida por el SAT.',
features: ['Validación automática SAT', 'Clasificación arancelaria', 'Cálculo de impuestos', 'Trazabilidad completa']
},
{
icon: '🏢',
title: 'Control por Organización',
description: 'Gestiona múltiples clientes importadores con espacios de trabajo separados, permisos granulares y control total sobre el acceso a la información.',
features: ['Multi-tenancy', 'Roles y permisos', 'Auditoría completa', 'Segregación de datos']
},
{
icon: '📊',
title: 'Reportes Aduanales',
description: 'Genera reportes especializados para auditorías, seguimiento de operaciones aduanales, estadísticas de importación y cumplimiento normativo.',
features: ['Dashboards en tiempo real', 'Exportación múltiple', 'KPIs personalizados', 'Alertas automáticas']
}
].map((feature, index) => (
{feature.icon}
{feature.title}
{feature.description}
{feature.features.map((item, idx) => (
{item}
))}
Conocer más →
))}
{/* Precios */}
Planes diseñados para tu crecimiento
Desde agentes independientes hasta grandes corporativos
{[
{
name: 'Starter',
// price: '$2,999',
period: '/mes',
description: 'Perfecto para agentes aduanales independientes',
features: [
'Hasta 50 pedimentos/mes',
'5 GB almacenamiento',
'Soporte por email',
'Reportes básicos',
'2 usuarios'
],
popular: false
},
{
name: 'Professional',
// price: '$5,999',
period: '/mes',
description: 'Ideal para agencias medianas',
features: [
'Hasta 200 pedimentos/mes',
'20 GB almacenamiento',
'Soporte prioritario',
'Reportes avanzados',
'10 usuarios',
'API acceso',
'Integraciones SAT'
],
popular: true
},
{
name: 'Enterprise',
price: 'Personalizado',
period: '',
description: 'Para grandes corporativos',
features: [
'Pedimentos ilimitados',
'Almacenamiento ilimitado',
'Soporte 24/7 dedicado',
'Reportes personalizados',
'Usuarios ilimitados',
'API completa',
'Implementación dedicada',
'SLA garantizado'
],
popular: false
}
].map((plan, index) => (
{plan.popular && (
Más Popular
)}
{plan.name}
{plan.description}
{/*
{plan.price}
{plan.period}
*/}
{plan.features.map((feature, idx) => (
{feature}
))}
scrollToSection('contacto')}
className={`w-full py-3 px-6 rounded-full font-semibold transition-all duration-200 ${
plan.popular
? 'bg-gradient-to-r from-indigo-600 to-purple-600 text-white hover:from-indigo-700 hover:to-purple-700 shadow-lg hover:shadow-xl'
: 'bg-gray-100 text-gray-900 hover:bg-gray-200'
}`}
>
{plan.name === 'Enterprise' ? 'Contactar Ventas' : 'Comenzar Prueba'}
))}
{/* Contacto */}
{/* Footer */}
EFC
{/*
Uso correcto Aduanasoft®
*/}
{/*
+350 clientes en todo el país
29 años de experiencia
*/}
Producto
scrollToSection('caracteristicas')} className="transition-colors duration-200 hover:text-white">Características
scrollToSection('precios')} className="transition-colors duration-200 hover:text-white">Precios
Integraciónes
API
© {currentYear} EFC by Aduanasoft® .
Todos los derechos reservados. | Solución especializada para Agentes Aduanales e Importadores.
);
}