persist snapping + ripple

This commit is contained in:
Maze Winther 2026-02-23 06:56:05 +01:00
parent a982304bb3
commit 1762dc077d
1 changed files with 28 additions and 16 deletions

View File

@ -4,6 +4,7 @@
*/
import { create } from "zustand";
import { persist } from "zustand/middleware";
import type { ClipboardItem } from "@/types/timeline";
interface TimelineStore {
@ -21,24 +22,35 @@ interface TimelineStore {
) => void;
}
export const useTimelineStore = create<TimelineStore>((set) => ({
snappingEnabled: true,
export const useTimelineStore = create<TimelineStore>()(
persist(
(set) => ({
snappingEnabled: true,
toggleSnapping: () => {
set((state) => ({ snappingEnabled: !state.snappingEnabled }));
},
toggleSnapping: () => {
set((state) => ({ snappingEnabled: !state.snappingEnabled }));
},
rippleEditingEnabled: false,
rippleEditingEnabled: false,
toggleRippleEditing: () => {
set((state) => ({
rippleEditingEnabled: !state.rippleEditingEnabled,
}));
},
toggleRippleEditing: () => {
set((state) => ({
rippleEditingEnabled: !state.rippleEditingEnabled,
}));
},
clipboard: null,
clipboard: null,
setClipboard: (clipboard) => {
set({ clipboard });
},
}));
setClipboard: (clipboard) => {
set({ clipboard });
},
}),
{
name: "timeline-store",
partialize: (state) => ({
snappingEnabled: state.snappingEnabled,
rippleEditingEnabled: state.rippleEditingEnabled,
}),
},
),
);