@@ -39,6 +39,8 @@ import { UserGroupsCell } from "pages/UsersPage/UsersTable/UserGroupsCell";
39
39
import { type FC , useState } from "react" ;
40
40
import { TableColumnHelpTooltip } from "./UserTable/TableColumnHelpTooltip" ;
41
41
import { UserRoleCell } from "./UserTable/UserRoleCell" ;
42
+ import { TableLoader } from "components/TableLoader/TableLoader" ;
43
+ import { Loader } from "components/Loader/Loader" ;
42
44
43
45
interface OrganizationMembersPageViewProps {
44
46
allAvailableRoles : readonly SlimRole [ ] | undefined ;
@@ -125,58 +127,67 @@ export const OrganizationMembersPageView: FC<
125
127
</ TableRow >
126
128
</ TableHeader >
127
129
< TableBody >
128
- { members ?. map ( ( member ) => (
129
- < TableRow key = { member . user_id } className = "align-baseline" >
130
- < TableCell >
131
- < AvatarData
132
- avatar = {
133
- < Avatar
134
- fallback = { member . username }
135
- src = { member . avatar_url }
136
- />
137
- }
138
- title = { member . name || member . username }
139
- subtitle = { member . email }
130
+ { members ? (
131
+ members . map ( ( member ) => (
132
+ < TableRow key = { member . user_id } className = "align-baseline" >
133
+ < TableCell >
134
+ < AvatarData
135
+ avatar = {
136
+ < Avatar
137
+ fallback = { member . username }
138
+ src = { member . avatar_url }
139
+ size = "lg"
140
+ />
141
+ }
142
+ title = { member . name || member . username }
143
+ subtitle = { member . email }
144
+ />
145
+ </ TableCell >
146
+ < UserRoleCell
147
+ inheritedRoles = { member . global_roles }
148
+ roles = { member . roles }
149
+ allAvailableRoles = { allAvailableRoles }
150
+ oidcRoleSyncEnabled = { false }
151
+ isLoading = { isUpdatingMemberRoles }
152
+ canEditUsers = { canEditMembers }
153
+ onEditRoles = { async ( roles ) => {
154
+ try {
155
+ await updateMemberRoles ( member , roles ) ;
156
+ displaySuccess ( "Roles updated successfully." ) ;
157
+ } catch ( error ) {
158
+ displayError (
159
+ getErrorMessage ( error , "Failed to update roles." ) ,
160
+ ) ;
161
+ }
162
+ } }
140
163
/>
141
- </ TableCell >
142
- < UserRoleCell
143
- inheritedRoles = { member . global_roles }
144
- roles = { member . roles }
145
- allAvailableRoles = { allAvailableRoles }
146
- oidcRoleSyncEnabled = { false }
147
- isLoading = { isUpdatingMemberRoles }
148
- canEditUsers = { canEditMembers }
149
- onEditRoles = { async ( roles ) => {
150
- try {
151
- await updateMemberRoles ( member , roles ) ;
152
- displaySuccess ( "Roles updated successfully." ) ;
153
- } catch ( error ) {
154
- displayError (
155
- getErrorMessage ( error , "Failed to update roles." ) ,
156
- ) ;
157
- }
158
- } }
159
- />
160
- < UserGroupsCell userGroups = { member . groups } />
161
- < TableCell >
162
- { member . user_id !== me . id && canEditMembers && (
163
- < MoreMenu >
164
- < MoreMenuTrigger >
165
- < ThreeDotsButton />
166
- </ MoreMenuTrigger >
167
- < MoreMenuContent >
168
- < MoreMenuItem
169
- danger
170
- onClick = { ( ) => removeMember ( member ) }
171
- >
172
- Remove
173
- </ MoreMenuItem >
174
- </ MoreMenuContent >
175
- </ MoreMenu >
176
- ) }
164
+ < UserGroupsCell userGroups = { member . groups } />
165
+ < TableCell >
166
+ { member . user_id !== me . id && canEditMembers && (
167
+ < MoreMenu >
168
+ < MoreMenuTrigger >
169
+ < ThreeDotsButton />
170
+ </ MoreMenuTrigger >
171
+ < MoreMenuContent >
172
+ < MoreMenuItem
173
+ danger
174
+ onClick = { ( ) => removeMember ( member ) }
175
+ >
176
+ Remove
177
+ </ MoreMenuItem >
178
+ </ MoreMenuContent >
179
+ </ MoreMenu >
180
+ ) }
181
+ </ TableCell >
182
+ </ TableRow >
183
+ ) )
184
+ ) : (
185
+ < TableRow >
186
+ < TableCell colSpan = { 999 } >
187
+ < Loader />
177
188
</ TableCell >
178
189
</ TableRow >
179
- ) ) }
190
+ ) }
180
191
</ TableBody >
181
192
</ Table >
182
193
</ PaginationContainer >
0 commit comments