Component organization
Landing components are organized into feature directories:landing/home/: Homepage componentslanding/empresas/: Company-facing landing page componentslanding/nosotros/: About us page componentslanding/trabajos/: Public job board componentslanding/salarios/: Salary information page components
Animation patterns
All landing components use Motion for animations with these patterns:Common animation properties
- Initial state:
initial={{ opacity: 0, y: 40 }} - Animate state:
animate={{ opacity: 1, y: 0 }}orwhileInView={{ opacity: 1, y: 0 }} - Viewport config:
viewport={{ once: true, margin: LANDING_ANIMATION.viewportMargin }} - Transitions: Use
t(delay)for fade/slide,ts(delay)for spring animations - Staggering: Use
LANDING_ANIMATION.chainStaggerfor sequential animations
Home page components
Hero
The main hero section with search functionality and gradient background.landing/home/Hero.tsx
Features
- Animated gradient background with multiple color blurs
- Job search inputs with location filtering
- Quick action buttons for different user types
- Full viewport height with centered content
- Spring animations for smooth entrance
Structure
Categories
Displays job categories with animated cards.landing/home/Categories.tsx
Features
- Grid layout (1/2/3 columns responsive)
- Category cards with icons and job counts
- Staggered card animations
- Data-driven from
CATEGORIES_HOMEinlib/data/home-data.ts - Gradient icons with custom colors per category
Data structure
How it works
Explains the platform process with visual steps.landing/home/HowItWorks.tsx
For students
Section highlighting benefits for students.landing/home/ForStudents.tsx
Transparency guarantee
Section emphasizing transparency and trust.landing/home/TransparencyGuarantee.tsx
CTA
Call-to-action section for user registration.landing/home/CTA.tsx
Beam section
Decorative section with animated beam effect.landing/home/BeamSection.tsx
Common subdirectory
Thelanding/home/common/ directory contains shared components:
AdnBeam.tsx: DNA-inspired animated beam component
Companies page components
Components for the employer-facing landing page at/empresas.
Hero empresas
Hero section targeting company recruiters.landing/empresas/HeroEmpresas.tsx
Features ATS
Showcases the applicant tracking system features.landing/empresas/FeaturesATS.tsx
Propuesta valor
Value proposition section for companies.landing/empresas/PropuestaValor.tsx
Pricing
Pricing plans and options.landing/empresas/Pricing.tsx
Testimonials
Company testimonials and reviews.landing/empresas/Testimonios.tsx
FAQ
Frequently asked questions with animated accordion.landing/empresas/FAQ.tsx
Features
- Animated accordion from
components/animate-ui - Data-driven from
FAQS_EMPRESASinlib/data/empresas-data.ts - Custom transition timing with reduced motion support
- Preserves content when collapsed with
keepRendered
Data structure
Como funciona empresas
How the platform works for companies.landing/empresas/ComoFuncionaEmpresas.tsx
Logos empresas
Showcase of partner company logos.landing/empresas/LogosEmpresas.tsx
CTA contacto
Call-to-action for company contact.landing/empresas/CTAContacto.tsx
About us page components
Components for the/nosotros about us page.
Nosotros hero
landing/nosotros/NosotrosHero.tsx
Historia mision
Company history and mission statement.landing/nosotros/HistoriaMision.tsx
Problema solucion
Problem and solution explanation.landing/nosotros/ProblemaSolucion.tsx
Equipo
Team member showcase.landing/nosotros/Equipo.tsx
CTA nosotros
landing/nosotros/CTANosotros.tsx
Jobs page components
Components for the public job board at/trabajos.
Trabajos hero
landing/trabajos/TrabajosHero.tsx
Trabajos search filters
Search and filter controls for job listings.landing/trabajos/TrabajosSearchFilters.tsx
Trabajos list
Job listing cards with pagination.landing/trabajos/TrabajosList.tsx
Trabajos page content
Main content container combining all trabajos components.landing/trabajos/TrabajosPageContent.tsx
Salary page components
Components for the salary insights page at/salarios.
Salarios hero
landing/salarios/SalariosHero.tsx
Salarios por carrera
Salary breakdown by career field.landing/salarios/SalariosPorCarrera.tsx
Salarios por educacion
Salary data by education level.landing/salarios/SalariosPorEducacion.tsx
Salarios por industria
Salary insights by industry sector.landing/salarios/SalariosPorIndustria.tsx
Salarios por region
Regional salary comparisons.landing/salarios/SalariosPorRegion.tsx
Salarios conclusiones
Key insights and conclusions from salary data.landing/salarios/SalariosConclusiones.tsx
Component patterns
All landing components follow these conventions:Event handlers
Usehandle prefix for event handler functions:
Animation helpers
Define transition helpers at the component level:Section structure
Follow consistent section markup:Responsive design
Use responsive utility classes:Data integration
Load data from centralized data files:Styling conventions
- Gradient backgrounds: Use
bg-gradient-to-brwith color stops - Blur effects: Use
blur-2xlorblur-3xlfor soft backgrounds - Spacing: Consistent
py-24for section padding - Max width:
max-w-7xlfor content containers - Text colors:
text-gray-900for headings,text-gray-600for body - Cards:
bg-white/80 backdrop-blur-smfor glassmorphism effects
Accessibility
Landing components include:- Semantic HTML (
section,h1,h2,p) - Reduced motion support via
useReducedMotion() - Keyboard navigation for interactive elements
- Proper heading hierarchy
- Alt text for images and icons
- ARIA labels where appropriate