blob: 7ae957fb8d41b21fb54d3b5460c784bbba11aeb1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 }),
}));
|