@@ -435,52 +435,49 @@ export const CreateManagedControlPlaneWizardContainer: FC<CreateManagedControlPl
435435 appliedTemplateComponentsRef . current = false ;
436436 } , [ selectedTemplateValue , isOpen ] ) ;
437437
438- useEffect (
439- ( ) => {
440- if ( selectedStep !== 'members' ) return ;
441- if ( ! selectedTemplate ) return ;
442- if ( appliedTemplateMembersRef . current ) return ;
443-
444- const templateMembers = ( selectedTemplate ?. spec ?. spec ?. authorization ?. defaultMembers ??
445- [ ] ) as ManagedControlPlaneTemplate [ 'spec' ] [ 'spec' ] [ 'authorization' ] [ 'defaultMembers' ] ;
446- if ( ! templateMembers ?. length ) {
447- appliedTemplateMembersRef . current = true ;
448- return ;
449- }
438+ useEffect ( ( ) => {
439+ if ( selectedStep !== 'members' ) return ;
440+ if ( ! selectedTemplate ) return ;
441+ if ( appliedTemplateMembersRef . current ) return ;
450442
451- const currentMembers = ( watch ( 'members' ) ?? [ ] ) as Member [ ] ;
443+ const templateMembers = ( selectedTemplate ?. spec ?. spec ?. authorization ?. defaultMembers ??
444+ [ ] ) as ManagedControlPlaneTemplate [ 'spec' ] [ 'spec' ] [ 'authorization' ] [ 'defaultMembers' ] ;
445+ if ( ! templateMembers ?. length ) {
446+ appliedTemplateMembersRef . current = true ;
447+ return ;
448+ }
452449
453- let merged = currentMembers ;
454- if ( user ?. email && ! currentMembers . some ( ( m ) => m . name === user . email ) ) {
455- merged = [ { name : user . email , roles : [ MemberRoles . admin ] , kind : 'User' } , ...currentMembers ] ;
456- }
450+ const currentMembers = ( watch ( 'members' ) ?? [ ] ) as Member [ ] ;
457451
458- const mappedFromTemplate : Member [ ] = templateMembers
459- . map ( ( m ) => ( {
460- name : stripIdpPrefix ( String ( m ?. name ?? '' ) , idpPrefix ) ,
461- roles : [ normalizeMemberRole ( m ?. role ) ] ,
462- kind : normalizeMemberKind ( m ?. kind ) ,
463- } ) )
464- . filter ( ( m ) => ! ! m . name ) ;
465-
466- const byName = new Map < string , Member > ( ) ;
467- merged . forEach ( ( m ) => m ?. name && byName . set ( m . name , m ) ) ;
468- mappedFromTemplate . forEach ( ( m ) => {
469- if ( m . name && ! byName . has ( m . name ) ) byName . set ( m . name , m ) ;
470- } ) ;
452+ let merged = currentMembers ;
453+ if ( user ?. email && ! currentMembers . some ( ( m ) => m . name === user . email ) ) {
454+ merged = [ { name : user . email , roles : [ MemberRoles . admin ] , kind : 'User' } , ...currentMembers ] ;
455+ }
471456
472- const normalizedMembers = Array . from ( byName . values ( ) ) . map ( ( m ) => ( {
473- ...m ,
474- roles : ( m . roles ?? [ ] ) . length
475- ? m . roles . map ( ( r ) => normalizeMemberRole ( r as unknown as string ) )
476- : [ MemberRoles . view ] ,
477- } ) ) ;
457+ const mappedFromTemplate : Member [ ] = templateMembers
458+ . map ( ( m ) => ( {
459+ name : stripIdpPrefix ( String ( m ?. name ?? '' ) , idpPrefix ) ,
460+ roles : [ normalizeMemberRole ( m ?. role ) ] ,
461+ kind : normalizeMemberKind ( m ?. kind ) ,
462+ } ) )
463+ . filter ( ( m ) => ! ! m . name ) ;
464+
465+ const byName = new Map < string , Member > ( ) ;
466+ merged . forEach ( ( m ) => m ?. name && byName . set ( m . name , m ) ) ;
467+ mappedFromTemplate . forEach ( ( m ) => {
468+ if ( m . name && ! byName . has ( m . name ) ) byName . set ( m . name , m ) ;
469+ } ) ;
478470
479- setValue ( 'members' , normalizedMembers , { shouldValidate : true } ) ;
480- appliedTemplateMembersRef . current = true ;
481- } ,
482- [ selectedStep , selectedTemplate , watch , setValue , user ?. email , normalizeMemberRole , normalizeMemberKind ] ,
483- ) ;
471+ const normalizedMembers = Array . from ( byName . values ( ) ) . map ( ( m ) => ( {
472+ ...m ,
473+ roles : ( m . roles ?? [ ] ) . length
474+ ? m . roles . map ( ( r ) => normalizeMemberRole ( r as unknown as string ) )
475+ : [ MemberRoles . view ] ,
476+ } ) ) ;
477+
478+ setValue ( 'members' , normalizedMembers , { shouldValidate : true } ) ;
479+ appliedTemplateMembersRef . current = true ;
480+ } , [ selectedStep , selectedTemplate , watch , setValue , user ?. email , normalizeMemberRole , normalizeMemberKind ] ) ;
484481 const {
485482 isLoading : componentsLoading ,
486483 error : componentsError ,
0 commit comments