fix: prevent multiple project creation when project doesn't exist

This commit is contained in:
Kha Nguyen 2025-07-17 20:08:08 -05:00
parent e7bad87217
commit d04aa8d1c1
1 changed files with 6 additions and 13 deletions

View File

@ -37,7 +37,6 @@ 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();
@ -45,20 +44,14 @@ export default function Editor() {
useEffect(() => {
const initProject = async () => {
if (!projectId) return;
if (handledProjectIds.current.has(projectId)) {
return;
}
try {
await loadProject(projectId);
} catch (error) {
handledProjectIds.current.add(projectId);
const newProjectId = await createNewProject("Untitled Project");
router.replace(`/editor/${newProjectId}`);
return;
} 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");
}
}
};