Feat/SW-2271 hotel list filtering

* feat(SW-2271): Changes to hotel data types in preperation for filtering
* feat(SW-2271): Added filter and sort functionality

Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-07-04 09:27:20 +00:00
parent 82e21af0d4
commit fa7214cb58
58 changed files with 1572 additions and 450 deletions

View File

@@ -0,0 +1,39 @@
"use client"
import { useSearchParams } from "next/navigation"
import { useRef } from "react"
import { createHotelListingDataStore } from "@/stores/hotel-listing-data"
import { HotelListingDataContext } from "@/contexts/HotelListingData"
import HotelListingDataProviderContent from "./Content"
import type { HotelListingDataStore } from "@/types/contexts/hotel-listing-data"
import type { HotelListingDataProviderProps } from "@/types/providers/hotel-listing-data"
export default function HotelListingDataProvider({
allHotels,
allFilters,
sortItems,
children,
}: HotelListingDataProviderProps) {
const storeRef = useRef<HotelListingDataStore>(undefined)
const searchParams = useSearchParams()
if (!storeRef.current) {
storeRef.current = createHotelListingDataStore({
allHotels,
allFilters,
sortItems,
searchParams,
})
}
return (
<HotelListingDataContext.Provider value={storeRef.current}>
<HotelListingDataProviderContent>
{children}
</HotelListingDataProviderContent>
</HotelListingDataContext.Provider>
)
}