1- import { Toggle } from '@devtron-labs/devtron-fe-common-lib'
1+ import { ConditionalWrap , Toggle } from '@devtron-labs/devtron-fe-common-lib'
22import React from 'react'
3+ import Tippy from '@tippyjs/react'
34import { ReactComponent as DockerWithImage } from '../../assets/icons/ic-docker-with-image.svg'
45import { PullImageDigestToggleType } from './types'
6+ import { DIGEST_DISABLE_TOGGLE_MESSAGE } from '../../config'
57
68function PullImageDigestToggle ( { formData, setFormData } : PullImageDigestToggleType ) : JSX . Element {
7- const handleCustomTagToggle = ( ) : void => {
9+ const handleImageDigestToggle = ( ) : void => {
810 const _formData = { ...formData }
911 _formData . isDigestEnforcedForPipeline = ! _formData . isDigestEnforcedForPipeline
1012 setFormData ( _formData )
1113 }
1214
15+ const renderDogestToggle = ( ) => {
16+ return (
17+ < ConditionalWrap
18+ condition = { formData . isDigestEnforcedForEnv }
19+ wrap = { ( children ) => (
20+ < Tippy className = "default-tt w-200" content = { DIGEST_DISABLE_TOGGLE_MESSAGE } >
21+ < div > { children } </ div >
22+ </ Tippy >
23+ ) }
24+ >
25+ < div className = { `w-32 h-20 ${ formData . isDigestEnforcedForEnv ? 'dc__opacity-0_4' : '' } ` } >
26+ < Toggle
27+ selected = { formData . isDigestEnforcedForPipeline }
28+ onSelect = { handleImageDigestToggle }
29+ dataTestId = "create-build-pipeline-image-pull-digest-toggle"
30+ disabled = { formData . isDigestEnforcedForEnv }
31+ />
32+ </ div >
33+ </ ConditionalWrap >
34+ )
35+ }
36+
1337 const renderImageDigestBody = ( ) : JSX . Element => {
1438 return (
1539 < div className = "fs-13" >
@@ -25,13 +49,7 @@ function PullImageDigestToggle({ formData, setFormData }: PullImageDigestToggleT
2549 </ div >
2650 </ div >
2751 </ div >
28- < div className = "w-32 h-20" >
29- < Toggle
30- selected = { formData . isDigestEnforcedForPipeline }
31- onSelect = { handleCustomTagToggle }
32- dataTestId = "create-build-pipeline-image-pull-digest-toggle"
33- />
34- </ div >
52+ { renderDogestToggle ( ) }
3553 </ div >
3654 < hr />
3755 </ div >
@@ -40,5 +58,4 @@ function PullImageDigestToggle({ formData, setFormData }: PullImageDigestToggleT
4058
4159 return renderImageDigestBody ( )
4260}
43-
4461export default PullImageDigestToggle
0 commit comments