@@ -11,6 +11,8 @@ import {
1111 ModalFooter ,
1212} from '@patternfly/react-core/dist/esm/components/Modal' ;
1313import { Alert , AlertVariant } from '@patternfly/react-core/dist/esm/components/Alert' ;
14+ import { Select } from '@patternfly/react-core/dist/esm/components/Select' ;
15+ import { MenuToggle } from '@patternfly/react-core/dist/esm/components/MenuToggle' ;
1416import { PlusCircleIcon } from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon' ;
1517import { useThemeContext } from 'mod-arch-kubeflow' ;
1618import { useNotebookAPI } from '~/app/hooks/useNotebookAPI' ;
@@ -80,6 +82,7 @@ export const SecretsApiCreateModal: React.FC<SecretsApiCreateModalProps> = ({
8082 return nameError ;
8183 }
8284
85+ // Validate key-value pairs (Opaque is the only supported type)
8386 for ( let i = 0 ; i < keyValuePairs . length ; i ++ ) {
8487 const pair = keyValuePairs [ i ] ;
8588 const keyError = validateKey ( pair . key ) ;
@@ -122,19 +125,12 @@ export const SecretsApiCreateModal: React.FC<SecretsApiCreateModalProps> = ({
122125 } , [ keyValuePairs ] ) ;
123126
124127 const handleSubmit = useCallback ( async ( ) => {
125- console . log ( '🔍 [DEBUG] handleSubmit called' ) ;
126- console . log ( '🔍 [DEBUG] Secret name:' , secretName ) ;
127- console . log ( '🔍 [DEBUG] Key-value pairs:' , keyValuePairs ) ;
128- console . log ( '🔍 [DEBUG] Selected namespace:' , selectedNamespace ) ;
129-
130128 const validationError = validateForm ( ) ;
131129 if ( validationError ) {
132- console . log ( '❌ [DEBUG] Validation failed:' , validationError ) ;
133130 setError ( validationError ) ;
134131 return ;
135132 }
136133
137- console . log ( '✅ [DEBUG] Validation passed, submitting...' ) ;
138134 setIsSubmitting ( true ) ;
139135 setError ( null ) ;
140136
@@ -156,11 +152,7 @@ export const SecretsApiCreateModal: React.FC<SecretsApiCreateModalProps> = ({
156152 } ,
157153 } ;
158154
159- console . log ( '📤 [DEBUG] Sending POST request with payload:' , payload ) ;
160-
161- const response = await api . secrets . createSecret ( selectedNamespace , payload ) ;
162-
163- console . log ( '✅ [DEBUG] Secret created successfully:' , response ) ;
155+ await api . secrets . createSecret ( selectedNamespace , payload ) ;
164156
165157 // Reset form
166158 setSecretName ( '' ) ;
@@ -172,15 +164,8 @@ export const SecretsApiCreateModal: React.FC<SecretsApiCreateModalProps> = ({
172164 onSecretCreated ( ) ;
173165 }
174166 } catch ( err ) {
175- console . error ( '❌ [DEBUG] Failed to create secret:' , err ) ;
176- console . error ( '❌ [DEBUG] Error details:' , {
177- message : err instanceof Error ? err . message : 'Unknown error' ,
178- stack : err instanceof Error ? err . stack : undefined ,
179- fullError : err ,
180- } ) ;
181167 setError ( err instanceof Error ? err . message : 'Failed to create secret. Please try again.' ) ;
182168 } finally {
183- console . log ( '🏁 [DEBUG] handleSubmit finished, isSubmitting set to false' ) ;
184169 setIsSubmitting ( false ) ;
185170 }
186171 } , [
@@ -227,6 +212,32 @@ export const SecretsApiCreateModal: React.FC<SecretsApiCreateModalProps> = ({
227212 aria-label = "Secret name"
228213 />
229214 </ ThemeAwareFormGroupWrapper >
215+ < ThemeAwareFormGroupWrapper label = "Secret type" isRequired fieldId = "secret-type" >
216+ < Select
217+ selected = "Opaque"
218+ toggle = { ( toggleRef ) => (
219+ < MenuToggle
220+ isFullWidth
221+ // Remove className and style from the toggle once https://github.com/opendatahub-io/mod-arch-library/issues/65 is fixed
222+ className = { isMUITheme ? 'pf-v6-u-pl-md pf-v6-u-pr-md' : '' }
223+ style = { {
224+ ...( isMUITheme
225+ ? {
226+ height : '56px' ,
227+ }
228+ : { } ) ,
229+ } }
230+ ref = { toggleRef }
231+ id = "secret-type-toggle"
232+ isExpanded = { false }
233+ isDisabled
234+ data-testid = "secret-type-select"
235+ >
236+ Opaque
237+ </ MenuToggle >
238+ ) }
239+ />
240+ </ ThemeAwareFormGroupWrapper >
230241 { keyValuePairs . map ( ( { key, value } , i ) => (
231242 < React . Fragment key = { i } >
232243 < SecretKeyValuePairInput
0 commit comments