"use client" import { useRouter, useSearchParams } from "next/navigation" import { useState, useTransition } from "react" import { ErrorBoundary } from "@/components/ErrorBoundary/ErrorBoundary" import { useSelectRateContext } from "@/contexts/SelectRate/SelectRateContext" import { DesktopSummary } from "./DesktopSummary" import { MobileSummary } from "./MobileSummary" import styles from "./rateSummary.module.css" export function RateSummary() { return ( // eslint-disable-next-line formatjs/no-literal-string-in-jsx Unable to render summary}> ) } function InnerRateSummary() { const { selectedRates, input } = useSelectRateContext() const [isSubmitting, setIsSubmitting] = useState(false) const router = useRouter() const params = useSearchParams() const [_, startTransition] = useTransition() if (selectedRates.state === "NONE_SELECTED") { return null } function handleSubmit(e: React.FormEvent) { e.preventDefault() setIsSubmitting(true) startTransition(() => { router.push(`details?${params}`) }) } const totalPriceToShow = selectedRates.totalPrice if ( !totalPriceToShow || !selectedRates.rates.some((room) => room?.isSelected ?? false) ) { return null } // attribute data-footer-spacing used to add spacing // beneath footer to be able to show entire footer upon // scrolling down to the bottom of the page return (
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} Unable to render desktop summary
}>
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} Unable to render mobile summary
}> ) }