diff --git a/src/app/course/[courseName]/modules/[moduleName]/assignment/[assignmentName]/UpdateAssignmentName.tsx b/src/app/course/[courseName]/modules/[moduleName]/assignment/[assignmentName]/UpdateAssignmentName.tsx index 07987c8..055c9ad 100644 --- a/src/app/course/[courseName]/modules/[moduleName]/assignment/[assignmentName]/UpdateAssignmentName.tsx +++ b/src/app/course/[courseName]/modules/[moduleName]/assignment/[assignmentName]/UpdateAssignmentName.tsx @@ -40,20 +40,25 @@ export function UpdateAssignmentName({ if (name === assignmentName) closeModal(); setIsLoading(true); // page refresh resets flag - await updateAssignment.mutateAsync({ - assignment: assignment, - moduleName, - assignmentName: name, - previousModuleName: moduleName, - previousAssignmentName: assignmentName, - courseName, - }); + try{ - // update url (will trigger reload...) - router.replace( - getModuleItemUrl(courseName, moduleName, "assignment", name), - {} - ); + await updateAssignment.mutateAsync({ + assignment: assignment, + moduleName, + assignmentName: name, + previousModuleName: moduleName, + previousAssignmentName: assignmentName, + courseName, + }); + + // update url (will trigger reload...) + router.replace( + getModuleItemUrl(courseName, moduleName, "assignment", name), + {} + ); + }finally { + setIsLoading(false); + } }} > ", ":", '"', "/", "\\", "|", "?", "*"]; + const foundIllegalCharacters = illegalCharacters.filter((char) => + assignmentName.includes(char) + ); + if (foundIllegalCharacters.length > 0) { + throw new Error( + `"${assignmentName}" cannot contain the following characters: ${foundIllegalCharacters.join( + " " + )}` + ); + } + const courseDirectory = await getCoursePathByName(courseName); const folder = path.join(courseDirectory, moduleName, "assignments"); await fs.mkdir(folder, { recursive: true });