Files
web/stores/rate-selection.ts
T
2025-01-30 11:19:22 +01:00

28 lines
885 B
TypeScript

import { create } from "zustand"
import type { RateCode } from "@/types/components/hotelReservation/selectRate/selectRate"
interface RateSelectionState {
selectedRates: (RateCode | undefined)[]
setSelectedRates: (rates: (RateCode | undefined)[]) => void
modifyRate: (index: number) => void
selectRate: (index: number, rate: RateCode | undefined) => void
}
export const useRateSelectionStore = create<RateSelectionState>((set) => ({
selectedRates: [],
setSelectedRates: (rates) => set({ selectedRates: rates }),
modifyRate: (index) =>
set((state) => {
const newRates = [...state.selectedRates]
newRates[index] = undefined
return { selectedRates: newRates }
}),
selectRate: (index, rate) =>
set((state) => {
const newRates = [...state.selectedRates]
newRates[index] = rate
return { selectedRates: newRates }
}),
}))