diff options
Diffstat (limited to 'apps/web/src/stores/timeline-store.ts')
| -rw-r--r-- | apps/web/src/stores/timeline-store.ts | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/apps/web/src/stores/timeline-store.ts b/apps/web/src/stores/timeline-store.ts deleted file mode 100644 index b7ddb885..00000000 --- a/apps/web/src/stores/timeline-store.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * UI state for the timeline - * For core logic, use EditorCore instead. - */ - -import { create } from "zustand"; -import { persist } from "zustand/middleware"; - -interface TimelineStore { - snappingEnabled: boolean; - toggleSnapping: () => void; - rippleEditingEnabled: boolean; - toggleRippleEditing: () => void; - expandedElementIds: Set<string>; - toggleElementExpanded: (elementId: string) => void; -} - -export const useTimelineStore = create<TimelineStore>()( - persist( - (set) => ({ - snappingEnabled: true, - - toggleSnapping: () => { - set((state) => ({ snappingEnabled: !state.snappingEnabled })); - }, - - rippleEditingEnabled: false, - - toggleRippleEditing: () => { - set((state) => ({ - rippleEditingEnabled: !state.rippleEditingEnabled, - })); - }, - - expandedElementIds: new Set<string>(), - - toggleElementExpanded: (elementId) => { - set((state) => { - const next = new Set(state.expandedElementIds); - if (next.has(elementId)) { - next.delete(elementId); - } else { - next.add(elementId); - } - return { expandedElementIds: next }; - }); - }, - }), - { - name: "timeline-store", - partialize: (state) => ({ - snappingEnabled: state.snappingEnabled, - rippleEditingEnabled: state.rippleEditingEnabled, - }), - }, - ), -); |
