diff --git a/app/api/src/services/projects/projects.ts b/app/api/src/services/projects/projects.ts
index 94b3121..ece8a60 100644
--- a/app/api/src/services/projects/projects.ts
+++ b/app/api/src/services/projects/projects.ts
@@ -90,14 +90,16 @@ export const forkProject = async ({ input }) => {
title = await generateUniqueString(title, isUniqueCallback)
const { code, description, cadPackage } = projectData
+ const data = foreignKeyReplacement({
+ ...input,
+ title,
+ code,
+ description,
+ cadPackage,
+ })
+ console.log('forking data', data)
return db.project.create({
- data: foreignKeyReplacement({
- ...input,
- title,
- code,
- description,
- cadPackage,
- }),
+ data
})
}
diff --git a/app/web/src/components/IdeHeader/IdeHeader.tsx b/app/web/src/components/IdeHeader/IdeHeader.tsx
index 02e3a91..24d33b9 100644
--- a/app/web/src/components/IdeHeader/IdeHeader.tsx
+++ b/app/web/src/components/IdeHeader/IdeHeader.tsx
@@ -12,6 +12,7 @@ import { useMutation } from '@redwoodjs/web'
import Gravatar from 'src/components/Gravatar/Gravatar'
import EditableProjectTitle from 'src/components/EditableProjecTitle/EditableProjecTitle'
import CaptureButton from 'src/components/CaptureButton/CaptureButton'
+import { toast } from '@redwoodjs/web/toast'
import { ReactNode } from 'react'
@@ -20,8 +21,10 @@ const FORK_PROJECT_MUTATION = gql`
forkProject(input: $input) {
id
title
- description
- code
+ user {
+ id
+ userName
+ }
}
}
`
@@ -144,7 +147,14 @@ function DefaultTopButtons({
}) {
const { currentUser } = useAuth()
const [createFork] = useMutation(FORK_PROJECT_MUTATION, {
- onCompleted: () => {},
+ onCompleted: ({ forkProject }) => {
+ navigate(
+ routes.ide({
+ userName: forkProject?.user?.userName,
+ projectTitle: forkProject?.title,
+ })
+ )
+ },
})
const handleFork = () => {
const prom = createFork({
@@ -155,11 +165,11 @@ function DefaultTopButtons({
},
},
})
- // toast.promise(prom, {
- // loading: 'Saving Image/s',
- // success: Image/s saved!,
- // error: Problem saving.,
- // })
+ toast.promise(prom, {
+ loading: 'Forking...',
+ success: Forked successfully!,
+ error: Problem forking.,
+ })
}
return (
@@ -244,7 +254,7 @@ function DefaultTopButtons({
)
}}
- {currentUser?.id && (
+ {currentUser?.sub && (
emote)
useEffect(() => {
@@ -145,6 +147,9 @@ const ProjectProfile = ({
{new Date(project?.updatedAt).toDateString()}
+ { project.forkedFrom &&
+ { project.forkedFrom.title } by { project.forkedFrom.user.userName }
+ }