"use client"

import { useIntl } from "react-intl"

import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"

import {
  alternativeHotelsMap,
  selectHotelMap,
} from "@/constants/routes/hotelReservation"

import Button from "@/components/TempDesignSystem/Button"
import Link from "@/components/TempDesignSystem/Link"
import useLang from "@/hooks/useLang"

import FilterAndSortModal from "../FilterAndSortModal"

import styles from "./mobileMapButtonContainer.module.css"

import type { CategorizedFilters } from "@/types/components/hotelReservation/selectHotel/hotelFilters"

export default function MobileMapButtonContainer({
  filters,
  isAlternative,
}: {
  filters: CategorizedFilters
  isAlternative?: boolean
}) {
  const intl = useIntl()
  const lang = useLang()

  return (
    <div className={styles.buttonContainer}>
      <Button
        asChild
        theme="base"
        variant="icon"
        intent="secondary"
        size="small"
      >
        <Link
          href={
            isAlternative ? alternativeHotelsMap(lang) : selectHotelMap(lang)
          }
          keepSearchParams
          weight="bold"
        >
          <MaterialIcon icon="map" color="Icon/Intense" />
          {intl.formatMessage({
            defaultMessage: "See on map",
          })}
        </Link>
      </Button>
      <FilterAndSortModal filters={filters} />
    </div>
  )
}
