import { create } from "zustand" interface LoginDialogState { open: boolean pendingAction: (() => void) | null openLoginDialog: (action?: () => void) => void closeLoginDialog: () => void consumePendingAction: () => void } export const useLoginDialogStore = create((set, get) => ({ open: false, pendingAction: null, openLoginDialog: (action) => set({ open: true, pendingAction: action ?? null }), closeLoginDialog: () => set({ open: false, pendingAction: null }), consumePendingAction: () => { const action = get().pendingAction set({ pendingAction: null }) action?.() }, }))