"use client"
import { useIntl } from "react-intl"

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

import useSidePeekStore from "@/stores/sidepeek"

import Button from "@/components/TempDesignSystem/Button"

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

import { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek"
import type { ToggleSidePeekProps } from "@/types/components/hotelReservation/toggleSidePeekProps"

export default function ToggleSidePeek({
  hotelId,
  intent = "textInverted",
}: ToggleSidePeekProps) {
  const intl = useIntl()
  const openSidePeek = useSidePeekStore((state) => state.openSidePeek)

  return (
    <Button
      onClick={() => openSidePeek({ key: SidePeekEnum.hotelDetails, hotelId })}
      theme="base"
      size="small"
      variant="icon"
      intent={intent}
      wrapping
      className={styles.toggle}
    >
      {intl.formatMessage({
        defaultMessage: "See hotel details",
      })}
      <MaterialIcon icon="chevron_right" size={14} color="Icon/Inverted" />
    </Button>
  )
}
