diff --git a/web/src/components/EditUserCell/EditUserCell.js b/web/src/components/EditUserCell/EditUserCell.js
index e678b4d..4fdf029 100644
--- a/web/src/components/EditUserCell/EditUserCell.js
+++ b/web/src/components/EditUserCell/EditUserCell.js
@@ -26,9 +26,9 @@ const UPDATE_USER_MUTATION = gql`
}
`
-export const Loading = () =>
Loading...
+export const Loading = () => Loading...
-export const Empty = () => Empty
+export const Empty = () => Empty
export const Failure = ({ error }) => Error: {error.message}
diff --git a/web/src/components/IdePartCell/IdePartCell.js b/web/src/components/IdePartCell/IdePartCell.js
index bc91be8..581a032 100644
--- a/web/src/components/IdePartCell/IdePartCell.js
+++ b/web/src/components/IdePartCell/IdePartCell.js
@@ -1,6 +1,8 @@
import { useMutation, useFlash } from '@redwoodjs/web'
import { navigate, routes } from '@redwoodjs/router'
import IdeCascadeStudio from 'src/components/IdeCascadeStudio'
+import { QUERY as UsersPartsQuery } from 'src/components/PartsOfUserCell'
+import useUser from 'src/helpers/hooks/useUser'
export const QUERY = gql`
query FIND_PART_BY_USENAME_TITLE($partTitle: String!, $userName: String!) {
@@ -45,12 +47,19 @@ export const Empty = () => Part not found
export const Success = ({ part, refetch }) => {
const { addMessage } = useFlash()
+ const { user } = useUser()
const [updatePart, { loading, error }] = useMutation(UPDATE_PART_MUTATION, {
onCompleted: () => {
addMessage('Part updated.', { classes: 'rw-flash-success' })
},
})
const [forkPart] = useMutation(FORK_PART_MUTATION, {
+ refetchQueries: [
+ {
+ query: UsersPartsQuery,
+ variables: { userName: user?.userName },
+ },
+ ],
onCompleted: ({ forkPart }) => {
navigate(
routes.ide({
diff --git a/web/src/components/IdeToolbar/IdeToolbar.js b/web/src/components/IdeToolbar/IdeToolbar.js
index f923188..01160f0 100644
--- a/web/src/components/IdeToolbar/IdeToolbar.js
+++ b/web/src/components/IdeToolbar/IdeToolbar.js
@@ -11,6 +11,8 @@ import ImageUploader from 'src/components/ImageUploader'
import Svg from '../Svg/Svg'
import LoginModal from 'src/components/LoginModal'
import { FORK_PART_MUTATION } from 'src/components/IdePartCell'
+import { QUERY as UsersPartsQuery } from 'src/components/PartsOfUserCell'
+import useUser from 'src/helpers/hooks/useUser'
const IdeToolbar = ({
canEdit,
@@ -27,9 +29,17 @@ const IdeToolbar = ({
const { isAuthenticated, currentUser } = useAuth()
const showForkButton = !(canEdit || isDraft)
const [title, setTitle] = useState('untitled-part')
+ const { user } = useUser()
const { addMessage } = useFlash()
- const [forkPart] = useMutation(FORK_PART_MUTATION)
+ const [forkPart] = useMutation(FORK_PART_MUTATION, {
+ refetchQueries: [
+ {
+ query: UsersPartsQuery,
+ variables: { userName: userNamePart?.userName || user?.userName },
+ },
+ ],
+ })
const handleClick = ({ event, whichPopup }) => {
setAnchorEl(event.currentTarget)
@@ -145,7 +155,7 @@ const IdeToolbar = ({
)}
- {isDraft && (
+ {isDraft && isAuthenticated && (