35 lines
869 B
TypeScript
35 lines
869 B
TypeScript
"use client"
|
|
|
|
import { useRatesStore } from "@/stores/select-rate"
|
|
|
|
import { RoomContext } from "@/contexts/Room"
|
|
|
|
import type { RoomProviderProps } from "@/types/providers/room"
|
|
|
|
export default function RoomProvider({
|
|
children,
|
|
idx,
|
|
room,
|
|
}: RoomProviderProps) {
|
|
const activeRoom = useRatesStore((state) => state.activeRoom)
|
|
const modifyRate = useRatesStore((state) => state.actions.modifyRate(idx))
|
|
const selectFilter = useRatesStore((state) => state.actions.selectFilter(idx))
|
|
const selectRate = useRatesStore((state) => state.actions.selectRate(idx))
|
|
return (
|
|
<RoomContext.Provider
|
|
value={{
|
|
...room,
|
|
actions: {
|
|
modifyRate,
|
|
selectFilter,
|
|
selectRate,
|
|
},
|
|
isActiveRoom: activeRoom === idx,
|
|
roomNr: idx + 1,
|
|
}}
|
|
>
|
|
{children}
|
|
</RoomContext.Provider>
|
|
)
|
|
}
|