/** * Quick Capture store. * * Manages the overlay state for the global Cmd+Shift+C capture flow. */ import { create } from "zustand"; interface CaptureState { isOpen: boolean; isSubmitting: boolean; lastCapturedId: string | null; error: string | null; } interface CaptureActions { open: () => void; close: () => void; setSubmitting: (submitting: boolean) => void; captureSuccess: (beadId: string) => void; captureError: (message: string) => void; } export const useCaptureStore = create((set) => ({ isOpen: false, isSubmitting: false, lastCapturedId: null, error: null, open: () => set({ isOpen: true, error: null }), close: () => set({ isOpen: false, isSubmitting: false, error: null, }), setSubmitting: (submitting) => set({ isSubmitting: submitting }), captureSuccess: (beadId) => set({ lastCapturedId: beadId, isSubmitting: false, isOpen: false, error: null, }), captureError: (message) => set({ error: message, isSubmitting: false, isOpen: true, }), }));