@@ -6,44 +6,47 @@ import StreamChat
66import  SwiftUI
77
88/// View for the add users popup.
9- struct  AddUsersView :  View  { 
9+ struct  AddUsersView < Factory :   ViewFactory > :  View  { 
1010
1111    @Injected ( \. fonts)   private  var  fonts 
1212    @Injected ( \. colors)   private  var  colors 
1313
14-     private  static  let  columnCount =  4 
15-     private  static  let  itemSize :  CGFloat  =  64 
16- 
1714    private  let  columns =  Array ( 
1815        repeating: 
1916        GridItem ( 
20-             . adaptive( minimum:  itemSize ) , 
17+             . adaptive( minimum:  64 ) , 
2118            alignment:  . top
2219        ) , 
23-         count:  columnCount 
20+         count:  4 
2421    ) 
22+     
23+     private  let  factory :  Factory 
2524
2625    @StateObject   private  var  viewModel :  AddUsersViewModel 
2726    var  onUserTap :  ( ChatUser )  ->  Void 
2827
2928    init ( 
29+         factory:  Factory  =  DefaultViewFactory . shared, 
3030        loadedUserIds:  [ String ] , 
3131        onUserTap:  @escaping  ( ChatUser )  ->  Void 
3232    )  { 
3333        _viewModel =  StateObject ( 
3434            wrappedValue:  AddUsersViewModel ( loadedUserIds:  loadedUserIds) 
3535        ) 
3636        self . onUserTap =  onUserTap
37+         self . factory =  factory
3738    } 
3839
3940    init ( 
41+         factory:  Factory  =  DefaultViewFactory . shared, 
4042        viewModel:  AddUsersViewModel , 
4143        onUserTap:  @escaping  ( ChatUser )  ->  Void 
4244    )  { 
4345        _viewModel =  StateObject ( 
4446            wrappedValue:  viewModel
4547        ) 
4648        self . onUserTap =  onUserTap
49+         self . factory =  factory
4750    } 
4851
4952    var  body :  some  View  { 
@@ -57,17 +60,20 @@ struct AddUsersView: View {
5760                            onUserTap ( user) 
5861                        }  label:  { 
5962                            VStack  { 
60-                                 MessageAvatarView ( 
61-                                     avatarURL:  user. imageURL, 
62-                                     size:  CGSize ( width:  Self . itemSize,  height:  Self . itemSize) , 
63-                                     showOnlineIndicator:  false 
63+                                 let  itemSize :  CGFloat  =  64 
64+                                 let  userDisplayInfo  =  UserDisplayInfo ( 
65+                                     id:  user. id, 
66+                                     name:  user. name ??  " " , 
67+                                     imageURL:  user. imageURL, 
68+                                     size:  CGSize ( width:  itemSize,  height:  itemSize) 
6469                                ) 
70+                                 factory. makeMessageAvatarView ( for:  userDisplayInfo) 
6571
6672                                Text ( user. name ??  user. id) 
6773                                    . multilineTextAlignment ( . center) 
6874                                    . lineLimit ( 2 ) 
6975                                    . font ( fonts. footnoteBold) 
70-                                     . frame ( width:  Self . itemSize) 
76+                                     . frame ( width:  itemSize) 
7177                                    . foregroundColor ( Color ( colors. text) ) 
7278                            } 
7379                            . padding ( . all,  8 ) 
0 commit comments