diff options
| author | Kha Nguyen <hi@khanguyen.com> | 2025-07-17 20:25:16 -0500 |
|---|---|---|
| committer | Kha Nguyen <hi@khanguyen.com> | 2025-07-17 20:25:16 -0500 |
| commit | e4748ecb0930e02ccc03e6189c55e1ff319fddeb (patch) | |
| tree | c0d06d5907f4d00be8ba72ddb8410f063fc0589d /apps/web | |
| parent | d04aa8d1c16e1a4589517d1652b2830fc10cbe27 (diff) | |
| download | opencut-e4748ecb0930e02ccc03e6189c55e1ff319fddeb.tar.gz | |
Revert "fix: prevent multiple project creation when project doesn't exist"
This reverts commit d04aa8d1c16e1a4589517d1652b2830fc10cbe27.
Diffstat (limited to 'apps/web')
| -rw-r--r-- | apps/web/src/app/editor/[project_id]/page.tsx | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/apps/web/src/app/editor/[project_id]/page.tsx b/apps/web/src/app/editor/[project_id]/page.tsx index 039e7ca0..ad8561ac 100644 --- a/apps/web/src/app/editor/[project_id]/page.tsx +++ b/apps/web/src/app/editor/[project_id]/page.tsx @@ -37,6 +37,7 @@ export default function Editor() { const params = useParams(); const router = useRouter(); const projectId = params.project_id as string; + const handledProjectIds = useRef<Set<string>>(new Set()); const [isOnboardingOpen, setIsOnboardingOpen] = useState(true); useDisableBrowserZoom(); @@ -44,14 +45,20 @@ export default function Editor() { useEffect(() => { const initProject = async () => { + if (!projectId) return; + + if (handledProjectIds.current.has(projectId)) { + return; + } + try { await loadProject(projectId); - } catch (error: any) { - // if the project is not found, go back to the projects page, - // creating a new project here will cause multiple projects to be created - if (error.message.includes("not found")) { - router.push("/projects"); - } + } catch (error) { + handledProjectIds.current.add(projectId); + + const newProjectId = await createNewProject("Untitled Project"); + router.replace(`/editor/${newProjectId}`); + return; } }; |
