@@ -7,7 +7,7 @@ import moment from 'moment'
7
7
import { ChevronDownIcon } from '@heroicons/react/solid'
8
8
import { EnvironmentConfig } from '~/config'
9
9
import { useWindowSize , WindowSize } from '~/libs/shared'
10
- import { Button , LinkButton , Table , type TableColumn } from '~/libs/ui'
10
+ import { Button , Table , type TableColumn } from '~/libs/ui'
11
11
12
12
import { ReactComponent as RegistrantUserIcon } from '../../assets/i/registrant-user-icon.svg'
13
13
import { ReactComponent as SubmissionIcon } from '../../assets/i/submission-icon.svg'
@@ -142,7 +142,23 @@ const Actions: FC<{
142
142
} )
143
143
} )
144
144
145
- const createDropdownMenuTrigger = useEventCallback (
145
+ const manageDropdownMenuTrigger = useEventCallback (
146
+ ( triggerProps : {
147
+ open : boolean
148
+ setOpen : Dispatch < SetStateAction < boolean > >
149
+ } ) => {
150
+ const createToggle = ( ) => ( ) : void => triggerProps . setOpen ( ! triggerProps . open )
151
+ return (
152
+ < Button primary onClick = { createToggle ( ) } >
153
+ Manage
154
+ { ' ' }
155
+ < ChevronDownIcon className = 'icon icon-fill' />
156
+ </ Button >
157
+ )
158
+ } ,
159
+ )
160
+
161
+ const goToDropdownMenuTrigger = useEventCallback (
146
162
( triggerProps : {
147
163
open : boolean
148
164
setOpen : Dispatch < SetStateAction < boolean > >
@@ -166,21 +182,40 @@ const Actions: FC<{
166
182
167
183
return (
168
184
< div className = { styles . rowActions } >
169
- < LinkButton
170
- onClick = { goToManageUser }
171
- className = { styles . manageUsersLink }
172
- >
173
- Manage
174
- </ LinkButton >
175
-
176
185
< DropdownMenu
177
- trigger = { createDropdownMenuTrigger }
186
+ trigger = { manageDropdownMenuTrigger }
178
187
open = { openDropdown }
179
188
setOpen = { setOpenDropdown }
180
189
width = { 160 }
181
190
placement = 'bottom-end'
182
191
classNames = { { menu : 'challenge-list-actions-dropdown-menu' } }
183
192
shouldIgnoreWhenClickMenu
193
+ >
194
+ < ul >
195
+ < li
196
+ onClick = { function onClick ( ) {
197
+ goToManageUser ( )
198
+ setOpenDropdown ( false )
199
+ } }
200
+ >
201
+ Users
202
+ </ li >
203
+ < li
204
+ onClick = { function onClick ( ) {
205
+ navigate ( `${ props . challenge . id } /manage-resource` )
206
+ setOpenDropdown ( false )
207
+ } }
208
+ >
209
+ Resources
210
+ </ li >
211
+ </ ul >
212
+ </ DropdownMenu >
213
+
214
+ < DropdownMenu
215
+ trigger = { goToDropdownMenuTrigger }
216
+ width = { 160 }
217
+ placement = 'bottom-end'
218
+ classNames = { { menu : 'challenge-list-actions-dropdown-menu' } }
184
219
>
185
220
< ul >
186
221
< li className = { cn ( { disabled : ! hasProjectId } ) } >
@@ -191,10 +226,6 @@ const Actions: FC<{
191
226
}
192
227
target = '_blank'
193
228
rel = 'noreferrer'
194
- onClick = { function onClick ( ) {
195
- window . open ( `${ EnvironmentConfig . ADMIN . WORK_MANAGER_URL } /projects/${ props . challenge . projectId } /challenges/${ props . challenge . id } /view` , '_blank' ) /* eslint-disable-line max-len */
196
- setOpenDropdown ( false )
197
- } }
198
229
>
199
230
Work Manager
200
231
</ a >
@@ -209,32 +240,12 @@ const Actions: FC<{
209
240
}
210
241
target = '_blank'
211
242
rel = 'noreferrer'
212
- onClick = { function onClick ( ) {
213
- window . open ( `${ EnvironmentConfig . ADMIN . ONLINE_REVIEW_URL } /actions/ViewProjectDetails?pid=${ props . challenge . legacyId } ` , '_blank' ) /* eslint-disable-line max-len */
214
- setOpenDropdown ( false )
215
- } }
216
243
>
217
244
Online Review
218
245
</ a >
219
246
) }
220
247
{ ! hasLegacyId && < span > Online Review</ span > }
221
248
</ li >
222
- < li
223
- onClick = { function onClick ( ) {
224
- goToManageUser ( )
225
- setOpenDropdown ( false )
226
- } }
227
- >
228
- Users
229
- </ li >
230
- < li
231
- onClick = { function onClick ( ) {
232
- navigate ( `${ props . challenge . id } /manage-resource` )
233
- setOpenDropdown ( false )
234
- } }
235
- >
236
- Resources
237
- </ li >
238
249
</ ul >
239
250
</ DropdownMenu >
240
251
</ div >
0 commit comments