Skip to content

Commit 15df3f9

Browse files
committed
fix: hide unnecessary fields for ai default review
1 parent bd8ca09 commit 15df3f9

File tree

1 file changed

+164
-146
lines changed

1 file changed

+164
-146
lines changed

src/apps/admin/src/lib/components/DefaultReviewersAddForm/DefaultReviewersAddForm.tsx

Lines changed: 164 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,12 @@ export const DefaultReviewersAddForm: FC<Props> = (props: Props) => {
147147

148148
if (!isMemberReview) {
149149
requestBody.memberReviewerCount = undefined
150+
// Also clear fields when isMemberReview is false
151+
requestBody.scorecardId = undefined
152+
requestBody.fixedAmount = undefined
153+
requestBody.baseCoefficient = undefined
154+
requestBody.incrementalCoefficient = undefined
155+
requestBody.opportunityType = undefined
150156
} else {
151157
// eslint-disable-next-line unicorn/no-null
152158
requestBody.aiWorkflowId = null
@@ -311,30 +317,34 @@ export const DefaultReviewersAddForm: FC<Props> = (props: Props) => {
311317
)
312318
}}
313319
/>
314-
<Controller
315-
name='scorecardId'
316-
control={control}
317-
render={function render(controlProps: {
318-
field: ControllerRenderProps<FormAddDefaultReviewer, 'scorecardId'>
319-
}) {
320-
return (
321-
<InputSelectReact
322-
name='scorecardId'
323-
label='Scorecard'
324-
placeholder='Select'
325-
options={scorecardOptions}
326-
value={controlProps.field.value}
327-
onChange={controlProps.field.onChange}
328-
onBlur={controlProps.field.onBlur}
329-
classNameWrapper={styles.inputField}
330-
disabled={isLoading}
331-
isLoading={isFetchingScorecards}
332-
dirty
333-
error={_.get(errors, 'scorecardId.message')}
334-
/>
335-
)
336-
}}
337-
/>
320+
{
321+
isMemberReview && (
322+
<Controller
323+
name='scorecardId'
324+
control={control}
325+
render={function render(controlProps: {
326+
field: ControllerRenderProps<FormAddDefaultReviewer, 'scorecardId'>
327+
}) {
328+
return (
329+
<InputSelectReact
330+
name='scorecardId'
331+
label='Scorecard'
332+
placeholder='Select'
333+
options={scorecardOptions}
334+
value={controlProps.field.value}
335+
onChange={controlProps.field.onChange}
336+
onBlur={controlProps.field.onBlur}
337+
classNameWrapper={styles.inputField}
338+
disabled={isLoading}
339+
isLoading={isFetchingScorecards}
340+
dirty
341+
error={_.get(errors, 'scorecardId.message')}
342+
/>
343+
)
344+
}}
345+
/>
346+
)
347+
}
338348
<Controller
339349
name='phaseName'
340350
control={control}
@@ -399,118 +409,126 @@ export const DefaultReviewersAddForm: FC<Props> = (props: Props) => {
399409
classNameWrapper={styles.inputField}
400410
/>
401411
)}
402-
<InputText
403-
type='number'
404-
name='fixedAmount'
405-
label='Fixed Amount'
406-
placeholder='Enter amount'
407-
tabIndex={0}
408-
forceUpdateValue
409-
onChange={_.noop}
410-
error={_.get(errors, 'fixedAmount.message')}
411-
inputControl={register('fixedAmount', {
412-
valueAsNumber: true,
413-
})}
414-
dirty
415-
disabled={isLoading}
416-
classNameWrapper={styles.inputField}
417-
/>
418-
<InputText
419-
type='text'
420-
name='baseCoefficient'
421-
label='Base Coefficient'
422-
placeholder='Enter value'
423-
tabIndex={0}
424-
forceUpdateValue
425-
onChange={_.noop}
426-
error={_.get(errors, 'baseCoefficient.message')}
427-
inputControl={register('baseCoefficient', {
428-
setValueAs: v => {
429-
if (typeof v === 'string') {
430-
const normalized = v.replace(',', '.')
431-
const parsed = parseFloat(normalized)
432-
return Number.isNaN(parsed) ? undefined : parsed
433-
}
412+
{isMemberReview && (
413+
<>
414+
<InputText
415+
type='number'
416+
name='fixedAmount'
417+
label='Fixed Amount'
418+
placeholder='Enter amount'
419+
tabIndex={0}
420+
forceUpdateValue
421+
onChange={_.noop}
422+
error={_.get(errors, 'fixedAmount.message')}
423+
inputControl={register('fixedAmount', {
424+
valueAsNumber: true,
425+
})}
426+
dirty
427+
disabled={isLoading}
428+
classNameWrapper={styles.inputField}
429+
/>
430+
<InputText
431+
type='text'
432+
name='baseCoefficient'
433+
label='Base Coefficient'
434+
placeholder='Enter value'
435+
tabIndex={0}
436+
forceUpdateValue
437+
onChange={_.noop}
438+
error={_.get(errors, 'baseCoefficient.message')}
439+
inputControl={register('baseCoefficient', {
440+
setValueAs: v => {
441+
if (typeof v === 'string') {
442+
const normalized = v.replace(',', '.')
443+
const parsed = parseFloat(normalized)
444+
return Number.isNaN(parsed) ? undefined : parsed
445+
}
434446

435-
return v
436-
},
437-
valueAsNumber: false,
438-
})}
439-
dirty
440-
disabled={isLoading}
441-
classNameWrapper={styles.inputField}
442-
/>
443-
<InputText
444-
type='text'
445-
name='incrementalCoefficient'
446-
label='Incremental Coefficient'
447-
placeholder='Enter value'
448-
tabIndex={0}
449-
forceUpdateValue
450-
onChange={_.noop}
451-
error={_.get(errors, 'incrementalCoefficient.message')}
452-
inputControl={register('incrementalCoefficient', {
453-
setValueAs: v => {
454-
if (typeof v === 'string') {
455-
const normalized = v.replace(',', '.')
456-
const parsed = parseFloat(normalized)
457-
return Number.isNaN(parsed) ? undefined : parsed
458-
}
447+
return v
448+
},
449+
valueAsNumber: false,
450+
})}
451+
dirty
452+
disabled={isLoading}
453+
classNameWrapper={styles.inputField}
454+
/>
455+
<InputText
456+
type='text'
457+
name='incrementalCoefficient'
458+
label='Incremental Coefficient'
459+
placeholder='Enter value'
460+
tabIndex={0}
461+
forceUpdateValue
462+
onChange={_.noop}
463+
error={_.get(errors, 'incrementalCoefficient.message')}
464+
inputControl={register('incrementalCoefficient', {
465+
setValueAs: v => {
466+
if (typeof v === 'string') {
467+
const normalized = v.replace(',', '.')
468+
const parsed = parseFloat(normalized)
469+
return Number.isNaN(parsed) ? undefined : parsed
470+
}
459471

460-
return v
461-
},
462-
valueAsNumber: false,
463-
})}
464-
dirty
465-
disabled={isLoading}
466-
classNameWrapper={styles.inputField}
467-
/>
468-
<Controller
469-
name='opportunityType'
470-
control={control}
471-
render={function render(controlProps: {
472-
field: ControllerRenderProps<FormAddDefaultReviewer, 'opportunityType'>
473-
}) {
474-
return (
475-
<InputSelectReact
476-
name='opportunityType'
477-
label='Opportunity Type'
478-
placeholder='Select'
479-
options={opportunityOptions}
480-
value={controlProps.field.value}
481-
onChange={controlProps.field.onChange}
482-
onBlur={controlProps.field.onBlur}
483-
classNameWrapper={styles.inputField}
484-
disabled={isLoading}
485-
dirty
486-
error={_.get(errors, 'opportunityType.message')}
487-
/>
488-
)
489-
}}
490-
/>
472+
return v
473+
},
474+
valueAsNumber: false,
475+
})}
476+
dirty
477+
disabled={isLoading}
478+
classNameWrapper={styles.inputField}
479+
/>
480+
<Controller
481+
name='opportunityType'
482+
control={control}
483+
render={function render(controlProps: {
484+
field: ControllerRenderProps<FormAddDefaultReviewer, 'opportunityType'>
485+
}) {
486+
return (
487+
<InputSelectReact
488+
name='opportunityType'
489+
label='Opportunity Type'
490+
placeholder='Select'
491+
options={opportunityOptions}
492+
value={controlProps.field.value}
493+
onChange={controlProps.field.onChange}
494+
onBlur={controlProps.field.onBlur}
495+
classNameWrapper={styles.inputField}
496+
disabled={isLoading}
497+
dirty
498+
error={_.get(errors, 'opportunityType.message')}
499+
/>
500+
)
501+
}}
502+
/>
503+
</>
504+
)}
491505

492-
<div className={styles.inputField}>
493-
<Controller
494-
name='shouldOpenOpportunity'
495-
control={control}
496-
render={function render(controlProps: {
497-
field: ControllerRenderProps<FormAddDefaultReviewer, 'shouldOpenOpportunity'>
498-
}) {
499-
return (
500-
<InputCheckbox
501-
name='shouldOpenOpportunity'
502-
label='Should Open Opportunity'
503-
onChange={function onChange(event: Event) {
504-
const target = event.target as HTMLInputElement | null
505-
controlProps.field.onChange(target?.checked ?? false)
506-
}}
507-
checked={controlProps.field.value}
508-
disabled={isLoading}
509-
/>
510-
)
511-
}}
512-
/>
513-
</div>
506+
{
507+
isMemberReview && (
508+
<div className={styles.inputField}>
509+
<Controller
510+
name='shouldOpenOpportunity'
511+
control={control}
512+
render={function render(controlProps: {
513+
field: ControllerRenderProps<FormAddDefaultReviewer, 'shouldOpenOpportunity'>
514+
}) {
515+
return (
516+
<InputCheckbox
517+
name='shouldOpenOpportunity'
518+
label='Should Open Opportunity'
519+
onChange={function onChange(event: Event) {
520+
const target = event.target as HTMLInputElement | null
521+
controlProps.field.onChange(target?.checked ?? false)
522+
}}
523+
checked={controlProps.field.value}
524+
disabled={isLoading}
525+
/>
526+
)
527+
}}
528+
/>
529+
</div>
530+
)
531+
}
514532
{!isMemberReview && (
515533
<Controller
516534
name='aiWorkflowId'
@@ -519,19 +537,19 @@ export const DefaultReviewersAddForm: FC<Props> = (props: Props) => {
519537
field: ControllerRenderProps<FormAddDefaultReviewer, 'aiWorkflowId'>
520538
}) {
521539
return (
522-
<InputSelectReact
523-
name='aiWorkflowId'
524-
label='AI Workflow'
525-
placeholder='Select AI Workflow'
526-
options={aiWorkflows}
527-
value={controlProps.field.value || ''}
528-
onChange={controlProps.field.onChange}
529-
onBlur={controlProps.field.onBlur}
530-
classNameWrapper={styles.inputField}
531-
disabled={isLoading}
532-
dirty
533-
error={_.get(errors, 'aiWorkflowId.message')}
534-
/>
540+
<InputSelectReact
541+
name='aiWorkflowId'
542+
label='AI Workflow'
543+
placeholder='Select AI Workflow'
544+
options={aiWorkflows}
545+
value={controlProps.field.value ?? ''}
546+
onChange={controlProps.field.onChange}
547+
onBlur={controlProps.field.onBlur}
548+
classNameWrapper={styles.inputField}
549+
disabled={isLoading}
550+
dirty
551+
error={_.get(errors, 'aiWorkflowId.message')}
552+
/>
535553
)
536554
}}
537555
/>

0 commit comments

Comments
 (0)