'use client'; import { useState, FormEvent } from 'react'; import { useRouter } from 'next/navigation'; import { Button, Label, DateInput, Dropdown, DropdownCounter, SelectDropdown, SelectOption } from '@/components/ui'; import { dateToDaysFromToday } from '@/lib/airline-utils'; const CITIES: SelectOption[] = [ { value: 'JFK', label: 'New York (JFK)', sublabel: 'John F. Kennedy International' }, { value: 'LAX', label: 'Los Angeles (LAX)', sublabel: 'Los Angeles International' }, { value: 'ORD', label: 'Chicago (ORD)', sublabel: "O'Hare International" }, { value: 'MIA', label: 'Miami (MIA)', sublabel: 'Miami International' }, { value: 'SFO', label: 'San Francisco (SFO)', sublabel: 'San Francisco International' }, { value: 'SEA', label: 'Seattle (SEA)', sublabel: 'Seattle-Tacoma International' }, { value: 'ATL', label: 'Atlanta (ATL)', sublabel: 'Hartsfield-Jackson International' }, { value: 'DFW', label: 'Dallas (DFW)', sublabel: 'Dallas/Fort Worth International' }, ]; const PlaneIcon = () => ( ); const LocationIcon = () => ( ); export default function AirlineHero() { const router = useRouter(); const [origin, setOrigin] = useState(''); const [destination, setDestination] = useState(''); const [departDate, setDepartDate] = useState(''); const [passengers, setPassengers] = useState({ adults: 1, children: 0, infants: 0 }); const handleSearch = (e: FormEvent) => { e.preventDefault(); const params = new URLSearchParams(); if (departDate) { const daysOffset = dateToDaysFromToday(departDate); params.set('dateIndex', daysOffset.toString()); } if (origin) params.set('origin', origin); if (destination) params.set('destination', destination); params.set('adults', passengers.adults.toString()); params.set('children', passengers.children.toString()); params.set('infants', passengers.infants.toString()); router.push(`/airline/products?${params.toString()}`); }; const totalPax = passengers.adults + passengers.children + passengers.infants; return (
Compare hundreds of airlines and find the perfect flight for your journey
Direct flights available · Flexible booking · Compare 500+ airlines worldwide