@@ -3,11 +3,31 @@ import PropTypes from 'prop-types'
3
3
import Select from '../../Select'
4
4
import cn from 'classnames'
5
5
import styles from './ReviewType-Field.module.scss'
6
+ import Tooltip from '../../Tooltip'
7
+ import { DES_TRACK_ID , REVIEW_TYPES , MESSAGE } from '../../../config/constants'
6
8
7
9
const ReviewTypeField = ( { reviewers, challenge, onUpdateOthers, onUpdateSelect } ) => {
8
- const reviewType = challenge . reviewType ? challenge . reviewType . toLowerCase ( ) : 'community'
9
- const isCommunity = reviewType === 'community'
10
- const isInternal = reviewType === 'internal'
10
+ const isDesignChallenge = challenge . trackId === DES_TRACK_ID
11
+ const defaultReviewType = isDesignChallenge ? REVIEW_TYPES . INTERNAL : REVIEW_TYPES . COMMUNITY
12
+ const reviewType = challenge . reviewType ? challenge . reviewType . toLowerCase ( ) : defaultReviewType
13
+ const isCommunity = reviewType === REVIEW_TYPES . COMMUNITY
14
+ const isInternal = reviewType === REVIEW_TYPES . INTERNAL
15
+ const communityOption = ( disabled ) => ( < div className = { styles . tcRadioButton } >
16
+ < input
17
+ name = 'community'
18
+ type = 'radio'
19
+ id = 'community'
20
+ checked = { isCommunity }
21
+ disabled = { disabled }
22
+ onChange = { ( e ) => e . target . checked && onUpdateOthers ( { field : 'reviewType' , value : 'community' } ) }
23
+ />
24
+ < label htmlFor = 'community' >
25
+ < div className = { styles . radioButtonLabel } >
26
+ Community
27
+ </ div >
28
+ < input type = 'hidden' />
29
+ </ label >
30
+ </ div > )
11
31
return (
12
32
< div >
13
33
< div className = { styles . row } >
@@ -17,21 +37,14 @@ const ReviewTypeField = ({ reviewers, challenge, onUpdateOthers, onUpdateSelect
17
37
< div className = { cn ( styles . field , styles . col2 ) } >
18
38
< div className = { styles . subGroup } >
19
39
< div className = { styles . subRow } >
20
- < div className = { styles . tcRadioButton } >
21
- < input
22
- name = 'community'
23
- type = 'radio'
24
- id = 'community'
25
- checked = { isCommunity }
26
- onChange = { ( e ) => e . target . checked && onUpdateOthers ( { field : 'reviewType' , value : 'community' } ) }
27
- />
28
- < label htmlFor = 'community' >
29
- < div className = { styles . radioButtonLabel } >
30
- Community
31
- </ div >
32
- < input type = 'hidden' />
33
- </ label >
34
- </ div >
40
+ { isDesignChallenge &&
41
+ < Tooltip content = { MESSAGE . COMMUNITY_REVIEW_DISABLED } >
42
+ { communityOption ( true ) }
43
+ </ Tooltip >
44
+ }
45
+ { ! isDesignChallenge &&
46
+ communityOption ( )
47
+ }
35
48
</ div >
36
49
< div className = { styles . subRow } >
37
50
< div className = { styles . tcRadioButton } >
0 commit comments