massive refactor toDrop cascadeStudio and add CadQuery + OpenSCAD
resolves #400
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
import DraftProjectPage from './DraftProjectPage'
|
||||
|
||||
export const generated = () => {
|
||||
return <DraftProjectPage />
|
||||
}
|
||||
|
||||
export default { title: 'Pages/DraftProjectPage' }
|
||||
11
app/web/src/pages/DraftProjectPage/DraftProjectPage.test.tsx
Normal file
11
app/web/src/pages/DraftProjectPage/DraftProjectPage.test.tsx
Normal file
@@ -0,0 +1,11 @@
|
||||
import { render } from '@redwoodjs/testing'
|
||||
|
||||
import DraftProjectPage from './DraftProjectPage'
|
||||
|
||||
describe('DraftProjectPage', () => {
|
||||
it('renders successfully', () => {
|
||||
expect(() => {
|
||||
render(<DraftProjectPage />)
|
||||
}).not.toThrow()
|
||||
})
|
||||
})
|
||||
36
app/web/src/pages/DraftProjectPage/DraftProjectPage.tsx
Normal file
36
app/web/src/pages/DraftProjectPage/DraftProjectPage.tsx
Normal file
@@ -0,0 +1,36 @@
|
||||
import { useMutation } from '@redwoodjs/web'
|
||||
import { toast } from '@redwoodjs/web/toast'
|
||||
import { useEffect } from 'react'
|
||||
import { useAuth } from '@redwoodjs/auth'
|
||||
import { navigate, routes } from '@redwoodjs/router'
|
||||
|
||||
import DevIdePage from 'src/pages/DevIdePage/DevIdePage'
|
||||
import useUser from 'src/helpers/hooks/useUser'
|
||||
import { CREATE_PROJECT_MUTATION } from 'src/components/ProjectCell/ProjectCell'
|
||||
|
||||
const DraftProjectPage = ({ cadPackage }: { cadPackage: string }) => {
|
||||
const { isAuthenticated } = useAuth()
|
||||
const { user, loading } = useUser()
|
||||
const [createProject] = useMutation(CREATE_PROJECT_MUTATION, {
|
||||
onCompleted: ({ createProject }) => {
|
||||
navigate(
|
||||
routes.ide({
|
||||
userName: createProject?.user?.userName,
|
||||
projectTitle: createProject?.title,
|
||||
})
|
||||
)
|
||||
toast.success('Project Created.')
|
||||
},
|
||||
})
|
||||
useEffect(() => {
|
||||
if (isAuthenticated && user) {
|
||||
createProject({ variables: { input: { userId: user.id, cadPackage } } })
|
||||
}
|
||||
}, [isAuthenticated, user])
|
||||
if (loading || user?.id) {
|
||||
return <div>loading</div>
|
||||
}
|
||||
return <DevIdePage cadPackage={cadPackage} />
|
||||
}
|
||||
|
||||
export default DraftProjectPage
|
||||
Reference in New Issue
Block a user