diff options
| author | Maze Winther <mazewinther@gmail.com> | 2025-07-31 13:12:02 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2025-07-31 13:12:02 +0200 |
| commit | b2cd730fb78d2dd647bd7bb7ea6691a83d160238 (patch) | |
| tree | baa05b7d44923e72918107d159b6afbd331ca2a4 /apps/web/src/stores/timeline-store.ts | |
| parent | 5f4f3cc6c420d5fe37bf8f8dffa9368e75b9b60e (diff) | |
| parent | f255ccb818358b90edd0c1bc1f3a690dc1e729ac (diff) | |
| download | opencut-b2cd730fb78d2dd647bd7bb7ea6691a83d160238.tar.gz | |
Merge branch 'staging' of https://github.com/mazeincoding/AppCut into staging
Diffstat (limited to 'apps/web/src/stores/timeline-store.ts')
| -rw-r--r-- | apps/web/src/stores/timeline-store.ts | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/apps/web/src/stores/timeline-store.ts b/apps/web/src/stores/timeline-store.ts index f3497be9..0f441176 100644 --- a/apps/web/src/stores/timeline-store.ts +++ b/apps/web/src/stores/timeline-store.ts @@ -126,6 +126,7 @@ interface TimelineStore { pushHistory?: boolean ) => void; toggleTrackMute: (trackId: string) => void; + toggleElementHidden: (trackId: string, elementId: string) => void; // Split operations for elements splitElement: ( @@ -868,6 +869,24 @@ export const useTimelineStore = create<TimelineStore>((set, get) => { ); }, + toggleElementHidden: (trackId, elementId) => { + get().pushHistory(); + updateTracksAndSave( + get()._tracks.map((track) => + track.id === trackId + ? { + ...track, + elements: track.elements.map((element) => + element.id === elementId + ? { ...element, hidden: !element.hidden } + : element + ), + } + : track + ) + ); + }, + updateTextElement: (trackId, elementId, updates) => { get().pushHistory(); updateTracksAndSave( |
