@@ -62,6 +62,8 @@ const roleOptions = [
6262 { value : 'admin' , label : 'Admin' } ,
6363] as const
6464
65+ const roleComboOptions = roleOptions . map ( ( option ) => ( { value : option . value , label : option . label } ) )
66+
6567export function IntegrationsManager ( ) {
6668 const params = useParams ( )
6769 const workspaceId = ( params ?. workspaceId as string ) || ''
@@ -1315,42 +1317,32 @@ export function IntegrationsManager() {
13151317 </ div >
13161318 </ div >
13171319
1320+ < Combobox
1321+ options = { roleComboOptions }
1322+ value = {
1323+ roleOptions . find ( ( option ) => option . value === member . role ) ?. label || ''
1324+ }
1325+ selectedValue = { member . role }
1326+ onChange = { ( value ) =>
1327+ handleChangeMemberRole ( member . userId , value as WorkspaceCredentialRole )
1328+ }
1329+ placeholder = 'Role'
1330+ disabled = {
1331+ ! isSelectedAdmin || ( member . role === 'admin' && adminMemberCount <= 1 )
1332+ }
1333+ size = 'sm'
1334+ />
13181335 { isSelectedAdmin ? (
1319- < >
1320- < Combobox
1321- options = { roleOptions . map ( ( option ) => ( {
1322- value : option . value ,
1323- label : option . label ,
1324- } ) ) }
1325- value = {
1326- roleOptions . find ( ( option ) => option . value === member . role ) ?. label ||
1327- ''
1328- }
1329- selectedValue = { member . role }
1330- onChange = { ( value ) =>
1331- handleChangeMemberRole (
1332- member . userId ,
1333- value as WorkspaceCredentialRole
1334- )
1335- }
1336- placeholder = 'Role'
1337- disabled = { member . role === 'admin' && adminMemberCount <= 1 }
1338- size = 'sm'
1339- />
1340- < Button
1341- variant = 'ghost'
1342- onClick = { ( ) => handleRemoveMember ( member . userId ) }
1343- disabled = { member . role === 'admin' && adminMemberCount <= 1 }
1344- className = 'w-full justify-end'
1345- >
1346- Remove
1347- </ Button >
1348- </ >
1336+ < Button
1337+ variant = 'ghost'
1338+ onClick = { ( ) => handleRemoveMember ( member . userId ) }
1339+ disabled = { member . role === 'admin' && adminMemberCount <= 1 }
1340+ className = 'w-full justify-end'
1341+ >
1342+ Remove
1343+ </ Button >
13491344 ) : (
1350- < >
1351- < Badge variant = 'gray-secondary' > { member . role } </ Badge >
1352- < div />
1353- </ >
1345+ < div />
13541346 ) }
13551347 </ div >
13561348 ) ) }
@@ -1370,10 +1362,7 @@ export function IntegrationsManager() {
13701362 size = 'sm'
13711363 />
13721364 < Combobox
1373- options = { roleOptions . map ( ( option ) => ( {
1374- value : option . value ,
1375- label : option . label ,
1376- } ) ) }
1365+ options = { roleComboOptions }
13771366 value = {
13781367 roleOptions . find ( ( option ) => option . value === memberRole ) ?. label || ''
13791368 }
0 commit comments