summaryrefslogtreecommitdiff
path: root/apps/web/src/stores/project-store.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-08-16 18:26:41 +0200
committerMaze Winther <mazewinther@gmail.com>2025-08-16 18:26:41 +0200
commit9da0dfc1079f2f9677b4d14032d1b1f7e6e1b0b3 (patch)
treecb24a6da2efdddd8df67915e391565453eb159aa /apps/web/src/stores/project-store.ts
parenta0f8e2c1a739b69690f7fc6f08294006295c87ad (diff)
downloadopencut-9da0dfc1079f2f9677b4d14032d1b1f7e6e1b0b3.tar.gz
fix: clear timeline/media on new project creation to prevent state leakage
Diffstat (limited to 'apps/web/src/stores/project-store.ts')
-rw-r--r--apps/web/src/stores/project-store.ts13
1 files changed, 12 insertions, 1 deletions
diff --git a/apps/web/src/stores/project-store.ts b/apps/web/src/stores/project-store.ts
index 5ff88418..b924ea22 100644
--- a/apps/web/src/stores/project-store.ts
+++ b/apps/web/src/stores/project-store.ts
@@ -164,10 +164,21 @@ export const useProjectStore = create<ProjectStore>((set, get) => ({
},
createNewProject: async (name: string) => {
- const newProject: TProject = { ...DEFAULT_PROJECT, name };
+ const newProject: TProject = {
+ ...DEFAULT_PROJECT,
+ id: generateUUID(),
+ name,
+ createdAt: new Date(),
+ updatedAt: new Date(),
+ };
set({ activeProject: newProject });
+ const mediaStore = useMediaStore.getState();
+ const timelineStore = useTimelineStore.getState();
+ mediaStore.clearAllMedia();
+ timelineStore.clearTimeline();
+
try {
await storageService.saveProject(newProject);
// Reload all projects to update the list