"use client"; import type React from "react"; import { createStore } from "zustand"; export type BookingActionsStore = { // Dialog states rejectionDialogIsOpen: boolean; chargeCardDialogIsOpen: boolean; viewRecordingsDialogIsOpen: boolean; meetingSessionDetailsDialogIsOpen: boolean; isNoShowDialogOpen: boolean; isOpenRescheduleDialog: boolean; isOpenReassignDialog: boolean; isOpenSetLocationDialog: boolean; isOpenAddGuestsDialog: boolean; isOpenReportDialog: boolean; rerouteDialogIsOpen: boolean; isCancelDialogOpen: boolean; isOpenWrongAssignmentDialog: boolean; isOpenRoutingTraceSheet: boolean; // Dialog setters setRejectionDialogIsOpen: React.Dispatch>; setChargeCardDialogIsOpen: React.Dispatch>; setViewRecordingsDialogIsOpen: React.Dispatch>; setMeetingSessionDetailsDialogIsOpen: React.Dispatch>; setIsNoShowDialogOpen: React.Dispatch>; setIsOpenRescheduleDialog: React.Dispatch>; setIsOpenReassignDialog: React.Dispatch>; setIsOpenLocationDialog: React.Dispatch>; setIsOpenAddGuestsDialog: React.Dispatch>; setIsOpenReportDialog: React.Dispatch>; setRerouteDialogIsOpen: React.Dispatch>; setIsCancelDialogOpen: React.Dispatch>; setIsOpenWrongAssignmentDialog: React.Dispatch>; setIsOpenRoutingTraceSheet: React.Dispatch>; }; export const createBookingActionsStore = () => { return createStore((set) => ({ // Initial dialog states rejectionDialogIsOpen: false, chargeCardDialogIsOpen: false, viewRecordingsDialogIsOpen: false, meetingSessionDetailsDialogIsOpen: false, isNoShowDialogOpen: false, isOpenRescheduleDialog: false, isOpenReassignDialog: false, isOpenSetLocationDialog: false, isOpenAddGuestsDialog: false, isOpenReportDialog: false, rerouteDialogIsOpen: false, isCancelDialogOpen: false, isOpenWrongAssignmentDialog: false, isOpenRoutingTraceSheet: false, // Dialog setters setRejectionDialogIsOpen: (isOpen) => set((state) => ({ rejectionDialogIsOpen: typeof isOpen === "function" ? isOpen(state.rejectionDialogIsOpen) : isOpen, })), setChargeCardDialogIsOpen: (isOpen) => set((state) => ({ chargeCardDialogIsOpen: typeof isOpen === "function" ? isOpen(state.chargeCardDialogIsOpen) : isOpen, })), setViewRecordingsDialogIsOpen: (isOpen) => set((state) => ({ viewRecordingsDialogIsOpen: typeof isOpen === "function" ? isOpen(state.viewRecordingsDialogIsOpen) : isOpen, })), setMeetingSessionDetailsDialogIsOpen: (isOpen) => set((state) => ({ meetingSessionDetailsDialogIsOpen: typeof isOpen === "function" ? isOpen(state.meetingSessionDetailsDialogIsOpen) : isOpen, })), setIsNoShowDialogOpen: (isOpen) => set((state) => ({ isNoShowDialogOpen: typeof isOpen === "function" ? isOpen(state.isNoShowDialogOpen) : isOpen, })), setIsOpenRescheduleDialog: (isOpen) => set((state) => ({ isOpenRescheduleDialog: typeof isOpen === "function" ? isOpen(state.isOpenRescheduleDialog) : isOpen, })), setIsOpenReassignDialog: (isOpen) => set((state) => ({ isOpenReassignDialog: typeof isOpen === "function" ? isOpen(state.isOpenReassignDialog) : isOpen, })), setIsOpenLocationDialog: (isOpen) => set((state) => ({ isOpenSetLocationDialog: typeof isOpen === "function" ? isOpen(state.isOpenSetLocationDialog) : isOpen, })), setIsOpenAddGuestsDialog: (isOpen) => set((state) => ({ isOpenAddGuestsDialog: typeof isOpen === "function" ? isOpen(state.isOpenAddGuestsDialog) : isOpen, })), setIsOpenReportDialog: (isOpen) => set((state) => ({ isOpenReportDialog: typeof isOpen === "function" ? isOpen(state.isOpenReportDialog) : isOpen, })), setRerouteDialogIsOpen: (isOpen) => set((state) => ({ rerouteDialogIsOpen: typeof isOpen === "function" ? isOpen(state.rerouteDialogIsOpen) : isOpen, })), setIsCancelDialogOpen: (isOpen) => set((state) => ({ isCancelDialogOpen: typeof isOpen === "function" ? isOpen(state.isCancelDialogOpen) : isOpen, })), setIsOpenWrongAssignmentDialog: (isOpen) => set((state) => ({ isOpenWrongAssignmentDialog: typeof isOpen === "function" ? isOpen(state.isOpenWrongAssignmentDialog) : isOpen, })), setIsOpenRoutingTraceSheet: (isOpen) => set((state) => ({ isOpenRoutingTraceSheet: typeof isOpen === "function" ? isOpen(state.isOpenRoutingTraceSheet) : isOpen, })), })); };