Skip to content

Commit

Permalink
fix: extra pop up after creating new project CircuitVerse#399
Browse files Browse the repository at this point in the history
  • Loading branch information
nickhil-verma committed Jan 15, 2025
1 parent 2ef15d2 commit d23d0b6
Showing 1 changed file with 31 additions and 27 deletions.
58 changes: 31 additions & 27 deletions src/simulator/src/data/project.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,23 +120,23 @@ function checkToSave() {
* Prompt user to save data if unsaved
* @category data
*/
window.onbeforeunload = async function () {
if (projectSaved || embed) return
// window.onbeforeunload = async function () {
// if (projectSaved || embed) return

if (!checkToSave()) return
// if (!checkToSave()) return

alert(
'You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?'
)
// await confirmSingleOption(
// 'You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?'
// )
const data = await generateSaveData('Untitled')
const stringData = JSON.stringify(data)
localStorage.setItem('recover', stringData)
// eslint-disable-next-line consistent-return
return 'Are u sure u want to leave? Any unsaved changes may not be recoverable'
}
// alert(
// 'You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?'
// )
// // await confirmSingleOption(
// // 'You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?'
// // )
// const data = await generateSaveData('Untitled')
// const stringData = JSON.stringify(data)
// localStorage.setItem('recover', stringData)
// // eslint-disable-next-line consistent-return
// return 'Are u sure u want to leave? Any unsaved changes may not be recoverable'
// }

/**
* Function to clear project
Expand All @@ -155,21 +155,25 @@ export async function clearProject() {
Function used to start a new project while prompting confirmation from the user
*/
export async function newProject(verify: boolean) {
// Check if verification is not required and unsaved changes exist
if (
verify ||
projectSaved ||
!checkToSave() ||
(await confirmOption(
!verify &&
(!projectSaved && checkToSave()) &&
!(await confirmOption(
'What you like to start a new project? Any unsaved changes will be lost.'
))
) {
clearProject()
localStorage.removeItem('recover')
const baseUrl = window.location.origin !== 'null' ? window.location.origin : 'http://localhost:4000';
window.location.assign(`${baseUrl}/simulatorvue/`);

setProjectName(undefined)
projectId = generateId()
showMessage('New Project has been created!')
return // Abort if user does not confirm
}

// Proceed to clear project and create a new one if confirmed or conditions met
await clearProject()
localStorage.removeItem('recover')

const baseUrl = window.location.origin !== 'null' ? window.location.origin : 'http://localhost:4000'
window.location.assign(`${baseUrl}/simulatorvue/`)

setProjectName(undefined)
projectId = generateId()
showMessage('New Project has been created!')
}

0 comments on commit d23d0b6

Please sign in to comment.