@@ -175,8 +175,8 @@ function IntegrationBlockDetailContent({ integration, workspaceId }: Integration
175175 const [ oauthOpen , setOAuthOpen ] = useState ( false )
176176 const [ personalTokenOpen , setPersonalTokenOpen ] = useState ( false )
177177 const isGitLab = integration . slug === 'gitlab'
178- const personalTokenAvailable =
179- isGitLab && ( availability ?. state === 'ready' || availability ?. state === 'limited' )
178+ const deploymentAvailable = availability ?. state === 'ready' || availability ?. state === 'limited'
179+ const personalTokenAvailable = isGitLab && deploymentAvailable
180180
181181 const { data : credentials = [ ] , isPending : credentialsLoading } = useWorkspaceCredentials ( {
182182 workspaceId,
@@ -211,12 +211,8 @@ function IntegrationBlockDetailContent({ integration, workspaceId }: Integration
211211 serviceName : oauthService ?. serviceName ,
212212 serviceIcon : oauthService ?. serviceIcon ,
213213 } )
214- const serviceAccountDeploymentAvailable =
215- availability ?. state === 'ready' || availability ?. state === 'limited'
216214 const hasServiceAccount =
217- serviceAccountDeploymentAvailable &&
218- Boolean ( serviceAccountTarget ) &&
219- ! serviceAccountTarget ?. hidden
215+ deploymentAvailable && Boolean ( serviceAccountTarget ) && ! serviceAccountTarget ?. hidden
220216 const serviceAccountConnectLabel = serviceAccountTarget ?. label ?? 'Add service account'
221217 const hasHandledConnectQueryRef = useRef ( false )
222218
@@ -280,6 +276,8 @@ function IntegrationBlockDetailContent({ integration, workspaceId }: Integration
280276 : [ ] ) ,
281277 ]
282278
279+ const singleConnectOption = connectOptions . length === 1 ? connectOptions [ 0 ] : undefined
280+
283281 const handleSelectConnectOption = ( value : string ) => {
284282 if ( value === CONNECT_MODE . oauth ) setOAuthOpen ( true )
285283 else if ( value === CONNECT_MODE . serviceAccount ) setServiceAccountOpen ( true )
@@ -308,22 +306,18 @@ function IntegrationBlockDetailContent({ integration, workspaceId }: Integration
308306 onChange = { handleSelectConnectOption }
309307 matchTriggerWidth = { false }
310308 />
311- ) : personalTokenAvailable ? (
312- < Chip variant = 'primary' leftIcon = { Plus } onClick = { ( ) => setPersonalTokenOpen ( true ) } >
313- Add personal token
309+ ) : singleConnectOption ? (
310+ < Chip
311+ variant = 'primary'
312+ leftIcon = { Plus }
313+ onClick = { ( ) => handleSelectConnectOption ( singleConnectOption . value ) }
314+ >
315+ { singleConnectOption . value === CONNECT_MODE . oauth
316+ ? 'Add to Sim'
317+ : singleConnectOption . label }
314318 </ Chip >
315319 ) : oauthService ? (
316- oauthAvailable ? (
317- < Chip variant = 'primary' leftIcon = { Plus } onClick = { ( ) => setOAuthOpen ( true ) } >
318- Add to Sim
319- </ Chip >
320- ) : hasServiceAccount ? (
321- < Chip variant = 'primary' leftIcon = { Plus } onClick = { ( ) => setServiceAccountOpen ( true ) } >
322- { serviceAccountConnectLabel }
323- </ Chip >
324- ) : (
325- < Chip disabled > Unavailable</ Chip >
326- )
320+ < Chip disabled > Unavailable</ Chip >
327321 ) : chatEnabled ? (
328322 < Chip variant = 'primary' leftIcon = { Plus } onClick = { handleAddInChat } >
329323 Add to Sim
0 commit comments