import { useIntl } from "react-intl"

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

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

export default function GuaranteeDetails() {
  const intl = useIntl()
  return (
    <details>
      <Caption color="burgundy" type="bold" asChild>
        <summary className={styles.summary}>
          {intl.formatMessage({
            id: "common.howItWorks",
            defaultMessage: "How it works",
          })}
          <MaterialIcon
            icon="keyboard_arrow_down"
            color="Icon/Interactive/Default"
            size={16}
          />
        </summary>
      </Caption>
      <section className={styles.content}>
        <Body>
          {intl.formatMessage({
            id: "enterDetails.payment.guaranteeInfoDescription",
            defaultMessage:
              "When guaranteeing your booking, we will hold the booking until 07:00 until the day after check-in. This will provide you as a guest with added flexibility for check-in times.",
          })}
        </Body>
        <Body>
          {intl.formatMessage({
            id: "enterDetails.payment.guaranteeInfoWhatToDo",
            defaultMessage: "What you have to do to guarantee booking:",
          })}
        </Body>
        <ol>
          <Body asChild>
            <li>
              {intl.formatMessage({
                id: "enterDetails.payment.guaranteeInfoCompleteBooking",
                defaultMessage: "Complete the booking",
              })}
            </li>
          </Body>
          <Body asChild>
            <li>
              {intl.formatMessage({
                id: "enterDetails.payment.guaranteeInfoProvideCard",
                defaultMessage: "Provide a payment card in the next step",
              })}
            </li>
          </Body>
        </ol>
        <Body>
          {intl.formatMessage({
            id: "enterDetails.payment.guaranteeInfoMandatoryNote",
            defaultMessage:
              "Please note that this is mandatory, and that your card will only be charged in the event of a no-show.",
          })}
        </Body>
      </section>
    </details>
  )
}
