Skip to main content

Contact Page Component

The Contact page (pages/Contact.tsx) provides a contact form and displays company contact information across multiple locations.

Purpose

The Contact page:
  • Provides a contact form for inquiries
  • Displays company contact information (email, phone, addresses)
  • Shows multiple office locations
  • Encourages customer communication
  • Maintains consistent branding with hero section

Data Sources

Static Content

Contact Data Structure

Page Structure

1. Hero Section

Full-width header with background image:
Location: pages/Contact.tsx:16-44 Features:
  • Background image with dark overlay
  • Gradient overlay for text readability
  • Animated badge indicator
  • Responsive text sizing

2. Contact Form (Left Column)

Glassmorphic contact form with multiple fields:
Location: pages/Contact.tsx:51-110 Form Fields:
  • First Name (text input)
  • Last Name (text input)
  • Email (email input)
  • Topic (text input)
  • Message (textarea, 4 rows)
  • Submit button
The form currently uses type="button" and does not have submit functionality. You’ll need to add form handling logic for production use.

3. Contact Information (Right Column)

Company contact details with icons:
Location: pages/Contact.tsx:113-157 Contact Details Displayed:
  • Two office locations (from 4 available)
  • Email address
  • Phone number

Location Data

The application has 4 global locations defined:
The Contact page shows only the first 2 locations (Colombia and USA):

Components Used

GlassCard

SEO Component

Icons

  • Send - Info section badge
  • MapPin - Location markers
  • Mail - Email icon
  • Phone - Phone icon

Layout Structure

Grid Layout

Responsive Behavior:
  • Mobile: Single column, form on top
  • Desktop (lg): Two columns, form spans 2 rows

Form Styling

Input Fields

Features:
  • Dark glassmorphic background
  • White border with low opacity
  • Focus state: Brand green border + ring
  • Smooth transitions
  • Gray placeholder text

Submit Button

Hover Effect:
  • Default: Green background, dark text
  • Hover: White background, green text

Responsive Design

  • Single column layout
  • Form fields stack vertically
  • Contact info below form
  • Full-width inputs

Icon Card Pattern

Reusable pattern for contact info items:

Styling Patterns

Glassmorphism

Gradient Backgrounds

Focus States

Code Example

Future Enhancements

The contact form currently lacks:
  • Form validation
  • Submit handler
  • API integration
  • Success/error states
  • Loading states during submission
You’ll need to implement these features for production use.

Suggested Implementation

  • Home Page - Links to contact in hero section
  • Solutions Page - Quote CTA links to contact
  • Footer - Contains contact links across all pages