"use client"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { Calendar, ArrowRight } from "lucide-react"; import { tomorrowDateString, addMonths } from "@/src/lib/date"; interface AvailabilitySearchBarProps { locale: string; defaultArrival?: string; defaultMonths?: number; } export function AvailabilitySearchBar({ locale, defaultArrival, defaultMonths, }: AvailabilitySearchBarProps) { const t = useTranslations("houses.search"); const router = useRouter(); const [arrival, setArrival] = useState(defaultArrival || tomorrowDateString()); const [months, setMonths] = useState(defaultMonths || 3); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); const departure = addMonths(arrival, months); const searchParams = new URLSearchParams({ arrival, departure, months: String(months), }); router.push(`/${locale}/houses?${searchParams.toString()}`); }; return (
setArrival(e.target.value)} className="w-full px-4 py-3 rounded-xl border-2 border-brand-grey-soft/60 bg-brand-grey-soft/20 text-brand-grey-dark focus:outline-none focus:ring-2 focus:ring-brand-green focus:border-transparent transition-all" />
setMonths(Number(e.target.value))} className="w-full px-4 py-3 text-center rounded-xl border-2 border-brand-grey-soft/60 bg-brand-grey-soft/20 text-brand-grey-dark focus:outline-none focus:ring-2 focus:ring-brand-green focus:border-transparent transition-all" />
); }