@@ -10,7 +10,6 @@ import PersonAdd from "@mui/icons-material/PersonAdd";
10
10
import SettingsOutlined from "@mui/icons-material/SettingsOutlined" ;
11
11
import { Group , User } from "api/typesGenerated" ;
12
12
import { AvatarData } from "components/AvatarData/AvatarData" ;
13
- import { ChooseOne , Cond } from "components/Conditionals/ChooseOne" ;
14
13
import { DeleteDialog } from "components/Dialogs/DeleteDialog/DeleteDialog" ;
15
14
import { EmptyState } from "components/EmptyState/EmptyState" ;
16
15
import { Loader } from "components/Loader/Loader" ;
@@ -60,129 +59,127 @@ export const GroupPage: FC = () => {
60
59
const canUpdateGroup = permissions ? permissions . canUpdateGroup : false ;
61
60
const styles = useStyles ( ) ;
62
61
62
+ const helmet = (
63
+ < Helmet >
64
+ < title >
65
+ { pageTitle (
66
+ ( groupData ?. display_name || groupData ?. name ) ?? "Loading..." ,
67
+ ) }
68
+ </ title >
69
+ </ Helmet >
70
+ ) ;
71
+
72
+ if ( isLoading ) {
73
+ return (
74
+ < >
75
+ { helmet }
76
+ < Loader />
77
+ </ >
78
+ ) ;
79
+ }
80
+
63
81
return (
64
82
< >
65
- < Helmet >
66
- < title >
67
- { pageTitle (
68
- ( groupData ?. display_name || groupData ?. name ) ?? "Loading..." ,
69
- ) }
70
- </ title >
71
- </ Helmet >
72
- < ChooseOne >
73
- < Cond condition = { isLoading } >
74
- < Loader />
75
- </ Cond >
76
-
77
- < Cond >
78
- < Margins >
79
- < PageHeader
80
- actions = {
81
- canUpdateGroup && (
82
- < >
83
- < Button
84
- startIcon = { < SettingsOutlined /> }
85
- to = "settings"
86
- component = { RouterLink }
87
- >
88
- Settings
89
- </ Button >
90
- < Button
91
- disabled = { groupData ?. id === groupData ?. organization_id }
92
- onClick = { ( ) => {
93
- setIsDeletingGroup ( true ) ;
94
- } }
95
- startIcon = { < DeleteOutline /> }
96
- className = { styles . removeButton }
97
- >
98
- Delete…
99
- </ Button >
100
- </ >
101
- )
102
- }
103
- >
104
- < PageHeaderTitle >
105
- { groupData ?. display_name || groupData ?. name }
106
- </ PageHeaderTitle >
107
- < PageHeaderSubtitle >
108
- { /* Show the name if it differs from the display name. */ }
109
- { groupData ?. display_name &&
110
- groupData ?. display_name !== groupData ?. name
111
- ? groupData ?. name
112
- : "" } { " " }
113
- </ PageHeaderSubtitle >
114
- </ PageHeader >
83
+ { helmet }
115
84
116
- < Stack spacing = { 1 } >
117
- { canUpdateGroup && groupData && ! isEveryoneGroup ( groupData ) && (
118
- < AddGroupMember
119
- isLoading = { addMemberMutation . isLoading }
120
- onSubmit = { async ( user , reset ) => {
121
- try {
122
- await addMemberMutation . mutateAsync ( {
123
- groupId ,
124
- userId : user . id ,
125
- } ) ;
126
- reset ( ) ;
127
- } catch ( error ) {
128
- displayError (
129
- getErrorMessage ( error , "Failed to add member." ) ,
130
- ) ;
131
- }
85
+ < Margins >
86
+ < PageHeader
87
+ actions = {
88
+ canUpdateGroup && (
89
+ < >
90
+ < Button
91
+ startIcon = { < SettingsOutlined /> }
92
+ to = "settings"
93
+ component = { RouterLink }
94
+ >
95
+ Settings
96
+ </ Button >
97
+ < Button
98
+ disabled = { groupData ?. id === groupData ?. organization_id }
99
+ onClick = { ( ) => {
100
+ setIsDeletingGroup ( true ) ;
132
101
} }
133
- />
134
- ) }
135
- < TableToolbar >
136
- < PaginationStatus
137
- isLoading = { Boolean ( isLoading ) }
138
- showing = { groupData ?. members . length ?? 0 }
139
- total = { groupData ?. members . length ?? 0 }
140
- label = "members"
141
- />
142
- </ TableToolbar >
102
+ startIcon = { < DeleteOutline /> }
103
+ className = { styles . removeButton }
104
+ >
105
+ Delete…
106
+ </ Button >
107
+ </ >
108
+ )
109
+ }
110
+ >
111
+ < PageHeaderTitle >
112
+ { groupData ?. display_name || groupData ?. name }
113
+ </ PageHeaderTitle >
114
+ < PageHeaderSubtitle >
115
+ { /* Show the name if it differs from the display name. */ }
116
+ { groupData ?. display_name &&
117
+ groupData ?. display_name !== groupData ?. name
118
+ ? groupData ?. name
119
+ : "" } { " " }
120
+ </ PageHeaderSubtitle >
121
+ </ PageHeader >
143
122
144
- < TableContainer >
145
- < Table >
146
- < TableHead >
147
- < TableRow >
148
- < TableCell width = "99%" > User</ TableCell >
149
- < TableCell width = "1%" > </ TableCell >
150
- </ TableRow >
151
- </ TableHead >
123
+ < Stack spacing = { 1 } >
124
+ { canUpdateGroup && groupData && ! isEveryoneGroup ( groupData ) && (
125
+ < AddGroupMember
126
+ isLoading = { addMemberMutation . isLoading }
127
+ onSubmit = { async ( user , reset ) => {
128
+ try {
129
+ await addMemberMutation . mutateAsync ( {
130
+ groupId,
131
+ userId : user . id ,
132
+ } ) ;
133
+ reset ( ) ;
134
+ } catch ( error ) {
135
+ displayError ( getErrorMessage ( error , "Failed to add member." ) ) ;
136
+ }
137
+ } }
138
+ />
139
+ ) }
140
+ < TableToolbar >
141
+ < PaginationStatus
142
+ isLoading = { Boolean ( isLoading ) }
143
+ showing = { groupData ?. members . length ?? 0 }
144
+ total = { groupData ?. members . length ?? 0 }
145
+ label = "members"
146
+ />
147
+ </ TableToolbar >
152
148
153
- < TableBody >
154
- < ChooseOne >
155
- < Cond
156
- condition = { Boolean ( groupData ?. members . length === 0 ) }
157
- >
158
- < TableRow >
159
- < TableCell colSpan = { 999 } >
160
- < EmptyState
161
- message = "No members yet"
162
- description = "Add a member using the controls above"
163
- />
164
- </ TableCell >
165
- </ TableRow >
166
- </ Cond >
149
+ < TableContainer >
150
+ < Table >
151
+ < TableHead >
152
+ < TableRow >
153
+ < TableCell width = "99%" > User</ TableCell >
154
+ < TableCell width = "1%" > </ TableCell >
155
+ </ TableRow >
156
+ </ TableHead >
167
157
168
- < Cond >
169
- { groupData ?. members . map ( ( member ) => (
170
- < GroupMemberRow
171
- member = { member }
172
- group = { groupData }
173
- key = { member . id }
174
- canUpdate = { canUpdateGroup }
175
- />
176
- ) ) }
177
- </ Cond >
178
- </ ChooseOne >
179
- </ TableBody >
180
- </ Table >
181
- </ TableContainer >
182
- </ Stack >
183
- </ Margins >
184
- </ Cond >
185
- </ ChooseOne >
158
+ < TableBody >
159
+ { groupData ?. members . length === 0 ? (
160
+ < TableRow >
161
+ < TableCell colSpan = { 999 } >
162
+ < EmptyState
163
+ message = "No members yet"
164
+ description = "Add a member using the controls above"
165
+ />
166
+ </ TableCell >
167
+ </ TableRow >
168
+ ) : (
169
+ groupData ?. members . map ( ( member ) => (
170
+ < GroupMemberRow
171
+ member = { member }
172
+ group = { groupData }
173
+ key = { member . id }
174
+ canUpdate = { canUpdateGroup }
175
+ />
176
+ ) )
177
+ ) }
178
+ </ TableBody >
179
+ </ Table >
180
+ </ TableContainer >
181
+ </ Stack >
182
+ </ Margins >
186
183
187
184
{ groupQuery . data && (
188
185
< DeleteDialog
0 commit comments