@@ -40,6 +40,7 @@ export interface AnswerSheetProps {
4040 onApprove : ( ) => void ;
4141 onScoreEdit : ( question : ScoreDetail ) => void ;
4242 isApproved ?: boolean ;
43+ isLoading ?: boolean ;
4344 questionNumberingMap ?: Record < string , string > ;
4445 sectionMapping ?: Record < string , string > ;
4546}
@@ -214,7 +215,7 @@ const AISuggestion: React.FC<AISuggestionProps> = React.memo(
214215 }
215216
216217 // Function to truncate text to 25 words with better handling for Hindi text
217- const truncateText = ( text : string , maxWords : number = 25 ) => {
218+ const truncateText = ( text : string , maxWords = 25 ) => {
218219 if ( ! text || text . trim ( ) === '' ) {
219220 return text ;
220221 }
@@ -497,10 +498,11 @@ ScoreSummary.displayName = 'ScoreSummary';
497498interface ApproveButtonProps {
498499 onApprove : ( ) => void ;
499500 isApproved : boolean ;
501+ isLoading ?: boolean ;
500502}
501503
502504const ApproveButton : React . FC < ApproveButtonProps > = React . memo (
503- ( { onApprove, isApproved } ) => {
505+ ( { onApprove, isApproved, isLoading = false } ) => {
504506 if ( isApproved ) return null ;
505507
506508 return (
@@ -509,6 +511,7 @@ const ApproveButton: React.FC<ApproveButtonProps> = React.memo(
509511 variant = "contained"
510512 fullWidth
511513 onClick = { onApprove }
514+ disabled = { isLoading }
512515 sx = { {
513516 bgcolor : '#FDBE16' ,
514517 color : '#4D4639' ,
@@ -525,6 +528,10 @@ const ApproveButton: React.FC<ApproveButtonProps> = React.memo(
525528 transform : 'translateY(-2px)' ,
526529 boxShadow : '0 4px 8px rgba(253, 190, 22, 0.3)' ,
527530 } ,
531+ '&:disabled' : {
532+ bgcolor : '#E0E0E0' ,
533+ color : '#9E9E9E' ,
534+ } ,
528535 } }
529536 >
530537 Approve Marks & Notify Learner
@@ -717,6 +724,7 @@ const AnswerSheet: React.FC<AnswerSheetProps> = ({
717724 onApprove,
718725 onScoreEdit,
719726 isApproved = false ,
727+ isLoading = false ,
720728 questionNumberingMap = { } ,
721729 sectionMapping = { } ,
722730} ) => {
@@ -737,7 +745,7 @@ const AnswerSheet: React.FC<AnswerSheetProps> = ({
737745 />
738746
739747 { /* Approve Button */ }
740- < ApproveButton onApprove = { onApprove } isApproved = { isApproved } />
748+ < ApproveButton onApprove = { onApprove } isApproved = { isApproved } isLoading = { isLoading } />
741749
742750 { /* Questions List */ }
743751 < QuestionsList
0 commit comments