persist snapping + ripple

This commit is contained in:
Maze Winther
2026-02-23 06:56:05 +01:00
parent a982304bb3
commit 1762dc077d
+28 -16
View File
@@ -4,6 +4,7 @@
*/ */
import { create } from "zustand"; import { create } from "zustand";
import { persist } from "zustand/middleware";
import type { ClipboardItem } from "@/types/timeline"; import type { ClipboardItem } from "@/types/timeline";
interface TimelineStore { interface TimelineStore {
@@ -21,24 +22,35 @@ interface TimelineStore {
) => void; ) => void;
} }
export const useTimelineStore = create<TimelineStore>((set) => ({ export const useTimelineStore = create<TimelineStore>()(
snappingEnabled: true, persist(
(set) => ({
snappingEnabled: true,
toggleSnapping: () => { toggleSnapping: () => {
set((state) => ({ snappingEnabled: !state.snappingEnabled })); set((state) => ({ snappingEnabled: !state.snappingEnabled }));
}, },
rippleEditingEnabled: false, rippleEditingEnabled: false,
toggleRippleEditing: () => { toggleRippleEditing: () => {
set((state) => ({ set((state) => ({
rippleEditingEnabled: !state.rippleEditingEnabled, rippleEditingEnabled: !state.rippleEditingEnabled,
})); }));
}, },
clipboard: null, clipboard: null,
setClipboard: (clipboard) => { setClipboard: (clipboard) => {
set({ clipboard }); set({ clipboard });
}, },
})); }),
{
name: "timeline-store",
partialize: (state) => ({
snappingEnabled: state.snappingEnabled,
rippleEditingEnabled: state.rippleEditingEnabled,
}),
},
),
);