@@ -63,18 +63,21 @@ class ChallengeReviewerField extends Component {
6363 // Create a new default reviewer based on track and type
6464 const defaultReviewer = this . findDefaultReviewer ( )
6565
66- // Get the first available phase if phases exist
67- const firstPhase = challenge . phases && challenge . phases . length > 0 ? challenge . phases [ 0 ] : null
66+ // Get the first available review phase if phases exist
67+ const reviewPhases = challenge . phases && challenge . phases . filter ( phase =>
68+ phase . name && phase . name . toLowerCase ( ) . includes ( 'review' )
69+ )
70+ const firstReviewPhase = reviewPhases && reviewPhases . length > 0 ? reviewPhases [ 0 ] : null
6871
6972 const newReviewer = {
7073 scorecardId : ( defaultReviewer && defaultReviewer . scorecardId ) || '' ,
7174 isMemberReview : true ,
7275 memberReviewerCount : ( defaultReviewer && defaultReviewer . memberReviewerCount ) || 1 ,
73- phaseId : ( defaultReviewer && defaultReviewer . phaseId ) || ( firstPhase ? ( firstPhase . id || firstPhase . phaseId ) : '' ) ,
76+ phaseId : ( defaultReviewer && defaultReviewer . phaseId ) || ( firstReviewPhase ? ( firstReviewPhase . id || firstReviewPhase . phaseId ) : '' ) ,
7477 basePayment : ( defaultReviewer && defaultReviewer . basePayment ) || '0' ,
7578 incrementalPayment : ( defaultReviewer && defaultReviewer . incrementalPayment ) || 0 ,
7679 type : ( defaultReviewer && defaultReviewer . opportunityType ) || REVIEW_OPPORTUNITY_TYPES . REGULAR_REVIEW ,
77- isAIReviewer : Boolean ( ( defaultReviewer && defaultReviewer . isAIReviewer ) || false )
80+ isAIReviewer : ( defaultReviewer && defaultReviewer . isAIReviewer ) || false
7881 }
7982
8083 const updatedReviewers = currentReviewers . concat ( [ newReviewer ] )
@@ -131,7 +134,7 @@ class ChallengeReviewerField extends Component {
131134 errors . push ( 'Number of reviewers must be a positive integer' )
132135 }
133136
134- const basePayment = convertDollarToInteger ( reviewer . basePayment , '' )
137+ const basePayment = convertDollarToInteger ( reviewer . basePayment || '0' , '' )
135138 if ( ! reviewer . isAIReviewer && ( basePayment < 0 ) ) {
136139 errors . push ( 'Base payment must be non-negative' )
137140 }
@@ -197,7 +200,7 @@ class ChallengeReviewerField extends Component {
197200 basePayment : currentReviewer . basePayment || '0' ,
198201 incrementalPayment : currentReviewer . incrementalPayment || 0 ,
199202 type : currentReviewer . type ,
200- isAIReviewer : Boolean ( isAI )
203+ isAIReviewer : isAI
201204 }
202205
203206 onUpdateReviewers ( { field : 'reviewers' , value : updatedReviewers } )
@@ -253,7 +256,7 @@ class ChallengeReviewerField extends Component {
253256 { challenge . phases && challenge . phases
254257 . filter ( phase => {
255258 const isReviewPhase = phase . name && phase . name . toLowerCase ( ) . includes ( 'review' )
256- const isCurrentlySelected = ( phase . id === reviewer . phaseId ) || ( phase . phaseId === reviewer . phaseId )
259+ const isCurrentlySelected = reviewer . phaseId && ( ( phase . id === reviewer . phaseId ) || ( phase . phaseId === reviewer . phaseId ) )
257260 return isReviewPhase || isCurrentlySelected
258261 } )
259262 . map ( phase => (
@@ -431,19 +434,19 @@ class ChallengeReviewerField extends Component {
431434 < h4 > Review Summary</ h4 >
432435 < div className = { styles . summaryRow } >
433436 < span > Total Member Reviewers:</ span >
434- < span > { reviewers . filter ( r => Boolean ( r . isAIReviewer ) === false ) . reduce ( ( sum , r ) => sum + ( parseInt ( r . memberReviewerCount ) || 0 ) , 0 ) } </ span >
437+ < span > { reviewers . filter ( r => ! r . isAIReviewer ) . reduce ( ( sum , r ) => sum + ( parseInt ( r . memberReviewerCount ) || 0 ) , 0 ) } </ span >
435438 </ div >
436439 < div className = { styles . summaryRow } >
437440 < span > Total AI Reviewers:</ span >
438- < span > { reviewers . filter ( r => Boolean ( r . isAIReviewer ) === true ) . length } </ span >
441+ < span > { reviewers . filter ( r => r . isAIReviewer ) . length } </ span >
439442 </ div >
440443 < div className = { styles . summaryRow } >
441444 < span > Total Review Cost:</ span >
442- < span > ${ reviewers . filter ( r => Boolean ( r . isAIReviewer ) === false ) . reduce ( ( sum , r ) => {
443- const base = convertDollarToInteger ( r . basePayment , '' )
445+ < span > ${ reviewers . filter ( r => ! r . isAIReviewer ) . reduce ( ( sum , r ) => {
446+ const base = convertDollarToInteger ( r . basePayment || '0' , '' )
444447 const count = parseInt ( r . memberReviewerCount ) || 1
445448 return sum + ( base * count )
446- } , 0 ) } </ span >
449+ } , 0 ) . toFixed ( 2 ) } </ span >
447450 </ div >
448451 </ div >
449452 ) }
0 commit comments