{"version":3,"file":"static/chunks/63-2b420eb5e11034d4.js","mappings":"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","sources":["webpack://_N_E/./src/commons/CarSearch.tsx","webpack://_N_E/./src/commons/helpers/dateUtils.tsx","webpack://_N_E/./src/components/Buttons/ModalsButton.tsx","webpack://_N_E/./src/components/Header/Avatar.tsx","webpack://_N_E/./src/components/Header/Logo.tsx","webpack://_N_E/./src/components/Header/SearchBar/DateTimePicker.tsx","webpack://_N_E/./src/components/Header/SearchBar/SearchBar.tsx","webpack://_N_E/./src/components/Header/MenuItems.tsx","webpack://_N_E/./src/constants/menuData.tsx","webpack://_N_E/./src/components/Header/WhatsappButton.tsx","webpack://_N_E/./src/components/Header/UserMenu.tsx","webpack://_N_E/./src/components/Header/LinksNavbarItem.tsx","webpack://_N_E/./src/components/Header/LinksNavBar.tsx","webpack://_N_E/./src/components/Header/Header.tsx","webpack://_N_E/./src/components/Footer/FooterTitle.tsx","webpack://_N_E/./src/components/Footer/FooterLink.tsx","webpack://_N_E/./src/components/Footer/FooterSocialMedia.tsx","webpack://_N_E/./src/components/Footer/FooterStore.tsx","webpack://_N_E/./src/components/Footer/Footer.tsx","webpack://_N_E/./src/components/Modals/register/RegisterModal.tsx","webpack://_N_E/./src/components/Modals/login/LoginModal.tsx","webpack://_N_E/./src/components/MainScreen.tsx","webpack://_N_E/./src/components/Modals/FormsHeading.tsx","webpack://_N_E/./src/components/Modals/Modal.tsx","webpack://_N_E/./src/components/Modals/SmallModal.tsx","webpack://_N_E/./src/components/Modals/createVehicle/AlertModal.tsx","webpack://_N_E/./src/components/Modals/login/LoginBody.tsx","webpack://_N_E/./src/components/Modals/login/LoginFooter.tsx","webpack://_N_E/./src/hooks/useValidatePhoneUser.tsx","webpack://_N_E/./src/components/Modals/validateUser/CodeInput.tsx","webpack://_N_E/./src/components/Modals/validateUser/ValidatePhoneUserMessage.tsx","webpack://_N_E/./src/hooks/useCreatedUserModal.tsx","webpack://_N_E/./src/components/Modals/validateUser/ValidatePhoneUserModal.tsx","webpack://_N_E/./src/components/Modals/register/CreatedUserMessage.tsx","webpack://_N_E/./src/components/Modals/register/CreatedUserModal.tsx","webpack://_N_E/./src/components/Modals/register/RegisterBody.tsx","webpack://_N_E/./src/components/Modals/register/RegisterFooter.tsx","webpack://_N_E/./src/components/SupportLink.tsx","webpack://_N_E/./src/hooks/useAlertModal.tsx","webpack://_N_E/./src/hooks/useEmailStore.tsx","webpack://_N_E/./src/hooks/useLoginModal.tsx","webpack://_N_E/./src/hooks/useRegisterModal.tsx","webpack://_N_E/./src/services/api/user.tsx","webpack://_N_E/./src/app/styles.css"],"sourcesContent":["// carSearchUtils.js\n\"use client\";\nimport { addDays } from \"date-fns\";\nimport { addDaysToString, formatTime } from \"@/commons/helpers/dateUtils\";\nimport useBookingDates from \"@/hooks/useBookingDates\";\nimport { useRouter, useSearchParams } from \"next/navigation\";\n\nconst SearchCars = () => {\n  const router = useRouter();\n  const searchParams = useSearchParams();\n\n  //booking date and hours variables\n  const { location, startDate, startHour, endDate, endHour } =\n    useBookingDates();\n\n  const startDateString = addDaysToString(\n    startDate ?? addDays(new Date(), 1),\n    0\n  );\n  const endDateString = addDaysToString(endDate ?? addDays(new Date(), 3), 0);\n  const startHourString = formatTime(startHour);\n  const endHourString = formatTime(endHour);\n\n  const handleSearch = (newLocation?: string) => {\n    if (newLocation === null || location === \"\") {\n      newLocation = location;\n    }\n    const period = startDateString + \",\" + endDateString;\n\n    if (searchParams && newLocation) {\n      const params = new URLSearchParams(searchParams);\n      params.set(\"location\", newLocation.toString());\n      params.set(\"period\", period);\n      params.set(\"schedule_delivery_gte\", startHourString);\n      params.set(\"schedule_return_lte\", endHourString);\n\n      router.replace(`/cars/search?${params.toString()}`);\n    }\n  };\n\n  return {\n    handleSearch,\n  };\n};\n\nexport default SearchCars;\n","import { format } from \"date-fns\";\nimport { es } from \"date-fns/locale\";\nimport { capitalizeFirstLetter } from \"./textUtils\";\n\nexport function formatDate(inputDate: string): string {\n  const [datePart, timePart] = inputDate.split(\", \");\n  const dateObj = new Date(datePart);\n  const day = dateObj.getDate();\n  const month = dateObj.getMonth() + 1;\n  const year = dateObj.getFullYear();\n\n  const formattedDay = String(day).padStart(2, \"0\");\n  const formattedMonth = String(month).padStart(2, \"0\");\n\n  return `${formattedDay}/${formattedMonth}/${year}`;\n}\n\nexport function formatDateToSpanishLocale(originalDate?: string): string {\n  try {\n    if (originalDate) {\n      // Format the date using the date-fns library with Spanish locale settings.\n      const formattedDate = format(\n        new Date(originalDate),\n        \"EEEE, d 'de' MMMM yyyy\",\n        { locale: es }\n      ).toString();\n      // Capitalize the first letter of the formatted date using a utility function.\n      return capitalizeFirstLetter(formattedDate);\n    } else {\n      // If the input date is undefined, log an error message and return an empty string.\n      console.error(\"Error formatting date: originalDate is undefined\");\n      return \"\";\n    }\n  } catch (error) {\n    // If there was an error during date formatting, log the error and return the original input date or an empty string.\n    console.error(\"Error formatting date:\", error);\n    return originalDate || \"\";\n  }\n}\n\nexport function addDaysToString(date: Date, days: number): string {\n  const newDate = new Date(date);\n  newDate.setDate(newDate.getDate() + days);\n  const stringDate = newDate.toISOString().substring(0, 10);\n  return stringDate;\n}\n\nexport function restPeriodDays(fechas: string[]): number | null {\n  if (fechas.length !== 2) {\n    console.error(\"The function requires an array of two dates.\");\n    return null;\n  }\n\n  // Create Date objects from the date strings\n  const fecha1 = new Date(fechas[0]);\n  const fecha2 = new Date(fechas[1]);\n\n  // Subtract the dates to get the difference in milliseconds\n  const daysMiliseconds = fecha2.getTime() - fecha1.getTime();\n\n  // Convert the difference from milliseconds to days\n  const days = daysMiliseconds / (1000 * 60 * 60 * 24);\n\n  return days;\n}\n\nexport function formatDateToYYYYMMDD(inputDate: string): string {\n  try {\n    const [datePart] = inputDate.split(\", \");\n    const [day, month, year] = datePart.split(\"/\");\n    const dateObj = new Date(Number(year), Number(month) - 1, Number(day));\n\n    if (isNaN(dateObj.getTime())) {\n      throw new Error(\"Fecha no válida\");\n    }\n\n    const formattedYear = String(dateObj.getFullYear());\n    const formattedMonth = String(dateObj.getMonth() + 1).padStart(2, \"0\");\n    const formattedDay = String(dateObj.getDate()).padStart(2, \"0\");\n\n    return `${formattedYear}-${formattedMonth}-${formattedDay}`;\n  } catch (error) {\n    console.error(\"Error formatting date:\", error);\n    return \"\";\n  }\n}\n\nexport function formatDateToYYYYMMDDFromISO(isoDate: string): string {\n  try {\n    // Create a Date object from the ISO string\n    const dateObj = new Date(isoDate);\n\n    if (isNaN(dateObj.getTime())) {\n      throw new Error(\"Invalid date\");\n    }\n\n    // Extract the year, month, and day\n    const formattedYear = String(dateObj.getFullYear());\n    const formattedMonth = String(dateObj.getMonth() + 1).padStart(2, \"0\");\n    const formattedDay = String(dateObj.getDate()).padStart(2, \"0\");\n\n    // Return the formatted date as yyyy-MM-dd\n    return `${formattedYear}-${formattedMonth}-${formattedDay}`;\n  } catch (error) {\n    console.error(\"Error formatting date:\", error);\n    return \"\";\n  }\n}\n\nexport function formatTime(date: Date): string {\n  const hours = String(date.getHours()).padStart(2, \"0\");\n  const minutes = String(date.getMinutes()).padStart(2, \"0\");\n  return `${hours}:${minutes}`;\n}\n\nexport function parseTimeStringToDateTime(timeString: string): Date {\n  const [hours, minutes] = timeString.split(\":\").map(Number);\n  const date = new Date();\n  date.setHours(hours);\n  date.setMinutes(minutes);\n  return date;\n}\n\nexport function formatHour(datetime?: string): string {\n  if (!datetime) return \"\";\n\n  const time = datetime.split(\" \")[1];\n  return time ? time.substring(0, 5) : \"\";\n}\n\nexport function convertToISO8601(dateStr: string): string {\n  // Asegúrate de que el formato de entrada sea \"YYYY-MM-DD HH:mm:ss\"\n  const dateParts = dateStr.split(' ');\n\n  if (dateParts.length !== 2) {\n    throw new Error('Invalid date format. Expected \"YYYY-MM-DD HH:mm:ss\"');\n  }\n\n  const [date, time] = dateParts;\n\n  // Combina la fecha y la hora con \"T\" y agrega \"Z\" para indicar UTC.\n  const isoDate = `${date}T${time}Z`;\n\n  // Retorna solo la parte sin los milisegundos\n  return isoDate;}\n","import React from \"react\";\n\ninterface Props {\n  label: string;\n  onClick?: () => void;\n  disabled?: boolean;\n  outline?: boolean;\n  small?: boolean;\n  disabledText?: string;\n  type?: \"button\" | \"submit\" | \"reset\"; // Add the type prop\n}\n\nfunction ModalsButton({\n  label,\n  onClick,\n  disabled,\n  outline,\n  small,\n  disabledText,\n  type = \"button\",\n}: Props) {\n  return (\n    <button\n      type={type}\n      disabled={disabled}\n      onClick={onClick}\n      className={`\n        relative\n        disabled:opacity-50\n        disabled:cursor-not-allowed disabled:hover:scale-100\n        rounded-lg \n        hover:opacity-80\n        hover:scale-[1.02]\n        transition\n        w-full\n        ${outline ? \"bg-white\" : \"bg-violet-700\"}\n        ${outline ? \"border-violet-700\" : \"border-violet-700\"}\n        ${outline ? \"text-violet-700\" : \"text-white\"}\n        ${small ? \"text-sm\" : \"text-md\"}\n        ${small ? \"py-2\" : \"py-3\"}\n        ${small ? \"font-light\" : \"font-semibold\"}\n        ${small ? \"border-[1px]\" : \"border-2\"}\n      `}\n    >\n      {disabled ? (\n        disabledText ? (\n          <p>{disabledText}</p>\n        ) : (\n          <p>{label}</p>\n        )\n      ) : (\n        <p>{label}</p>\n      )}\n    </button>\n  );\n}\n\nexport default ModalsButton;\n","\"use client\";\n\nimport Image from \"next/image\";\n\ninterface AvatarProps {\n  photo?: string;\n  height?: number;\n  width?: number;\n}\n\nconst Avatar: React.FC<AvatarProps> = ({ photo, height, width }) => {\n  return (\n    <Image\n      className=\"rounded-full object-cover\"\n      height={height || \"30\"}\n      width={width || \"30\"}\n      blurDataURL=\"/assets/images/placeholder.jpg\"\n      placeholder=\"blur\"\n      loading=\"lazy\"\n      quality=\"100\"\n      alt=\"Avatar\"\n      src={photo || \"/assets/images/placeholder.jpg\"}\n    />\n  );\n};\n\nexport default Avatar;\n","import LinksNavigation from \"@/constants/navigation\";\nimport Image from \"next/image\";\nimport React from \"react\";\n\nconst Logo: React.FC = () => {\n  const links = LinksNavigation();\n  return (\n    <div className=\"flex items-center\" onClick={links.handleClickHome}>\n      <Image\n        src=\"/assets/images/atua.svg\"\n        alt=\"Logotipo de ATUA - Alquiler de autos\"\n        width={90}\n        height={36}\n        priority={true}\n        className=\"h-auto w-[90px]\"\n      />\n    </div>\n  );\n};\n\nexport default Logo;\n","import ReactDatePicker from \"react-datepicker\";\nimport { es } from \"date-fns/locale\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport \"../../../app/styles.css\";\nimport { addDays } from \"date-fns\";\nimport { ChevronDownIcon } from \"@heroicons/react/24/solid\";\n\ninterface Props {\n  label: string;\n  pickDate: Date;\n  setPickDate: (date: Date) => void;\n  hour: Date;\n  setHour: (hour: Date) => void;\n  minDate?: Date;\n}\n\nfunction DateTimePicker({\n  label,\n  pickDate,\n  setPickDate,\n  hour,\n  setHour,\n  minDate,\n}: Props) {\n  return (\n    <>\n      <div className=\"flex-grow items-center align-middle pl-4\">\n        <p className=\" text-[11px] font-semibold \">{label}</p>\n        <div className=\"grid grid-cols-12 pr-2\">\n          <div className=\"flex col-span-7 h-6\">\n            <div className=\"relative\">\n              <ReactDatePicker\n                className={\n                  \"pl-2 outline-none w-full text-sm text-gray-600 placeholder-gray-400\"\n                }\n                selected={pickDate}\n                onChange={(dateSelected) => {\n                  if (dateSelected !== null) {\n                    setPickDate(dateSelected);\n                  }\n                }}\n                dateFormat={\"dd/MM/yyyy\"}\n                locale={es}\n                minDate={minDate ? addDays(minDate, 1) : new Date()}\n                calendarClassName={\"atua-date-time-picker-style\"}\n                dayClassName={(date) => {\n                  if (pickDate.toDateString() === date.toDateString()) {\n                    return \"selected-day\";\n                  }\n                  return \"\";\n                }}\n                disabledKeyboardNavigation\n                showPopperArrow={false}\n                popperPlacement=\"bottom-start\"\n              />\n              <div className=\"absolute inset-y-0 right-0 flex items-center px-2 pointer-events-none\">\n                <ChevronDownIcon className=\"h-3\" />\n              </div>\n            </div>\n          </div>\n          <div className=\"flex col-span-5 h-6\">\n            <div className=\"relative\">\n              <ReactDatePicker\n                className={\n                  \"pl-6 outline-none w-full text-sm text-gray-600 placeholder-gray-400\"\n                }\n                selected={hour}\n                onChange={(hourSelected) => {\n                  if (hourSelected !== null) {\n                    setHour(hourSelected);\n                  }\n                }}\n                locale={es}\n                minDate={minDate ? minDate : new Date()}\n                calendarClassName={\"atua-date-time-picker-style\"}\n                disabledKeyboardNavigation\n                showPopperArrow={false}\n                popperPlacement=\"bottom-start\"\n                showTimeSelect\n                showTimeSelectOnly\n                timeIntervals={30}\n                timeCaption=\"Hora\"\n                dateFormat=\"h:mm aa\"\n              />\n              <div className=\"absolute inset-y-0 right-0 flex items-center px-2 pointer-events-none\">\n                <ChevronDownIcon className=\"h-3\" />\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n}\n\nexport default DateTimePicker;\n","\"use client\";\nimport format from \"date-fns/format\";\nimport { MagnifyingGlassIcon } from \"@heroicons/react/24/solid\";\nimport React, { useEffect, useState } from \"react\";\nimport PlacesAutocomplete from \"../../Search/Maps/PlacesAutocomplete\";\nimport ModalsButton from \"../../Buttons/ModalsButton\";\nimport { ChevronDownIcon } from \"@heroicons/react/24/outline\";\nimport useOnclickOutside from \"react-cool-onclickoutside\";\nimport DateTimePicker from \"./DateTimePicker\";\nimport useBookingDates from \"@/hooks/useBookingDates\";\nimport SearchCars from \"@/commons/CarSearch\";\nimport { addDays } from \"date-fns\";\n\ninterface Props {\n  landingPage?: boolean;\n}\n\nconst SearchBar = ({ landingPage }: Props) => {\n  //ScreenSize variables\n  const [isLarge, setIsLarge] = useState(window.innerWidth >= 768);\n  const [isMedNavBar, setIsMedNavBar] = useState(\n    window.innerWidth >= 1024 && !landingPage\n  );\n  const [placeName, setPlaceName] = useState(\"\");\n\n  //booking date and hours variables\n  const {\n    location,\n    place,\n    startDate,\n    startHour,\n    endDate,\n    endHour,\n    setLocation,\n    setPlace,\n    setStartDate,\n    setStartHour,\n    setEndDate,\n    setEndHour,\n  } = useBookingDates();\n  const searchCars = SearchCars();\n  //Controler data picker show status\n  const [showSearchBox, setShowSearchBox] = useState(false);\n  //Locaction variables\n\n  const placeLabel = \"Lugar de entrega:\";\n  const toDateLabel = \"Hasta:\";\n\n  // Effect to adjust the UI based on window resize\n  useEffect(() => {\n    function handleResize() {\n      setIsLarge(window.innerWidth >= 768);\n      setIsMedNavBar(window.innerWidth >= 1024);\n    }\n    window.addEventListener(\"resize\", handleResize);\n    handleResize();\n    return () => window.removeEventListener(\"resize\", handleResize);\n  }, []);\n\n  // Verificar si endDate es menor que startDate\n  useEffect(() => {\n    if (endDate < startDate) {\n      const newEndDate = addDays(startDate, 3);\n      setEndDate(newEndDate);\n    }\n  }, [startDate, endDate, setEndDate]);\n\n  // Function to initiate car search based on selected options\n  function carsSearch() {\n    // Agregar Google Tag Manager event tracking\n    if (window.dataLayer) {\n      window.dataLayer.push({\n        event: \"car_search\",\n        category: \"Car Search\",\n        action: \"Search\",\n        label: `Search for cars in ${placeName}`,\n        searchDetails: {\n          location: placeName,\n          startDate: startDate ? format(startDate, \"yyyy-MM-dd\") : \"N/A\",\n          endDate: endDate ? format(endDate, \"yyyy-MM-dd\") : \"N/A\",\n        },\n      });\n    }\n\n    searchCars.handleSearch(location);\n    setPlace(placeName);\n    setShowSearchBox(false);\n  }\n\n  // Function to handle location selection\n  const handleLocationSelect = (lat: any, lng: any, placeName: string) => {\n    const coordinatesString = `${lat},${lng}`;\n    setLocation(coordinatesString);\n    setPlaceName(placeName);\n  };\n\n  // Click outside hook for closing search box\n  const refBoxSearch = useOnclickOutside(() => {\n    setShowSearchBox(false);\n  });\n\n  function RenderFromForm() {\n    return (\n      <>\n        <DateTimePicker\n          label=\"Desde:\"\n          pickDate={startDate}\n          setPickDate={setStartDate}\n          hour={startHour}\n          setHour={setStartHour}\n        />\n      </>\n    );\n  }\n\n  function RenderToForm() {\n    return (\n      <>\n        <DateTimePicker\n          label={toDateLabel}\n          pickDate={endDate}\n          setPickDate={setEndDate}\n          hour={endHour}\n          setHour={setEndHour}\n          minDate={startDate}\n        />\n      </>\n    );\n  }\n\n  // Function to render the mini search bar (search box)\n  function RenderMiniSearchBar() {\n    return (\n      <>\n        <div className=\"absolute left-0 px-8 sm:px-16 w-full\">\n          <div\n            ref={refBoxSearch}\n            className=\"items-center bg-white rounded-lg px-6 py-3 border-2 shadow-md\"\n          >\n            {/* Place selection */}\n            <div className=\"w-full py-1 border-b \">\n              <p className=\" text-[11px] font-semibold \">{placeLabel}</p>\n              <div className=\"pl-6\">\n                <PlacesAutocomplete onSelect={handleLocationSelect} />\n              </div>\n            </div>\n\n            {/* Date selection */}\n            <div className=\"w-full py-1  border-b\">\n              <div className=\"-ml-4\">{RenderFromForm()}</div>\n            </div>\n            <div className=\"w-full py-1  border-b\">\n              <div className=\"-ml-4\">{RenderToForm()}</div>\n            </div>\n            {/* Search button */}\n            <div className=\"pt-3\">\n              <ModalsButton label={\"Buscar\"} onClick={carsSearch} small />\n            </div>\n          </div>\n        </div>\n      </>\n    );\n  }\n\n  return (\n    <>\n      {(isLarge && landingPage) || (isMedNavBar && !landingPage) ? (\n        <>\n          {/* Large screen view */}\n          <div\n            className={`flex items-center rounded-full py-2 h-16 bg-white ${\n              landingPage ? \"md:border-2 md:shadow-md \" : \"\"\n            }`}\n          >\n            <div className=\"flex-grow grid grid-cols-10\">\n              {/* Place selection */}\n              <div className={\"col-span-4\"}>\n                <p className=\" text-[11px] font-semibold pl-6\">{placeLabel}</p>\n                <div\n                  className={`pl-8  ${\n                    landingPage ? \"\" : \"border-b border-gray-300 mx-2\"\n                  }`}\n                >\n                  <PlacesAutocomplete onSelect={handleLocationSelect} />\n                </div>\n              </div>\n\n              {/* Date selection */}\n              {/* From */}\n              <div\n                className={`col-span-3 w-full ${\n                  landingPage ? \"border-l-2 border-gray-200\" : \"\"\n                }`}\n              >\n                <div\n                  className={`flex items-center align-middle  ${\n                    landingPage ? \"\" : \"border-b border-gray-300 mx-1\"\n                  }`}\n                >\n                  {RenderFromForm()}\n                </div>\n              </div>\n              {/* to */}\n              <div\n                className={`col-span-3 w-full ${\n                  landingPage ? \"border-l-2 border-gray-200\" : \"\"\n                }`}\n              >\n                <div\n                  className={`flex items-center align-middle  ${\n                    landingPage ? \"\" : \"border-b border-gray-300 mx-1\"\n                  }`}\n                >\n                  {RenderToForm()}\n                </div>\n              </div>\n            </div>\n\n            {/* Search button */}\n            <div className=\" mr-2 w-10\">\n              <MagnifyingGlassIcon\n                className={`h-8 text-white rounded-full p-2 cursor-pointer hidden md:inline-flex md:mx-2 hover:shadow-lg hover:scale-105\n                ${landingPage ? \"bg-violet-700\" : \"bg-black\"}`}\n                onClick={carsSearch}\n              />\n            </div>\n          </div>\n        </>\n      ) : (\n        <>\n          {/* Small screen view */}\n          {landingPage ? (\n            <>\n              <div className=\"w-full\"></div>\n              {RenderMiniSearchBar()}\n            </>\n          ) : (\n            <>\n              {/* Display when search box is not open */}\n              {!showSearchBox && (\n                <>\n                  <div\n                    onClick={() => {\n                      setShowSearchBox(!showSearchBox);\n                    }}\n                    className=\"bg-gray-100 py-4 px-6 flex justify-between items-center w-full cursor-pointer \"\n                  >\n                    <div className=\"truncate overflow-hidden text-ellipsis\">\n                      <p className=\"font-bold text-xs \">\n                        {place ? place : \"Ciudad, aeropuerto, dirección\"}\n                      </p>\n                      <p className=\"font-bold text-xs \">\n                        {startDate ? format(startDate, \"dd/MM/yyyy\") : \"\"}\n                        {\" - \"}\n                        {endDate ? format(endDate, \"dd/MM/yyyy\") : \"\"}\n                      </p>\n                    </div>\n                    <ChevronDownIcon className=\"pl-3 h-6 text-violet-700\" />\n                  </div>\n                </>\n              )}\n              {showSearchBox && (\n                <>\n                  {/* Display when search box is open */}\n                  <div className=\"fixed top-20 left-0 w-full p-10 h-screen bg-gray-500 bg-opacity-40\">\n                    {RenderMiniSearchBar()}\n                  </div>\n                </>\n              )}\n            </>\n          )}\n        </>\n      )}\n    </>\n  );\n};\n\nexport default React.memo(SearchBar);\n``;\n","import React, { ReactNode } from \"react\";\n\ninterface Props {\n  label?: string;\n  icon?: ReactNode;\n  divider?: Boolean;\n  onClick?: () => void;\n}\n\nfunction MenuItems({ onClick, label, icon, divider }: Props) {\n  return (\n    <>\n      <div\n        className={`px-4 py-2 items-center hover:bg-gray-100 transition flex text-[13px] gap-x-2 cursor-pointer\n        ${divider ? \"border-t-2 border-gray-200\" : \"\"}`}\n        onClick={onClick}\n      >\n        {icon}\n\n        <div>{label}</div>\n      </div>\n    </>\n  );\n}\n\nexport default MenuItems;\n","\"use client\";\nimport React from \"react\";\nimport useRegisterModal from \"@/hooks/useRegisterModal\";\nimport LinksNavigation from \"./navigation\";\nimport {\n  ArrowRightOnRectangleIcon,\n  BanknotesIcon,\n  BriefcaseIcon,\n  ChatBubbleLeftEllipsisIcon,\n  CurrencyDollarIcon,\n  InformationCircleIcon,\n  KeyIcon,\n  LockClosedIcon,\n  MapIcon,\n  MapPinIcon,\n  PhoneArrowUpRightIcon,\n  PresentationChartLineIcon,\n  QuestionMarkCircleIcon,\n  ShieldCheckIcon,\n  TruckIcon,\n  UserIcon,\n  UserPlusIcon,\n  WalletIcon,\n} from \"@heroicons/react/24/outline\";\nimport useLoginModal from \"@/hooks/useLoginModal\";\nimport { signOut } from \"next-auth/react\";\n\nfunction useMenuOptionsData() {\n  const registerModal = useRegisterModal();\n  const loginModal = useLoginModal();\n  const links = LinksNavigation();\n\n  // Function to return an array of authenticated user menu options\n  function AuthData() {\n    return [\n      {\n        icon: <ChatBubbleLeftEllipsisIcon className=\"h-5 text-gray-600\" />,\n        label: \"Solicitudes y mensajes\",\n        onClick: links.handleClickMessage,\n      },\n      {\n        divider: true,\n        icon: <UserIcon className=\"h-5 text-gray-600\" />,\n        label: \"Mi perfil\",\n        onClick: links.handleClickProfile,\n      },\n      {\n        icon: <WalletIcon className=\"h-5 text-gray-600\" />,\n        label: \"Mi dinero\",\n        onClick: links.handleClickWallet,\n      },\n      {\n        icon: <TruckIcon className=\"h-5 text-gray-600\" />,\n        label: \"Vehículos\",\n        onClick: links.handleClickOwnerCars,\n      },\n      {\n        icon: <MapIcon className=\"h-5 text-gray-600\" />,\n        label: \"Publicaciones\",\n        onClick: links.handleClickOwnerPosts,\n      },\n      {\n        icon: <BriefcaseIcon className=\"h-5 text-gray-600\" />,\n        label: \"Viajes\",\n        onClick: links.handleClickBooking,\n      },\n      {\n        divider: true,\n        icon: <BanknotesIcon className=\"h-5 text-gray-600\" />,\n        label: \"¿Por qué alquilar?\",\n        onClick: links.handleClickWhyRent,\n      },\n      {\n        icon: <PresentationChartLineIcon className=\"h-5 text-gray-600\" />,\n        label: \"¿Cómo Invertir?\",\n        onClick: links.handleClickHowInvest,\n      },\n      {\n        divider: true,\n        icon: <QuestionMarkCircleIcon className=\"h-5 text-gray-600\" />,\n        label: \"Ayuda para conductores y anfitriones\",\n        onClick: links.handleClickHowWork,\n      },\n      {\n        icon: <ShieldCheckIcon className=\"h-5 text-gray-600\" />,\n        label: \"Coberturas y Garantía para tu Auto\",\n        onClick: links.handleClickInsurance,\n      },\n      {\n        icon: <InformationCircleIcon className=\"h-5 text-gray-600\" />,\n        label: \"Términos y Condiciones\",\n        onClick: links.handleClickTerms,\n      },\n      {\n        icon: <LockClosedIcon className=\"h-5 text-gray-600\" />,\n        label: \"Políticas de privacidad\",\n        onClick: links.handleClickPolicies,\n      },\n      {\n        divider: true,\n        icon: <PhoneArrowUpRightIcon className=\"h-5 text-gray-600\" />,\n        label: \"Servicio al cliente\",\n        onClick: links.handleClickWhatsappSupport,\n      },\n      {\n        icon: <ArrowRightOnRectangleIcon className=\"h-5 text-gray-600\" />,\n        label: \"Cerrar sesión\",\n        onClick: () => {\n          signOut();\n        },\n      },\n    ];\n  }\n  // Function to return an array of non-authenticated user menu options\n  function NotAuthData() {\n    return [\n      {\n        icon: <ArrowRightOnRectangleIcon className=\"h-5 text-gray-600\" />,\n        label: \"Login\",\n        onClick: loginModal.onOpen,\n      },\n      {\n        icon: <UserPlusIcon className=\"h-5 text-gray-600\" />,\n        label: \"Registro\",\n        onClick: registerModal.onOpen,\n      },\n      {\n        divider: true,\n        icon: <CurrencyDollarIcon className=\"h-5 text-gray-600\" />,\n        label: \"Publicá tu auto\",\n        onClick: links.handleClickBecomeHost,\n      },\n      {\n        label: \"Publicá tu auto para Uber/Cabify\",\n        icon: <MapPinIcon className=\"h-5 text-gray-600\" />,\n        onClick: links.handleClickCabify,\n      },\n      {\n        divider: true,\n        icon: <BanknotesIcon className=\"h-5 text-gray-600\" />,\n        label: \"¿Por qué alquilar?\",\n        onClick: links.handleClickWhyRent,\n      },\n      {\n        icon: <PresentationChartLineIcon className=\"h-5 text-gray-600\" />,\n        label: \"¿Cómo Invertir?\",\n        onClick: links.handleClickHowInvest,\n      },\n      {\n        divider: true,\n        icon: <QuestionMarkCircleIcon className=\"h-5 text-gray-600\" />,\n        label: \"¿Cómo funciona ATUA?\",\n        onClick: links.handleClickHowWork,\n      },\n      {\n        icon: <ShieldCheckIcon className=\"h-5 text-gray-600\" />,\n        label: \"Coberturas y Garantía para tu Auto\",\n        onClick: links.handleClickInsurance,\n      },\n      {\n        icon: <InformationCircleIcon className=\"h-5 text-gray-600\" />,\n        label: \"Términos y Condiciones\",\n        onClick: links.handleClickTerms,\n      },\n      {\n        icon: <LockClosedIcon className=\"h-5 text-gray-600\" />,\n        label: \"Políticas de privacidad\",\n        onClick: links.handleClickPolicies,\n      },\n      {\n        icon: <PhoneArrowUpRightIcon className=\"h-5 text-gray-600\" />,\n        label: \"Servicio al cliente\",\n        onClick: links.handleClickWhatsappSupport,\n      },\n    ];\n  }\n\n  function NavBarMenuData() {\n    return [\n      {\n        label: \"¿Por qué alquilar?\",\n        onClick: links.handleClickWhyRent,\n      },\n      {\n        label: \"¿Cómo Invertir?\",\n        onClick: links.handleClickHowInvest,\n      },\n      {\n        label: \"Publicá tu auto\",\n        onClick: links.handleClickBecomeHost,\n      },\n      {\n        label: \"Publicá tu auto para Uber/Cabify\",\n        onClick: links.handleClickCabify,\n      },\n    ];\n  }\n  return {\n    AuthData,\n    NotAuthData,\n    NavBarMenuData,\n  };\n}\n\nexport default useMenuOptionsData;\n","// ThemeButton.js\n\"use client\";\nimport Image from \"next/image\";\nimport LinksNavigation from \"@/constants/navigation\";\n\ninterface Props {\n  isBooking?: boolean;\n}\n\nconst WhatsappButton = ({ isBooking }: Props) => {\n  const links = LinksNavigation();\n\n  const handleButtonClick = () => {\n    if (isBooking) {\n      // For booking clicks\n      window.dataLayer = window.dataLayer || [];\n      window.dataLayer.push({\n        event: \"button_click\",\n        category: \"whatsapp_button\",\n        action: \"click\",\n        label: \"Booking\",\n      });\n      links.handleClickWhatsappSupport();\n    } else {\n      // For support clicks\n      window.dataLayer = window.dataLayer || [];\n      window.dataLayer.push({\n        event: \"button_click\",\n        category: \"whatsapp_button\",\n        action: \"click\",\n        label: \"Support\",\n      });\n      links.handleClickWhatsappSupport();\n    }\n  };\n\n  return (\n    <>\n      <button\n        className=\"hover:scale-110 active:scale-100 rounded-full hover:menu-items-hover text-text duration-200 min-w-[45px]\"\n        onClick={handleButtonClick}\n      >\n        <Image\n          src={\"/assets/images/Whatsapp2.svg\"}\n          alt={\"whatsapp\"}\n          width={0}\n          height={0}\n          priority\n          className=\"cursor-pointer w-[45px] h-auto\"\n        />\n      </button>\n    </>\n  );\n};\n\nexport default WhatsappButton;\n","\"use client\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Bars3Icon } from \"@heroicons/react/24/solid\";\nimport MenuItems from \"./MenuItems\";\nimport useMenuOptionsData from \"@/constants/menuData\";\nimport LinksNavigation from \"@/constants/navigation\";\nimport Avatar from \"./Avatar\";\nimport { useSession } from \"next-auth/react\";\nimport { getUserInformation } from \"@/services/api/user\";\nimport { User } from \"@/services/models/user\";\nimport useOnclickOutside from \"react-cool-onclickoutside\";\nimport WhatsappButton from \"./WhatsappButton\";\n\ninterface Props {\n  isHomePage?: Boolean;\n}\n\n/**\n * UserMenu component displays the user menu with various options based on the user's authentication status.\n */\n\nfunction UserMenu({ isHomePage }: Props) {\n  const { data: session } = useSession();\n  const [isMenuOpen, setIsMenuOpen] = useState(false);\n  const menu = useMenuOptionsData();\n  const [user, setUser] = useState<User>();\n\n  // Fetch user information from the server.\n  const fetchData = useMemo(\n    () => async () => {\n      try {\n        const accessToken = session?.user.accessToken;\n        if (accessToken) {\n          const userInfo = await getUserInformation({\n            token: accessToken,\n          });\n          setUser(userInfo);\n        }\n      } catch (error) {\n        console.error(\"Error fetching data:\", error);\n      }\n    },\n    [session?.user.accessToken]\n  );\n\n  // Fetch user data when the component mounts or when the session data changes.\n  useEffect(() => {\n    fetchData();\n  }, [fetchData]);\n\n  // Generate the menu items based on the user's authentication status.\n  const menuItems = useMemo(() => {\n    if (session) {\n      return menu.AuthData();\n    }\n    return menu.NotAuthData();\n  }, [menu, session]);\n\n  // Toggle the menu open/closed state.\n  const toggleOpen = useCallback(() => {\n    setIsMenuOpen((value) => !value);\n  }, []);\n\n  //Handle clicks outside the menu to close it.\n  const refMenu = useOnclickOutside(() => {\n    setIsMenuOpen(false);\n  });\n\n  return (\n    <>\n      <div className=\"flex items-center space-x-3 justify-end text-gray-500\">\n        {isHomePage && <WhatsappButton isBooking />}\n\n        {/* Render the user menu icon and avatar */}\n        <div\n          ref={refMenu}\n          className=\"flex items-center space-x-1  p-2 rounded-xl hover:bg-gray-100 hover:scale-105\"\n          onClick={toggleOpen}\n        >\n          <Bars3Icon className=\"h-6\" />\n\n          <div className=\"flex w-[40px] h-[40px] rounded-full object-containt overflow-hidden border-white\">\n            <Avatar photo={user?.avatar} width={40} height={40} />\n          </div>\n        </div>\n      </div>\n\n      {/* Render the user menu options when the menu is open */}\n      {isMenuOpen && (\n        <div\n          ref={refMenu}\n          className=\"absolute rounded-xl shadow-lg w-[100vw] md:w-[320px] md:mr-2 bg-white overflow-hidden right-0 top-[72px] text-sm\"\n        >\n          <div>\n            {menuItems.map(({ onClick, label, icon, divider }) => (\n              <MenuItems\n                key={label}\n                label={label}\n                icon={icon}\n                onClick={onClick}\n                divider={divider}\n              />\n            ))}\n          </div>\n        </div>\n      )}\n    </>\n  );\n}\n\nexport default UserMenu;\n","import React, { ReactNode } from \"react\";\n\ninterface Props {\n  label: string;\n  onClick: () => void;\n}\n\nexport default function LinksNavbarItem({ label, onClick }: Props) {\n  return (\n    <>\n      <div\n        className=\"flex items-center gap-x-2 text-sm font-semibold cursor-pointer hover:scale-105\"\n        onClick={onClick}\n      >\n        <p>{label}</p>\n      </div>\n    </>\n  );\n}\n","import React from \"react\";\nimport LinksNavbarItem from \"./LinksNavbarItem\";\nimport useMenuOptionsData from \"@/constants/menuData\";\n\nfunction LinksNavBar() {\n  const menu = useMenuOptionsData();\n\n  return (\n    <div className=\"w-full hidden lg:flex items-center justify-end space-x-4 lg:space-x-8\">\n      {menu.NavBarMenuData().map(({ onClick, label }) => (\n        <LinksNavbarItem key={label} label={label} onClick={onClick} />\n      ))}\n    </div>\n  );\n}\n\nexport default LinksNavBar;\n","/**\n * Header.js\n * This file contains the Header component, which represents the header section of the application.\n */\n\nimport React from \"react\";\nimport SearchBar from \"./SearchBar/SearchBar\";\nimport Logo from \"./Logo\";\nimport UserMenu from \"./UserMenu\";\nimport LinksNavBar from \"./LinksNavBar\";\n\n/**\n * Props interface for the Header component.\n * @interface Props\n * @property {boolean} [isHomePage] - Indicates if the current page is the home page.\n */\n\ninterface Props {\n  isHomePage?: Boolean;\n}\n\n/**\n * Header component represents the header section of the application. It consists of the logo,\n * search bar (only on non-homepage), and the user menu.\n */\n\nfunction Header({ isHomePage }: Props) {\n  return (\n    <header\n      className={`sticky top-0 z-40 bg-white shadow-md px-3 py-2 \n      flex justify-between items-center gap-x-6 ${\n        isHomePage ? \"h-[72px]\" : \" h-20\"\n      }`}\n    >\n      {/* Render the logo */}\n      <Logo />\n\n      {/* Render the search bar on non-homepage */}\n      <div\n        className={`${isHomePage ? \"lg:px-0\" : \"lg:px-8\"} w-full`}\n      >\n        {!isHomePage && <SearchBar />}\n        {isHomePage && <LinksNavBar />}\n      </div>\n\n      {/* Render the user menu */}\n      <UserMenu isHomePage={isHomePage} />\n    </header>\n  );\n}\n\nexport default React.memo(Header);\n","import React from \"react\";\n\ninterface Props {\n  title: string;\n}\n\nfunction FooterTitle({ title }: Props) {\n  return <h5 className=\"font-bold text-gray-800 text-sm\">{title}</h5>;\n}\n\nexport default FooterTitle;\n","import React from \"react\";\n\ninterface Props {\n  label: string;\n  onClick?: () => void;\n  ariaLabel?: string;\n}\n\nfunction FooterLink({ onClick, label, ariaLabel }: Props) {\n  return (\n    <p\n      onClick={onClick}\n      className=\"text-xs/[10px] cursor-pointer\"\n      aria-label={ariaLabel}\n    >\n      {label}\n    </p>\n  );\n}\n\nexport default FooterLink;\n","import Image from \"next/image\";\n\ninterface Props {\n  image: string;\n  onClick: () => void;\n  ariaLabel: string;\n}\n\nfunction FooterSocialMedia({ onClick, image, ariaLabel }: Props) {\n  return (\n    <Image\n      src={`/assets/images/${image}`}\n      alt={ariaLabel}\n      width={30}\n      height={30}\n      priority\n      className=\"cursor-pointer h-[30px] w-[30px]\"\n      onClick={onClick}\n      aria-label={ariaLabel}\n    />\n  );\n}\n\nexport default FooterSocialMedia;\n","import Image from \"next/image\";\nimport React from \"react\";\n\ninterface Props {\n  image: string;\n  onClick: () => void;\n  ariaLabel: string;\n}\n\nfunction FooterStore({ onClick, image, ariaLabel }: Props) {\n  return (\n    <Image\n      src={`/assets/images/${image}`}\n      alt={ariaLabel}\n      width={100}\n      height={30}\n      loading=\"lazy\"\n      className=\"cursor-pointer h-[30px] w-[100px]\"\n      onClick={onClick}\n      aria-label={ariaLabel}\n    />\n  );\n}\n\nexport default FooterStore;\n","\"use client\";\nimport React from \"react\";\nimport FooterTitle from \"./FooterTitle\";\nimport FooterLink from \"./FooterLink\";\nimport FooterSocialMedia from \"./FooterSocialMedia\";\nimport FooterStore from \"./FooterStore\";\nimport LinksNavigation from \"@/constants/navigation\";\n\nfunction Footer() {\n  const links = LinksNavigation();\n\n  return (\n    <footer className=\"grid grid-cols-1 lg:grid-cols-4 gap-y-10 px-30 py-8 mt-8 bg-gray-100 text-gray-600 justify-center text-center\">\n      {/* Accesos */}\n      <div className=\"footer-column\">\n        <FooterTitle title=\"Accesos\" />\n        <FooterLink\n          onClick={links.handleClickTerms}\n          label=\"Términos y Condiciones\"\n          ariaLabel=\"Términos y Condiciones de ATUA Rent a Car\"\n        />\n        <FooterLink\n          onClick={links.handleClickPolicies}\n          label=\"Políticas de privacidad\"\n          ariaLabel=\"Políticas de privacidad de ATUA Rent a Car\"\n        />\n      </div>\n\n      {/* Contacto */}\n      <div className=\"footer-column\">\n        <FooterTitle title=\"¿Tenés dudas? Escribinos\" />\n        <FooterLink\n          onClick={links.handleClickWhatsappBooking}\n          label=\"Alquileres: +54 9 11 3144-4404\"\n          ariaLabel=\"Contacto de alquileres\"\n        />\n        <FooterLink\n          onClick={links.handleClickWhatsappCaptureCar}\n          label=\"Captación de autos: +54 9 11 4445-9333\"\n          ariaLabel=\"Contacto de captación de autos\"\n        />\n        <FooterLink\n          onClick={links.handleClickWhatsappSupport}\n          label=\"Servicio al cliente: +54 9 11 2528-8822\"\n          ariaLabel=\"Servicio al cliente de ATUA Rent a Car\"\n        />\n        <FooterLink\n          label=\"support@atuarental.com\"\n          ariaLabel=\"Correo de soporte de ATUA Rent a Car\"\n        />\n      </div>\n\n      {/* Ubicación */}\n      <div className=\"footer-column\">\n        <FooterTitle title=\"ATUA RENT A CAR\" />\n        <FooterLink\n          onClick={links.handleClickGoogleMaps}\n          label=\"Costa Rica 3966, Palermo (CABA) CP.1176.\"\n          ariaLabel=\"Dirección de ATUA Rent a Car\"\n        />\n        <FooterLink\n          label=\"de lunes a viernes de 9:00 a 19.00\"\n          ariaLabel=\"Horario de atención de lunes a viernes\"\n        />\n        <FooterLink\n          label=\"sábados y domingos de 9:00 a 18.00\"\n          ariaLabel=\"Horario de atención de fines de semana\"\n        />\n      </div>\n\n      {/* Redes Sociales y Tiendas */}\n      <div className=\"footer-column\">\n        <div className=\"flex items-center gap-3 justify-center\">\n          <FooterSocialMedia\n            onClick={links.handleClickFacebook}\n            image=\"facebook.svg\"\n            ariaLabel=\"Visitar página de Facebook de ATUA\"\n          />\n          <FooterSocialMedia\n            onClick={links.handleClickInstagram}\n            image=\"instagram.svg\"\n            ariaLabel=\"Visitar página de Instagram de ATUA\"\n          />\n          <FooterSocialMedia\n            onClick={links.handleClickWhatsappSupport}\n            image=\"whatsapp.svg\"\n            ariaLabel=\"Contactar vía WhatsApp con ATUA\"\n          />\n        </div>\n        <div className=\"flex items-center gap-3 justify-center\">\n          <FooterStore\n            onClick={links.handleClickPlayStore}\n            image=\"play-store.svg\"\n            ariaLabel=\"Descargar aplicación de ATUA en Google Play Store\"\n          />\n          <FooterStore\n            onClick={links.handleClickAppStore}\n            image=\"app-store.svg\"\n            ariaLabel=\"Descargar aplicación de ATUA en App Store\"\n          />\n        </div>\n      </div>\n    </footer>\n  );\n}\n\nexport default Footer;\n","\"use client\";\nimport React, { useCallback, useState } from \"react\";\nimport Modal from \"../Modal\";\nimport useRegisterModal from \"@/hooks/useRegisterModal\";\nimport useLoginModal from \"@/hooks/useLoginModal\";\nimport RegisterFooter from \"./RegisterFooter\";\nimport RegisterBody from \"./RegisterBody\";\n\ninterface Props {\n  validatedEmail?: string;\n}\n\nconst RegisterModal = ({ validatedEmail }: Props) => {\n  const registerModal = useRegisterModal();\n  const loginModal = useLoginModal();\n  const [isLoading, setIsLoading] = useState(false);\n\n  const onToggle = useCallback(() => {\n    registerModal.onClose();\n    loginModal.onOpen();\n  }, [loginModal, registerModal]);\n\n  return (\n    <>\n      <Modal\n        disabled={isLoading}\n        isOpen={registerModal.isOpen}\n        title=\"Registrate\"\n        onClose={registerModal.onClose}\n        body={<RegisterBody validatedEmail={validatedEmail} />}\n        footer={<RegisterFooter onClick={onToggle} />}\n      />\n    </>\n  );\n};\n\nexport default RegisterModal;\n","\"use client\";\nimport React, { useCallback, useState } from \"react\";\nimport Modal from \"../Modal\";\nimport useLoginModal from \"@/hooks/useLoginModal\";\nimport useRegisterModal from \"@/hooks/useRegisterModal\";\nimport LoginBody from \"./LoginBody\";\nimport LoginFooter from \"./LoginFooter\";\n\ninterface Props {\n  validatedEmail?: string;\n}\n\nconst LoginModal = ({ validatedEmail }: Props) => {\n  const loginModal = useLoginModal();\n  const registerModal = useRegisterModal();\n\n  const onToggle = useCallback(() => {\n    loginModal.onClose();\n    registerModal.onOpen();\n  }, [loginModal, registerModal]);\n\n  return (\n    <Modal\n      isOpen={loginModal.isOpen}\n      title=\"Inicia Sesión\"\n      onClose={loginModal.onClose}\n      body={<LoginBody validatedEmail={validatedEmail} />}\n      footer={<LoginFooter onClick={onToggle} />}\n    />\n  );\n};\n\nexport default LoginModal;\n","\"use client\";\nimport React, { ReactNode, useEffect } from \"react\";\nimport Header from \"./Header/Header\";\nimport Footer from \"./Footer/Footer\";\nimport RegisterModal from \"./Modals/register/RegisterModal\";\nimport LoginModal from \"./Modals/login/LoginModal\";\nimport { useJsApiLoader } from \"@react-google-maps/api\";\nimport WhatsappButton from \"./Header/WhatsappButton\";\nimport useEmailStore from \"@/hooks/useEmailStore\";\n\ninterface Props {\n  children?: ReactNode;\n  isHomePage?: Boolean;\n  isPostACar?: Boolean;\n}\n//List of libraries to be loaded from Google Maps API.\nconst libraries = [\"places\" as const];\n\nfunction MainScreen({ children, isHomePage, isPostACar }: Props) {\n  const { email } = useEmailStore();\n\n  //Load Google Maps API libraries using useJsApiLoader hook.\n  const { isLoaded } = useJsApiLoader({\n    id: \"google-map-script\",\n    googleMapsApiKey: process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY as string,\n    libraries: libraries,\n  });\n\n  if (isLoaded) {\n    return (\n      <>\n        <Header isHomePage={isHomePage} />\n        <RegisterModal validatedEmail={email} />\n        <LoginModal validatedEmail={email} />\n        {children}\n        <Footer />\n        {!isHomePage && (\n          <div className=\"fixed bottom-10 z-50 right-5 flex justify-end\">\n            <WhatsappButton isBooking={!isPostACar} />\n          </div>\n        )}\n      </>\n    );\n  }\n  // If Google Maps API libraries are not loaded yet, return an empty fragment.\n  return <></>;\n}\n\nexport default MainScreen;\n","import React from \"react\";\n\ninterface Props {\n  title?: string;\n  subtitle?: string;\n  center?: Boolean;\n}\n\nfunction FormsHeading({ title, subtitle, center }: Props) {\n  return (\n    <div className={center ? \"text-center\" : \"text-start pb-3\"}>\n      <div className=\"text-xl font-bold\">{title}</div>\n      <div className=\"text-sm font-light text-neutral-500 mt-2\">{subtitle}</div>\n    </div>\n  );\n}\n\nexport default FormsHeading;\n","import { XMarkIcon } from \"@heroicons/react/24/solid\";\nimport React, { ReactNode, useCallback, useEffect, useState } from \"react\";\nimport ModalsButton from \"../Buttons/ModalsButton\";\n\ninterface Props {\n  isOpen: boolean;\n  onClose: () => void;\n  onSubmit?: () => void;\n  title?: string;\n  body?: ReactNode;\n  footer?: ReactNode;\n  actionLabel?: string;\n  disabled?: boolean;\n  secondaryAction?: () => void;\n  secondaryActionLabel?: string;\n}\n\nconst Modal = ({\n  isOpen,\n  onClose,\n  onSubmit,\n  title,\n  body,\n  actionLabel,\n  footer,\n  disabled,\n  secondaryAction,\n  secondaryActionLabel,\n}: Props) => {\n  const [showModal, setShowModal] = useState(false);\n\n  useEffect(() => {\n    setShowModal(isOpen);\n  }, [isOpen]);\n\n  const handleClose = useCallback(() => {\n    if (disabled) return;\n\n    setShowModal(false);\n    setTimeout(onClose, 300);\n  }, [onClose, disabled]);\n\n  const handleSubmit = useCallback(() => {\n    if (disabled || !onSubmit) return;\n\n    onSubmit();\n  }, [onSubmit, disabled]);\n\n  const handleSecondaryAction = useCallback(() => {\n    if (disabled || !secondaryAction) return;\n\n    secondaryAction();\n  }, [secondaryAction, disabled]);\n\n  if (!isOpen) return null;\n\n  return (\n    <>\n      <div className=\"flex justify-center items-center fixed inset-0 z-50 overflow-x-hidden overflow-y-auto bg-neutral-800/70 outline-none focus:outline-none\">\n        <div className=\"relative w-full md:w-4/7 lg:w-3/7 xl:w-2/6 my-6 mx-auto max-h-[calc(100vh-1rem)] h-full lg:h-auto\">\n          <div\n            className={`translate duration-300 h-full ${\n              showModal\n                ? \"translate-y-0 opacity-100\"\n                : \"translate-y-full opacity-0\"\n            }`}\n          >\n            <div className=\"flex flex-col w-full h-full lg:h-auto border-0 rounded-lg shadow-lg bg-white outline-none max-h-[calc(100vh-1rem)]\">\n              {/* Header */}\n              <div className=\"flex items-center p-3 rounded-t justify-center relative border-b-[1px]\">\n                <button\n                  className=\"absolute left-9 p-1 border-0 hover:opacity-70 transition\"\n                  onClick={handleClose}\n                >\n                  <XMarkIcon className=\"h-4\" />\n                </button>\n                <div className=\"text-base font-semibold\">{title}</div>\n              </div>\n              {/* Body */}\n              <div className=\"relative p-6 flex-auto overflow-y-auto max-h-[calc(100vh-9rem)]\">\n                {body}\n              </div>\n              {/* Footer */}\n              <div className=\"flex flex-col gap-2 p-5\">\n                <div className=\"flex flex-row items-center gap-3 w-full\">\n                  {secondaryAction && secondaryActionLabel && (\n                    <ModalsButton\n                      disabled={disabled}\n                      label={secondaryActionLabel}\n                      onClick={handleSecondaryAction}\n                      outline\n                    />\n                  )}\n                  {actionLabel && (\n                    <ModalsButton\n                      disabled={disabled}\n                      label={actionLabel}\n                      onClick={handleSubmit}\n                    />\n                  )}\n                </div>\n                {footer}\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n};\n\nexport default Modal;\n","import { XMarkIcon } from \"@heroicons/react/24/solid\";\nimport React, { ReactNode, useCallback, useEffect, useState } from \"react\";\nimport ModalsButton from \"../Buttons/ModalsButton\";\n\ninterface Props {\n  isOpen: boolean;\n  onClose: () => void;\n  title?: string;\n  body?: ReactNode;\n  actionLabel?: string;\n  onSubmit?: () => void;\n  disabled?: boolean;\n  secondaryAction?: () => void;\n  secondaryActionLabel?: string;\n}\n\nfunction SmallModal({\n  isOpen,\n  onClose,\n  onSubmit,\n  title,\n  body,\n  actionLabel,\n  disabled,\n  secondaryAction,\n  secondaryActionLabel,\n}: Props) {\n  const [showModal, setShowModal] = useState(false);\n\n  useEffect(() => {\n    setShowModal(isOpen);\n  }, [isOpen]);\n\n  const handleClose = useCallback(() => {\n    setShowModal(false);\n    setTimeout(() => {\n      onClose();\n    }, 300);\n  }, [onClose]);\n\n  const handleSubmit = useCallback(() => {\n    if (disabled || !onSubmit) {\n      return;\n    }\n    onSubmit();\n  }, [onSubmit, disabled]);\n\n  const handleSecondaryAction = useCallback(() => {\n    if (disabled || !secondaryAction) {\n      return;\n    }\n\n    secondaryAction();\n  }, [secondaryAction, disabled]);\n\n  if (!isOpen) {\n    return null;\n  }\n  return (\n    <>\n      <div className=\"justify-center items-center flex overflow-x-hidden overflow-y-auto  fixed  inset-0  z-50  outline-none  focus:outline-none bg-neutral-800/70\">\n        <div className=\" relative w-[400px] my-6 mx-auto h-auto \">\n          {/*content*/}\n          <div\n            className={` translate duration-300 h-full ${\n              showModal ? \"translate-y-0\" : \"translate-y-full\"\n            } ${showModal ? \"opacity-100\" : \"opacity-0\"}`}\n          >\n            <div className=\" translate h-full lg:h-auto md:h-auto border-0  rounded-lg  shadow-lg  relative  flex  flex-col  w-full  bg-white  outline-none  focus:outline-none\">\n              {/*header*/}\n              <div className=\" flex  items-center  p-5 rounded-t justify-center relative border-b-[1px] \">\n                <button\n                  className=\" p-1 border-0  hover:opacity-70 transition absolute left-9\"\n                  onClick={handleClose}\n                >\n                  <XMarkIcon className=\"h-4\" />\n                </button>\n                <div className=\" text-base font-semibold\">{title}</div>\n              </div>\n              {/*body*/}\n              <div className=\"relative p-5 flex-auto\">{body}</div>\n              {/*footer*/}\n              <div className=\"flex flex-col gap-2 p-5\">\n                <div className=\" flex flex-row items-center gap-3 w-full \">\n                  {secondaryAction && secondaryActionLabel && (\n                    <ModalsButton\n                      disabled={disabled}\n                      label={secondaryActionLabel}\n                      onClick={handleSecondaryAction}\n                      outline\n                    />\n                  )}\n                  {actionLabel && (\n                    <ModalsButton\n                      disabled={disabled}\n                      label={actionLabel}\n                      onClick={handleSubmit}\n                    />\n                  )}\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n}\n\nexport default SmallModal;\n","\"use client\";\nimport React from \"react\";\nimport SmallModal from \"../SmallModal\";\nimport useDeleteAccountModal from \"@/hooks/useDeleteAccountModal\";\nimport useAlertModal from \"@/hooks/useAlertModal\";\nimport SupportLink from \"@/components/SupportLink\";\n\ninterface Props {\n  onSubmit?: () => void;\n  title?: string;\n  subtitle?: string;\n  support?: boolean;\n  actionLabel?: string;\n}\n\nconst AlertModal = ({ onSubmit, title, subtitle, support = false, \n  actionLabel = \"Aceptar\" }: Props) => {\n  const alertModal = useAlertModal();\n\n  return (\n    <SmallModal\n      isOpen={alertModal.isOpen}\n      title=\"Alerta\"\n      onClose={alertModal.onClose}\n      body={\n        <>\n          <div className=\"items-center text-center space-y-2\">\n            <p className=\"text-lg font-bold\">{title}</p>\n            <p>{subtitle}</p>\n          </div>\n          {support && (\n            <div className=\"flex justify-center items-center pt-4\">\n              <SupportLink />\n            </div>\n          )}\n        </>\n      }\n      actionLabel={actionLabel}\n      onSubmit={onSubmit || alertModal.onClose} />\n  );\n};\n\nexport default AlertModal;\n","\"use client\";\nimport React, { useEffect, useState } from \"react\";\nimport FormsHeading from \"../FormsHeading\";\nimport Input from \"../../Inputs/Input\";\nimport LinksNavigation from \"@/constants/navigation\";\nimport ModalsButton from \"@/components/Buttons/ModalsButton\";\nimport { signIn } from \"next-auth/react\";\nimport { addDaysToString } from \"@/commons/helpers/dateUtils\";\nimport useAlertModal from \"@/hooks/useAlertModal\";\nimport AlertModal from \"../createVehicle/AlertModal\";\nimport { usePathname, useSearchParams } from \"next/navigation\";\nimport useBookingDates from \"@/hooks/useBookingDates\";\n\ninterface Props {\n  validatedEmail?: string;\n}\n\nfunction LoginBody({ validatedEmail }: Props) {\n  const alertModal = useAlertModal();\n  const links = LinksNavigation();\n  const [emailInput, setEmailInput] = useState(validatedEmail ?? \"\");\n  const [passwordInput, setPasswordInput] = useState(\"\");\n  const [isLoading, setIsLoading] = useState(false);\n  const searchParams = useSearchParams();\n  const pathname = usePathname();\n  const { location, startDate, endDate } = useBookingDates();\n\n  // Redirect URL after successful login.\n  const [redirectUrl, setRedirectUrl] = useState(\n    `/cars/search?location=${location}&period=${addDaysToString(\n      startDate,\n      0\n    )},${addDaysToString(endDate, 0)}`\n  );\n\n  useEffect(() => {\n    if (searchParams) {\n      const params = new URLSearchParams(searchParams);\n      if (params.has(\"error\")) {\n        alertModal.onOpen();\n      }\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [searchParams]);\n\n  useEffect(() => {\n    if (\n      pathname &&\n      pathname !== \"/\" &&\n      pathname !== \"/login\" &&\n      pathname !== \"/register\"\n    ) {\n      if (searchParams) {\n        const params = new URLSearchParams(searchParams);\n        setRedirectUrl(`${pathname}?${params.toString()}`);\n      } else {\n        setRedirectUrl(pathname);\n      }\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [searchParams]);\n\n  // Function to handle form submission.\n  const onSubmit = async () => {\n    setIsLoading(true);\n    //Next Auth signIn function\n    const result = await signIn(\"credentials\", {\n      email: emailInput,\n      password: passwordInput,\n      callbackUrl: redirectUrl,\n      redirect: true,\n    });\n    setIsLoading(false);\n  };\n\n  return (\n    <>\n      <AlertModal\n        title={\"Credenciales Inválidas\"}\n        subtitle={\n          \"! Ops! Algo salió mal. Revisa si tus credenciales son correctas. Si el error persiste, comunícate con el servicio al cliente.\"\n        }\n      />\n\n      <div className=\"flex flex-col gap-4\">\n        {/* Render the heading for the login form */}\n        <FormsHeading\n          title=\"Bienvenido a ATUA\"\n          subtitle=\"¡Entrá a tu cuenta!\"\n        />\n\n        {/* Render the email input */}\n        <Input\n          id=\"email\"\n          label=\"Email\"\n          disabled={isLoading}\n          required\n          value={emailInput}\n          onChange={(e) => setEmailInput(e.target.value)}\n        />\n\n        {/* Render the password input */}\n        <Input\n          id=\"password\"\n          label=\"Password\"\n          type=\"password\"\n          disabled={isLoading}\n          required\n          value={passwordInput}\n          onChange={(e) => setPasswordInput(e.target.value)}\n        />\n\n        {/* Render the \"Forgot Password\" link */}\n        <p className=\"text-right\">\n          <span\n            onClick={links.handleClickForgotPassword}\n            className=\"text-sm text-violet-700 cursor-pointer hover:underline\"\n          >\n            Olvidaste tu contraseña\n          </span>\n        </p>\n\n        {/* Render the login button */}\n        <div className=\"pt-5\">\n          <ModalsButton\n            label=\"Inicia Sesión\"\n            onClick={onSubmit}\n            disabled={isLoading}\n            disabledText=\"Iniciando sesión...\"\n          />\n        </div>\n      </div>\n    </>\n  );\n}\n\nexport default LoginBody;\n","import React from \"react\";\n\ninterface Props {\n  onClick?: () => void;\n}\n\nfunction LoginFooter({ onClick }: Props) {\n  return (\n    <div className=\"flex flex-col gap-4 mt-3\">\n      <div className=\"text-neutral-500 text-center mt-4 font-light text-sm\">\n        <p>\n          ¿Primera vez en ATUA?\n          <span\n            onClick={onClick}\n            className=\" text-violet-700 cursor-pointer hover:underline\"\n          >\n            {\" \"}\n            Registrate\n          </span>\n        </p>\n      </div>\n    </div>\n  );\n}\n\nexport default LoginFooter;\n","import { create } from \"zustand\";\n\n// Define an interface for the RegisterModalStore\ninterface ValidatePhoneUserModalStore {\n  isOpen: boolean;\n  onOpen: () => void;\n  onClose: () => void;\n}\n// Create a custom hook called useRegisterModal using Zustand's create function\nconst useValidatePhoneUserModal = create<ValidatePhoneUserModalStore>(\n  (set) => ({\n    isOpen: false,\n    onOpen: () => set({ isOpen: true }),\n    onClose: () => set({ isOpen: false }),\n  })\n);\n\nexport default useValidatePhoneUserModal;\n","import React, {\n  Dispatch,\n  SetStateAction,\n  useEffect,\n  useRef,\n  useState,\n} from \"react\";\n\ninterface Props {\n  setCompleteCode: Dispatch<SetStateAction<string>>;\n}\n\nfunction CodeInput({ setCompleteCode }: Props) {\n  const [code, setCode] = useState<string>(\"\");\n  const inputRefs = Array.from({ length: 4 }, () =>\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    useRef<HTMLInputElement>(null)\n  );\n\n  useEffect(() => {\n    if (code.length === 4) {\n      setCompleteCode(code);\n    }\n  }, [code, setCompleteCode]);\n\n  const handleChange = (index: number, value: string) => {\n    const newCode = code.split(\"\");\n    newCode[index] = value;\n    setCode(newCode.join(\"\"));\n\n    if (value && index < 3) {\n      inputRefs[index + 1].current?.focus();\n    }\n  };\n\n  const handleKeyDown = (\n    index: number,\n    event: React.KeyboardEvent<HTMLInputElement>\n  ) => {\n    if (event.key === \"Backspace\" && index > 0 && !code[index]) {\n      inputRefs[index - 1].current?.focus();\n    }\n  };\n\n  return (\n    <div className=\"flex\">\n      {Array.from({ length: 4 }).map((_, index) => (\n        <input\n          key={index}\n          ref={inputRefs[index]}\n          type=\"number\"\n          maxLength={1}\n          className=\"w-12 h-12 text-center pl-3 border rounded-md mr-2\"\n          value={code[index] || \"\"}\n          onChange={(e) => handleChange(index, e.target.value)}\n          onKeyDown={(e) => handleKeyDown(index, e)}\n        />\n      ))}\n    </div>\n  );\n}\n\nexport default CodeInput;\n","import React, { Dispatch, SetStateAction } from \"react\";\nimport CodeInput from \"./CodeInput\";\nimport { requestPhoneCodeVerification } from \"@/services/api/user\";\n\ninterface Props {\n  phone: string | undefined;\n  setCode: Dispatch<SetStateAction<string>>;\n}\n\nfunction ValidatePhoneUserMessage({ phone, setCode }: Props) {\n  const requestPhoneCode = async () => {\n    try {\n      const body = {\n        phone: phone,\n      };\n      const res = await requestPhoneCodeVerification({\n        body: body,\n      });\n    } catch (error) {\n      console.error(\"Error fetching data:\", error);\n    }\n  };\n\n  return (\n    <>\n      <div className=\"sitems-center\">\n        <p className=\"font-bold text-center text-lg\">\n          Confirmá tu número de teléfono\n        </p>\n        <p className=\"text-center text-sm py-4\">\n          Introduce el código que te enviamos por SMS al {phone}\n        </p>\n\n        <div className=\"flex w-full items-center justify-center pt-4 pb-8\">\n          <CodeInput setCompleteCode={setCode} />\n        </div>\n\n        <p className=\"text-sm text-center\">\n          ¿No has recibido un código?{\" \"}\n          <span\n            className=\"font-semibold underline cursor-pointer\"\n            onClick={requestPhoneCode}\n          >\n            Reenviar código\n          </span>\n        </p>\n      </div>\n    </>\n  );\n}\n\nexport default ValidatePhoneUserMessage;\n","import { create } from \"zustand\";\n\n// Define an interface for the RegisterModalStore\ninterface CreatedUserModalStore {\n  isOpen: boolean;\n  onOpen: () => void;\n  onClose: () => void;\n}\n// Create a custom hook called useRegisterModal using Zustand's create function\nconst useCreatedUserModal = create<CreatedUserModalStore>((set) => ({\n  isOpen: false,\n  onOpen: () => set({ isOpen: true }),\n  onClose: () => set({ isOpen: false }),\n}));\n\nexport default useCreatedUserModal;\n","\"use client\";\nimport { useState, useEffect } from \"react\";\nimport SmallModal from \"../SmallModal\";\nimport ValidatePhoneUserMessage from \"./ValidatePhoneUserMessage\";\nimport useValidatePhoneUserModal from \"@/hooks/useValidatePhoneUser\";\nimport { createUser, phoneCodeVerification } from \"@/services/api/user\";\nimport AlertModal from \"../createVehicle/AlertModal\";\nimport useAlertModal from \"@/hooks/useAlertModal\";\nimport useCreatedUserModal from \"@/hooks/useCreatedUserModal\";\n\ninterface Props {\n  name: string;\n  lastname: string;\n  phone: string;\n  email: string;\n  password: string;\n}\nfunction ValidatePhoneUserModal({\n  name,\n  lastname,\n  phone,\n  email,\n  password,\n}: Props) {\n  const [code, setCode] = useState(\"\");\n  const [isLoading, setIsLoading] = useState(false);\n  const validatePhoneUserModal = useValidatePhoneUserModal();\n  const alertModal = useAlertModal();\n  const [subtittle, setSubtittle] = useState(\"\");\n  const [showSupportLink, setShowSupportLink] = useState(false);\n  const createdUserModal = useCreatedUserModal();\n\n  const createNewUser = async () => {\n    try {\n      const body = {\n        email: email,\n        password: password,\n        phone: phone,\n        first_name: name,\n        last_name: lastname,\n      };\n\n      const res = await createUser({\n        body: body,\n      });\n      if (res.code_transaction === \"OK\") {\n        // Enviar el evento de registro al dataLayer\n        window.dataLayer = window.dataLayer || [];\n        window.dataLayer.push({\n          event: \"user_registration\",\n          user: {\n            email: email,\n            name: name,\n            lastname: lastname,\n            phone: phone,\n          },\n        });\n\n        createdUserModal.onOpen();\n        validatePhoneUserModal.onClose();\n      }\n    } catch (error) {\n      console.error(\"Error creating user:\", error);\n      setSubtittle(\n        \"Hemos tenido un error interno. Intenta nuevamente. Si el error persiste, comunícate con soporte.\"\n      );\n      setShowSupportLink(true);\n      alertModal.onOpen();\n    }\n  };\n\n  const validatePhoneCode = async () => {\n    if (!phone) {\n      console.error(\"Phone number is not available for validation\");\n      return;\n    }\n\n    setIsLoading(true);\n    try {\n      const body = {\n        phone: phone,\n        code: code,\n      };\n      const res = await phoneCodeVerification({\n        body: body,\n      });\n      if (res.code_transaction === \"OK\") {\n        await createNewUser();\n      } else {\n        throw new Error(\"Invalid phone code\");\n      }\n    } catch (error) {\n      console.error(\"Error validating phone code:\", error);\n      setSubtittle(\"¡Código invalido! Intenta nuevamente.\");\n      setShowSupportLink(false);\n      alertModal.onOpen();\n    }\n    setIsLoading(false);\n  };\n\n  return (\n    <>\n      <SmallModal\n        isOpen={validatePhoneUserModal.isOpen}\n        title=\"Validación\"\n        onClose={validatePhoneUserModal.onClose}\n        body={<ValidatePhoneUserMessage phone={phone} setCode={setCode} />}\n        actionLabel=\"Continuar\"\n        onSubmit={validatePhoneCode}\n        disabled={isLoading}\n      />\n      <AlertModal\n        title={\"Ups! Algo salió mal!\"}\n        subtitle={subtittle}\n        support={showSupportLink}\n      />\n    </>\n  );\n}\n\nexport default ValidatePhoneUserModal;\n","import GuideImage from \"@/components/Guide/GuideImage\";\nimport React from \"react\";\n\nfunction CreatedUserMessage() {\n  return (\n    <>\n      <div className=\"sitems-center\">\n        <div className=\"flex w-full justify-center m-auto mb-10 mt-4\">\n          <GuideImage image={\"good.svg\"} />\n        </div>\n        <p className=\"font-bold text-center text-lg\">Registro completo</p>\n      </div>\n    </>\n  );\n}\n\nexport default CreatedUserMessage;\n","\"use client\";\nimport React, { useState } from \"react\";\nimport SmallModal from \"../SmallModal\";\nimport useCreatedUserModal from \"@/hooks/useCreatedUserModal\";\nimport CreatedUserMessage from \"./CreatedUserMessage\";\nimport { signIn } from \"next-auth/react\";\nimport useRegisterModal from \"@/hooks/useRegisterModal\";\n\ninterface Props {\n  email: string;\n  password: string;\n}\n\nfunction CreatedUserModal({ email, password }: Props) {\n  const createdUserModal = useCreatedUserModal();\n  const [isLoading, setIsLoading] = useState(false);\n  const registerModal = useRegisterModal();\n\n  // Redirect URL after successful login.\n  const redirectUrl = \"/user/onboarding\";\n\n  const onSubmit = async () => {\n    setIsLoading(true);\n    //Next Auth signIn function\n    const result = await signIn(\"credentials\", {\n      email: email,\n      password: password,\n      callbackUrl: redirectUrl,\n      redirect: true,\n    });\n    registerModal.onClose();\n    setIsLoading(false);\n  };\n\n  return (\n    <>\n      <SmallModal\n        isOpen={createdUserModal.isOpen}\n        title=\"Usuario Creado\"\n        onClose={createdUserModal.onClose}\n        body={<CreatedUserMessage />}\n        actionLabel=\"Continuar\"\n        onSubmit={onSubmit}\n      />\n    </>\n  );\n}\n\nexport default CreatedUserModal;\n","import React, { useState } from \"react\";\nimport FormsHeading from \"../FormsHeading\";\nimport Input from \"../../Inputs/Input\";\nimport CheckInput from \"@/components/Inputs/CheckInput\";\nimport LinksNavigation from \"@/constants/navigation\";\nimport PhoneInputWithCountrySelect, {\n  type Value,\n} from \"react-phone-number-input\";\nimport \"react-phone-number-input/style.css\";\nimport ModalsButton from \"@/components/Buttons/ModalsButton\";\nimport useValidatePhoneUserModal from \"@/hooks/useValidatePhoneUser\";\nimport ValidatePhoneUserModal from \"../validateUser/ValidatePhoneUserModal\";\nimport {\n  requestPhoneCodeVerification,\n  userVerification,\n} from \"@/services/api/user\";\nimport useLoginModal from \"@/hooks/useLoginModal\";\nimport CreatedUserModal from \"./CreatedUserModal\";\n\ninterface Props {\n  validatedEmail?: string;\n}\n\nfunction RegisterBody({ validatedEmail }: Props) {\n  const links = LinksNavigation();\n  const [name, setName] = useState<string>(\"\");\n  const [lastname, setLastname] = useState<string>(\"\");\n  const [phone, setPhone] = useState(\"\");\n  const [email, setEmail] = useState(validatedEmail ?? \"\");\n  const [password, setPassword] = useState(\"\");\n  const [isTernsAcepted, setIsTernsAcepted] = useState(false);\n  const [isLoading, setIsLoading] = useState(false);\n  const [passwordError, setPasswordError] = useState(\"\");\n  const [emailError, setEmailError] = useState(\"\");\n  const [phoneError, setPhoneError] = useState(\"\");\n  const validatePhoneUserModal = useValidatePhoneUserModal();\n  const loginModal = useLoginModal();\n\n  const handlePasswordChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n    const inputValue = event.target.value.slice(0, 4); // Limit to 4 characters\n    const numericValue = inputValue.replace(/[^0-9]/g, \"\"); // Allow only numbers\n\n    setPassword(numericValue);\n\n    if (numericValue.length !== 4) {\n      setPasswordError(\"La contraseña debe ser numérica de 4 dígitos\");\n    } else {\n      setPasswordError(\"\");\n    }\n  };\n\n  const handleEmailChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n    const newEmail = event.target.value;\n    setEmail(newEmail);\n\n    if (!/^[\\w-]+(\\.[\\w-]+)*@([\\w-]+\\.)+[a-zA-Z]{2,7}$/.test(newEmail)) {\n      setEmailError(\"El correo electrónico no es válido\");\n    } else {\n      setEmailError(\"\");\n    }\n  };\n\n  const isFormValid =\n    name &&\n    lastname &&\n    emailError === \"\" &&\n    passwordError === \"\" &&\n    phone !== \"\" &&\n    email !== \"\" &&\n    isTernsAcepted;\n\n  const handleRegister = async (event: React.FormEvent<HTMLFormElement>) => {\n    event.preventDefault(); // Prevent form submission\n\n    if (isFormValid) {\n      try {\n        const res = await userVerification({ body: { email } });\n\n        if (res.code_transaction === \"OK\") {\n          await requestPhoneCode(); // Ensure this is called before opening the modal\n          validatePhoneUserModal.onOpen();\n        }\n      } catch (error) {\n        loginModal.onOpen();\n        console.error(\"Error verifying user:\", error);\n      }\n    }\n  };\n\n  const requestPhoneCode = async () => {\n    try {\n      const body = {\n        phone: phone,\n      };\n      await requestPhoneCodeVerification({ body });\n    } catch (error) {\n      console.error(\"Error fetching data:\", error);\n    }\n  };\n\n  return (\n    <>\n      <form className=\"flex flex-col gap-4\" onSubmit={handleRegister}>\n        <FormsHeading title=\"Bienvenido a ATUA\" subtitle=\"¡Creá una cuenta!\" />\n        <Input\n          id=\"name\"\n          value={name}\n          onChange={(e) => setName(e.target.value)}\n          label=\"Nombres\"\n          type=\"text\"\n          required\n        />\n\n        <Input\n          id=\"lastname\"\n          value={lastname}\n          onChange={(e) => setLastname(e.target.value)}\n          label=\"Apellidos\"\n          type=\"text\"\n          required\n        />\n        <Input\n          id=\"email\"\n          label=\"Email\"\n          required\n          value={email}\n          onChange={handleEmailChange}\n          errors={emailError}\n        />\n        <Input\n          id=\"password\"\n          label=\"Password\"\n          type=\"password\"\n          disabled={isLoading}\n          required\n          value={password}\n          onChange={handlePasswordChange}\n          errors={passwordError}\n        />\n        <PhoneInputWithCountrySelect\n          international\n          countryCallingCodeEditable={false}\n          defaultCountry=\"AR\"\n          value={phone}\n          onChange={(phone: Value) => {\n            setPhone(phone);\n          }}\n          style={{\n            borderWidth: \"2px\",\n            borderColor: phoneError ? \"#EF4444\" : \"#D4D4D4\",\n            background: \"white\",\n            padding: \"11px\",\n            color: \"#A1A1AA\",\n            fontWeight: \"300\",\n            borderRadius: \"6px\",\n            outline: \"none\",\n          }}\n        />\n        {phoneError && (\n          <p className=\"text-red-500 text-xs -mt-2\">{phoneError}</p>\n        )}\n\n        <CheckInput\n          onToggle={(value) => {\n            setIsTernsAcepted(value);\n          }}\n        >\n          <p>\n            {\"Al continuar acepto todos los \"}\n            <span\n              onClick={links.handleClickTerms}\n              className=\"text-violet-700 cursor-pointer hover:underline\"\n            >\n              términos y condiciones.\n            </span>\n          </p>\n        </CheckInput>\n        <div className=\"pt-5\">\n          <ModalsButton\n            label=\"Registrate\"\n            disabled={isLoading || !isFormValid}\n            type=\"submit\"\n          />\n        </div>\n      </form>\n      {validatePhoneUserModal.isOpen && (\n        <ValidatePhoneUserModal\n          name={name}\n          lastname={lastname}\n          phone={phone}\n          email={email}\n          password={password}\n        />\n      )}\n      <CreatedUserModal email={email} password={password} />\n    </>\n  );\n}\n\nexport default RegisterBody;\n","import React from \"react\";\n\ninterface Props {\n  onClick?: () => void;\n}\n\nfunction RegisterFooter({ onClick }: Props) {\n  return (\n    <div className=\"flex flex-col gap-4 mt-3\">\n      <div className=\"text-neutral-500 text-center mt-4 font-light text-sm\">\n        <p>{\" ¿Ya tenés una cuenta? \"}\n          \n          <span\n            onClick={onClick}\n            className=\" text-violet-700 cursor-pointer hover:underline\"\n          >\n            Inicia Sesión\n          </span>\n        </p>\n      </div>\n    </div>\n  );\n}\n\nexport default RegisterFooter;\n","\"use client\";\nimport LinksNavigation from \"@/constants/navigation\";\nimport Image from \"next/image\";\nimport React from \"react\";\n\nfunction SupportLink() {\n  const links = LinksNavigation();\n\n  return (\n    <>\n      <div\n        onClick={links.handleClickWhatsappSupport}\n        className=\" flex cursor-pointer items-center align-middle\"\n      >\n        <Image\n          src={\"/assets/images/Whatsapp2.svg\"}\n          alt={\"whatsapp\"}\n          width={0}\n          height={0}\n          priority\n          className=\"cursor-pointer w-[30px] h-auto\"\n        />\n        <p className=\"text-violet-700 pl-2 underline\">Consultar a soporte</p>\n      </div>\n    </>\n  );\n}\n\nexport default SupportLink;\n","import { create } from \"zustand\";\n\n// Define an interface for the RegisterModalStore\ninterface AlertModalStore {\n  isOpen: boolean;\n  onOpen: () => void;\n  onClose: () => void;\n}\n// Create a custom hook called useRegisterModal using Zustand's create function\nconst useAlertModal = create<AlertModalStore>((set) => ({\n  isOpen: false,\n  onOpen: () => set({ isOpen: true }),\n  onClose: () => set({ isOpen: false }),\n}));\n\nexport default useAlertModal;\n","import { create } from \"zustand\";\n\ninterface EmailStore {\n  email: string;\n  setEmail: (email: string) => void;\n  resetEmail: () => void;\n}\n\nconst useEmailStore = create<EmailStore>((set) => ({\n  email: \"\",\n  setEmail: (email) => set({ email }),\n  resetEmail: () => set({ email: \"\" }),\n}));\n\nexport default useEmailStore;\n","import { create } from \"zustand\";\n\n// Define an interface for the LoginModalStore\ninterface LoginModalStore {\n  isOpen: boolean;\n  onOpen: () => void;\n  onClose: () => void;\n}\n// Create a custom hook called useLoginModal using Zustand's create function\nconst useLoginModal = create<LoginModalStore>((set) => ({\n  isOpen: false,\n  onOpen: () => set({ isOpen: true }),\n  onClose: () => set({ isOpen: false }),\n}));\n\nexport default useLoginModal;\n","import { create } from \"zustand\";\n\n// Define an interface for the RegisterModalStore\ninterface RegisterModalStore {\n  isOpen: boolean;\n  onOpen: () => void;\n  onClose: () => void;\n}\n// Create a custom hook called useRegisterModal using Zustand's create function\nconst useRegisterModal = create<RegisterModalStore>((set) => ({\n  isOpen: false,\n  onOpen: () => set({ isOpen: true }),\n  onClose: () => set({ isOpen: false }),\n}));\n\nexport default useRegisterModal;\n","import { createConnection } from \"./connection\";\n\nexport async function getUserInformation({ token }: { token: string }) {\n  try {\n    const res = await createConnection({\n      url: \"/users/summary/\",\n      method: \"GET\",\n      headers: { Authorization: `Bearer ${token}` },\n    });\n    return res.user_info;\n  } catch (error) {\n    throw new Error(\"Error fetching data: \");\n  }\n}\n\nexport async function updateUserProfile({\n  token,\n  data,\n}: {\n  token: string;\n  data: FormData;\n}) {\n  try {\n    const res = await createConnection({\n      url: \"/users/update/\",\n      method: \"PUT\",\n      data: data,\n      headers: { Authorization: `Bearer ${token}` },\n    });\n    return res;\n  } catch (error) {\n    console.error(\"Error fetching data:\", error);\n    throw new Error(\"Error fetching data\");\n  }\n}\n\nexport async function getUserDocumentVerication({ token }: { token: string }) {\n  try {\n    // Send a GET request\n    const res = await createConnection({\n      url: \"/users/document-verification/summary/\",\n      method: \"GET\",\n      headers: { Authorization: `Bearer ${token}` },\n    });\n    // Extract and return the \"user_info\" property from the API response data.\n    return res;\n  } catch (error) {\n    // If there's an error during the data fetching process, throw a new Error with a generic message.\n    throw new Error(\"Error fetching data: \");\n  }\n}\n\nexport async function updateUserDocumentVerication({\n  token,\n  data,\n  params,\n}: {\n  token: string;\n  data: FormData;\n  params: {\n    document_verification_id: number | null;\n  };\n}) {\n  try {\n    // Send a GET request to retrieve user trip data with authorization\n    const res = await createConnection({\n      url: \"/users/document-verification/update/\",\n      method: \"PUT\",\n      data: data,\n      params: params,\n      headers: { Authorization: `Bearer ${token}` },\n    });\n    return res;\n  } catch (error) {\n    console.error(\"Error fetching data:\", error);\n    throw new Error(\"Error fetching data\");\n  }\n}\n\nexport async function deleteUser({ token }: { token: string }) {\n  // Send a GET request\n  const res = await createConnection({\n    url: \"/users/delete/\",\n    method: \"POST\",\n    headers: { Authorization: `Bearer ${token}` },\n  });\n  // Extract and return the \"user_info\" property from the API response data.\n  return res;\n}\n\nexport async function requestChangePassword({\n  body,\n}: {\n  body: {\n    email: string | null;\n  };\n}) {\n  try {\n    // Send a GET request to retrieve user trip data with authorization\n    const res = await createConnection({\n      url: \"/users/process-recovery-password/\",\n      method: \"POST\",\n      body: body,\n    });\n    return res;\n    // Extract and return the \"data\" property from the API response data.\n  } catch (error: any) {\n    if (\n      error.response &&\n      error.response.data &&\n      error.response.data.message &&\n      error.response.data.message.email\n    ) {\n      return error.response.data.message.email;\n    }\n    if (error.response && error.response.data && error.response.data.message) {\n      return error.response.data.message;\n    }\n  }\n}\n\nexport async function changeUserPassword({\n  body,\n}: {\n  body: {\n    email: string | null;\n    code: string | null;\n    new_password: string | null;\n  };\n}) {\n  try {\n    // Send a GET request to retrieve user trip data with authorization\n    const res = await createConnection({\n      url: \"/users/recovery-password/\",\n      method: \"POST\",\n      body: body,\n    });\n    return res;\n    // Extract and return the \"data\" property from the API response data.\n  } catch (error: any) {\n    if (error.response && error.response.data && error.response.data.message) {\n      return error.response.data.message;\n    }\n  }\n}\n\nexport async function requestPhoneCodeVerification({\n  body,\n}: {\n  body: {\n    phone: string | undefined;\n  };\n}) {\n  try {\n    // Send a GET request to retrieve user trip data with authorization\n    const res = await createConnection({\n      url: \"/sms/send-verification-code/\",\n      method: \"POST\",\n      body: body,\n    });\n    return res;\n    // Extract and return the \"data\" property from the API response data.\n  } catch (error) {\n    console.error(\"Error fetching data:\", error);\n    throw new Error(\"Error fetching data\");\n  }\n}\n\nexport async function phoneCodeVerification({\n  body,\n}: {\n  body: {\n    phone: string | undefined;\n    code: string | null;\n  };\n}) {\n  try {\n    // Send a GET request to retrieve user trip data with authorization\n    const res = await createConnection({\n      url: \"/sms/verification-code/\",\n      method: \"POST\",\n      body: body,\n    });\n    return res;\n    // Extract and return the \"data\" property from the API response data.\n  } catch (error) {\n    console.error(\"Error fetching data:\", error);\n    throw new Error(\"Error fetching data\");\n  }\n}\n\nexport async function createUser({\n  body,\n}: {\n  body: {\n    phone: string | undefined;\n    password: string | undefined;\n    email: string | undefined;\n    first_name?: string | undefined;\n    last_name?: string | undefined;\n    document_number?: string | undefined;\n    document_type?: string | undefined;\n  };\n}) {\n  try {\n    // Send a GET request to retrieve user trip data with authorization\n    const res = await createConnection({\n      url: \"/users/create/\",\n      method: \"POST\",\n      body: body,\n    });\n    return res;\n    // Extract and return the \"data\" property from the API response data.\n  } catch (error: any) {\n    console.error(\"Error fetching data:\", error);\n    throw new Error(\"Error fetching data\");\n  }\n}\n\nexport async function userVerification({\n  body,\n}: {\n  body: {\n    email: string | undefined;\n  };\n}) {\n  try {\n    // Send a GET request to retrieve user trip data with authorization\n    const res = await createConnection({\n      url: \"/users/verification/\",\n      method: \"POST\",\n      body: body,\n    });\n    return res;\n    // Extract and return the \"data\" property from the API response data.\n  } catch (error: any) {\n    console.error(\"Error fetching data:\", error);\n    throw new Error(\"Error fetching data\");\n  }\n}\n","// extracted by mini-css-extract-plugin"],"names":["__webpack_exports__","Z","router","useRouter","searchParams","useSearchParams","location","startDate","startHour","endDate","endHour","useBookingDates","startDateString","addDaysToString","addDays","Date","endDateString","startHourString","formatTime","endHourString","handleSearch","newLocation","params","URLSearchParams","set","toString","replace","concat","formatDate","inputDate","datePart","timePart","split","dateObj","day","getDate","month","getMonth","year","getFullYear","formattedDay","String","padStart","formattedMonth","formatDateToSpanishLocale","originalDate","console","error","formattedDate","format","locale","es","capitalizeFirstLetter","date","days","newDate","setDate","toISOString","substring","restPeriodDays","fechas","length","fecha1","daysMiliseconds","fecha2","getTime","formatDateToYYYYMMDD","Number","isNaN","formattedYear","formatDateToYYYYMMDDFromISO","isoDate","hours","getHours","minutes","getMinutes","formatHour","datetime","time","param","label","onClick","disabled","outline","small","disabledText","type","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","button","className","p","photo","height","width","Image","blurDataURL","placeholder","loading","quality","alt","src","links","LinksNavigation","div","handleClickHome","priority","SearchBar_DateTimePicker","pickDate","setPickDate","hour","setHour","minDate","jsx_runtime","Fragment","jsxs","ReactDatePicker","selected","onChange","dateSelected","dateFormat","calendarClassName","dayClassName","toDateString","disabledKeyboardNavigation","showPopperArrow","popperPlacement","ChevronDownIcon","hourSelected","showTimeSelect","showTimeSelectOnly","timeIntervals","timeCaption","SearchBar_SearchBar","React","landingPage","isLarge","setIsLarge","useState","window","innerWidth","isMedNavBar","setIsMedNavBar","placeName","setPlaceName","place","setLocation","setPlace","setStartDate","setStartHour","setEndDate","setEndHour","searchCars","SearchCars","showSearchBox","setShowSearchBox","placeLabel","carsSearch","dataLayer","push","event","category","action","searchDetails","useEffect","handleResize","addEventListener","removeEventListener","handleLocationSelect","lat","lng","refBoxSearch","useOnclickOutside","RenderFromForm","DateTimePicker","RenderToForm","RenderMiniSearchBar","ref","PlacesAutocomplete","onSelect","ModalsButton","MagnifyingGlassIcon","Header_MenuItems","icon","divider","menuData","registerModal","useRegisterModal","loginModal","useLoginModal","AuthData","ChatBubbleLeftEllipsisIcon","handleClickMessage","UserIcon","handleClickProfile","WalletIcon","handleClickWallet","TruckIcon","handleClickOwnerCars","MapIcon","handleClickOwnerPosts","BriefcaseIcon","handleClickBooking","BanknotesIcon","handleClickWhyRent","PresentationChartLineIcon","handleClickHowInvest","QuestionMarkCircleIcon","handleClickHowWork","ShieldCheckIcon","handleClickInsurance","InformationCircleIcon","handleClickTerms","LockClosedIcon","handleClickPolicies","PhoneArrowUpRightIcon","handleClickWhatsappSupport","ArrowRightOnRectangleIcon","signOut","NotAuthData","onOpen","UserPlusIcon","CurrencyDollarIcon","handleClickBecomeHost","MapPinIcon","handleClickCabify","NavBarMenuData","Header_WhatsappButton","isBooking","Header_UserMenu","isHomePage","data","session","useSession","isMenuOpen","setIsMenuOpen","menu","useMenuOptionsData","user","setUser","fetchData","useMemo","accessToken","userInfo","getUserInformation","token","menuItems","toggleOpen","useCallback","value","refMenu","WhatsappButton","Bars3Icon","Avatar","avatar","map","MenuItems","LinksNavbarItem","Header_LinksNavBar","Header_Header","header","Logo","SearchBar","LinksNavBar","UserMenu","Footer_FooterTitle","title","h5","Footer_FooterLink","ariaLabel","aria-label","Footer_FooterSocialMedia","image","Footer_FooterStore","Footer_Footer","footer","FooterTitle","FooterLink","handleClickWhatsappBooking","handleClickWhatsappCaptureCar","handleClickGoogleMaps","FooterSocialMedia","handleClickFacebook","handleClickInstagram","FooterStore","handleClickPlayStore","handleClickAppStore","register_RegisterModal","validatedEmail","isLoading","setIsLoading","onToggle","onClose","Modal","isOpen","body","RegisterBody","RegisterFooter","login_LoginModal","LoginBody","LoginFooter","libraries","components_MainScreen","children","isPostACar","email","useEmailStore","isLoaded","useJsApiLoader","id","googleMapsApiKey","process","Header","RegisterModal","LoginModal","Footer","subtitle","center","onSubmit","actionLabel","secondaryAction","secondaryActionLabel","showModal","setShowModal","handleClose","setTimeout","handleSubmit","handleSecondaryAction","XMarkIcon","support","alertModal","useAlertModal","SmallModal","SupportLink","emailInput","setEmailInput","passwordInput","setPasswordInput","pathname","usePathname","redirectUrl","setRedirectUrl","has","signIn","password","callbackUrl","redirect","AlertModal","FormsHeading","Input","required","e","target","span","handleClickForgotPassword","useValidatePhoneUserModal","create","validateUser_CodeInput","setCompleteCode","code","setCode","inputRefs","Array","from","useRef","handleChange","index","newCode","join","current","focus","handleKeyDown","key","_","input","maxLength","onKeyDown","validateUser_ValidatePhoneUserMessage","phone","requestPhoneCode","requestPhoneCodeVerification","CodeInput","useCreatedUserModal","validateUser_ValidatePhoneUserModal","name","lastname","validatePhoneUserModal","subtittle","setSubtittle","showSupportLink","setShowSupportLink","createdUserModal","createNewUser","res","createUser","first_name","last_name","code_transaction","validatePhoneCode","phoneCodeVerification","ValidatePhoneUserMessage","register_CreatedUserMessage","GuideImage","register_CreatedUserModal","CreatedUserMessage","register_RegisterBody","setName","setLastname","setPhone","setEmail","setPassword","isTernsAcepted","setIsTernsAcepted","passwordError","setPasswordError","emailError","setEmailError","phoneError","setPhoneError","isFormValid","handleRegister","preventDefault","userVerification","form","newEmail","test","errors","numericValue","inputValue","slice","PhoneInputWithCountrySelect","international","countryCallingCodeEditable","defaultCountry","style","borderWidth","borderColor","background","padding","color","fontWeight","borderRadius","CheckInput","ValidatePhoneUserModal","CreatedUserModal","resetEmail","createConnection","url","method","headers","Authorization","user_info","updateUserProfile","getUserDocumentVerication","updateUserDocumentVerication","deleteUser","requestChangePassword","response","message","changeUserPassword"],"sourceRoot":""}