Feat/SW-1737 design mystay multiroom * feat(SW-1737) Fixed member view of guest details * feat(SW-1737) fix merge issues * feat(SW-1737) Fixed price details * feat(SW-1737) removed unused imports * feat(SW-1737) removed true as statement * feat(SW-1737) updated store handling * feat(SW-1737) fixed bug showing double numbers * feat(SW-1737) small design fixed * feat(SW-1737) fixed rebase errors * feat(SW-1737) fixed create booking error with dates * feat(SW-1737) fixed view multiroom as singleroom * feat(SW-1737) fixes for multiroom * feat(SW-1737) fixed bookingsummary * feat(SW-1737) dont hide modify dates * feat(SW-1737) updated breakfast to handle number * feat(SW-1737) Added red color if member rate * feat(SW-1737) fix PR comments * feat(SW-1737) updated member tiers svg * feat(SW-1737) updated how to handle paymentMethodDescription * feat(SW-1737) fixes after testing mystay * feat(SW-1737) updated Room type to just use whats used * feat(SW-1737) fixed access * feat(SW-1737) refactor my stay after PR comments * feat(SW-1737) fix roomNumber translation * feat(SW-1737) removed log Approved-by: Arvid Norlin
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import { create } from "zustand"
|
|
|
|
type ActiveView =
|
|
| "actionPanel"
|
|
| "cancelStay"
|
|
| "modifyStay"
|
|
| "guaranteeLateArrival"
|
|
|
|
interface ManageStayState {
|
|
isOpen: boolean
|
|
activeView: ActiveView
|
|
currentStep: number
|
|
isLoading: boolean
|
|
actions: {
|
|
setIsOpen: (isOpen: boolean) => void
|
|
setActiveView: (view: ActiveView) => void
|
|
setCurrentStep: (step: number) => void
|
|
setIsLoading: (isLoading: boolean) => void
|
|
handleForward: () => void
|
|
handleCloseView: () => void
|
|
handleCloseModal: () => void
|
|
}
|
|
}
|
|
|
|
export const useManageStayStore = create<ManageStayState>((set) => ({
|
|
isOpen: false,
|
|
activeView: "actionPanel",
|
|
currentStep: 1,
|
|
isLoading: false,
|
|
actions: {
|
|
setIsOpen: (isOpen) => set({ isOpen }),
|
|
setActiveView: (activeView) => set({ activeView }),
|
|
setCurrentStep: (currentStep) => set({ currentStep }),
|
|
setIsLoading: (isLoading) => set({ isLoading }),
|
|
handleForward: () =>
|
|
set((state) => ({ currentStep: state.currentStep + 1 })),
|
|
handleCloseView: () =>
|
|
set({
|
|
currentStep: 1,
|
|
isLoading: false,
|
|
activeView: "actionPanel",
|
|
}),
|
|
handleCloseModal: () =>
|
|
set({
|
|
currentStep: 1,
|
|
isOpen: false,
|
|
activeView: "actionPanel",
|
|
}),
|
|
},
|
|
}))
|