diff options
Diffstat (limited to 'apps/web/src/versions/versions-store.ts')
| -rw-r--r-- | apps/web/src/versions/versions-store.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/apps/web/src/versions/versions-store.ts b/apps/web/src/versions/versions-store.ts new file mode 100644 index 00000000..7ae957fb --- /dev/null +++ b/apps/web/src/versions/versions-store.ts @@ -0,0 +1,23 @@ +import { create } from "zustand"; + +/** + * UI-only state for the versions surfaces (popover + checkpoint dialog). + * Document state lives in EditorCore's VersionsManager — never here. + */ +interface VersionsState { + isPanelOpen: boolean; + isCheckpointDialogOpen: boolean; + setPanelOpen: (args: { open: boolean }) => void; + togglePanel: () => void; + openCheckpointDialog: () => void; + closeCheckpointDialog: () => void; +} + +export const useVersionsStore = create<VersionsState>()((set) => ({ + isPanelOpen: false, + isCheckpointDialogOpen: false, + setPanelOpen: ({ open }) => set({ isPanelOpen: open }), + togglePanel: () => set((state) => ({ isPanelOpen: !state.isPanelOpen })), + openCheckpointDialog: () => set({ isCheckpointDialogOpen: true }), + closeCheckpointDialog: () => set({ isCheckpointDialogOpen: false }), +})); |
