import stringify from "json-stable-stringify-without-jsonify"
import { Suspense } from "react"

import SelectHotel from "@/components/HotelReservation/SelectHotel"
import { SelectHotelSkeleton } from "@/components/HotelReservation/SelectHotel/SelectHotelSkeleton"

import type { SelectHotelSearchParams } from "@/types/components/hotelReservation/selectHotel/selectHotelSearchParams"
import type { LangParams, PageArgs } from "@/types/params"

export default async function SelectHotelPage({
  params,
  searchParams,
}: PageArgs<LangParams, SelectHotelSearchParams>) {
  const suspenseKey = stringify(searchParams)

  return (
    <Suspense key={suspenseKey} fallback={<SelectHotelSkeleton />}>
      <SelectHotel params={params} searchParams={searchParams} />
    </Suspense>
  )
}
