From 4afa1d4458951520a8a0d040949d695e84094992 Mon Sep 17 00:00:00 2001 From: Chris Holland Date: Fri, 18 Oct 2024 14:03:57 -0700 Subject: [PATCH] fix: edit assignment flickering when dragged and dropped After some testing, I found that assignmentUUID isn't necessary for the conditional render. After some testing in a race condition environment (two clients) the activity itself as a condition is enough and it doesn't seem that its worth having assignmentUUID as well. --- .../DraggableElements/ActivityElement.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/web/components/Dashboard/Course/EditCourseStructure/DraggableElements/ActivityElement.tsx b/apps/web/components/Dashboard/Course/EditCourseStructure/DraggableElements/ActivityElement.tsx index accd4a49..10a4593b 100644 --- a/apps/web/components/Dashboard/Course/EditCourseStructure/DraggableElements/ActivityElement.tsx +++ b/apps/web/components/Dashboard/Course/EditCourseStructure/DraggableElements/ActivityElement.tsx @@ -281,7 +281,7 @@ const ActivityElementOptions = ({ activity }: any) => { const session = useLHSession() as any; const access_token = session?.data?.tokens?.access_token; - async function getAssignmentUUIDFromActivityUUID(activityUUID: string) { + async function getAssignmentUUIDFromActivityUUID(activityUUID: string): Promise { const activity = await getAssignmentFromActivityUUID(activityUUID, access_token); if (activity) { return activity.data.assignment_uuid; @@ -291,7 +291,8 @@ const ActivityElementOptions = ({ activity }: any) => { const fetchAssignmentUUID = async () => { if (activity.activity_type === 'TYPE_ASSIGNMENT') { const assignment_uuid = await getAssignmentUUIDFromActivityUUID(activity.activity_uuid); - setAssignmentUUID(assignment_uuid.replace('assignment_', '')); + if(assignment_uuid) + setAssignmentUUID(assignment_uuid.replace('assignment_', '')); } }; @@ -324,7 +325,7 @@ const ActivityElementOptions = ({ activity }: any) => { )} - {activity.activity_type === 'TYPE_ASSIGNMENT' && assignmentUUID && ( + {activity.activity_type === 'TYPE_ASSIGNMENT' && ( <>