@@ -220,73 +220,90 @@ export const PortForwardPopoverView: FC<PortForwardPopoverViewProps> = ({
220
220
< >
221
221
< div
222
222
css = { {
223
- padding : 20 ,
223
+ maxHeight : 320 ,
224
+ overflowY : "auto" ,
224
225
} }
225
226
>
226
- < Stack
227
- direction = "row"
228
- justifyContent = "space-between"
229
- alignItems = "start"
230
- >
231
- < HelpTooltipTitle > Listening ports</ HelpTooltipTitle >
232
- < HelpTooltipLink href = { docs ( "/networking/port-forwarding#dashboard" ) } >
233
- Learn more
234
- </ HelpTooltipLink >
235
- </ Stack >
236
- < HelpTooltipText css = { { color : theme . palette . text . secondary } } >
237
- { filteredListeningPorts ?. length === 0
238
- ? "No open ports were detected."
239
- : "The listening ports are exclusively accessible to you." }
240
- </ HelpTooltipText >
241
- < form
242
- css = { styles . newPortForm }
243
- onSubmit = { ( e ) => {
244
- e . preventDefault ( ) ;
245
- const formData = new FormData ( e . currentTarget ) ;
246
- const port = Number ( formData . get ( "portNumber" ) ) ;
247
- const url = portForwardURL (
248
- host ,
249
- port ,
250
- agent . name ,
251
- workspaceName ,
252
- username ,
253
- ) ;
254
- window . open ( url , "_blank" ) ;
255
- } }
227
+ < header
228
+ css = { ( theme ) => ( {
229
+ padding : 20 ,
230
+ paddingBottom : 10 ,
231
+ position : "sticky" ,
232
+ top : 0 ,
233
+ background : theme . palette . background . paper ,
234
+ // For some reason the Share button label has a higher z-index than
235
+ // the header. Probably some tricky stuff from MUI.
236
+ zIndex : 1 ,
237
+ } ) }
256
238
>
257
- < input
258
- aria-label = "Port number"
259
- name = "portNumber"
260
- type = "number"
261
- placeholder = "Connect to port..."
262
- min = { 9 }
263
- max = { 65535 }
264
- required
265
- css = { styles . newPortInput }
266
- />
267
- < Button
268
- type = "submit"
269
- size = "small"
270
- variant = "text"
271
- css = { {
272
- paddingLeft : 12 ,
273
- paddingRight : 12 ,
274
- minWidth : 0 ,
239
+ < Stack
240
+ direction = "row"
241
+ justifyContent = "space-between"
242
+ alignItems = "start"
243
+ >
244
+ < HelpTooltipTitle > Listening ports</ HelpTooltipTitle >
245
+ < HelpTooltipLink
246
+ href = { docs ( "/networking/port-forwarding#dashboard" ) }
247
+ >
248
+ Learn more
249
+ </ HelpTooltipLink >
250
+ </ Stack >
251
+ < HelpTooltipText css = { { color : theme . palette . text . secondary } } >
252
+ { filteredListeningPorts ?. length === 0
253
+ ? "No open ports were detected."
254
+ : "The listening ports are exclusively accessible to you." }
255
+ </ HelpTooltipText >
256
+ < form
257
+ css = { styles . newPortForm }
258
+ onSubmit = { ( e ) => {
259
+ e . preventDefault ( ) ;
260
+ const formData = new FormData ( e . currentTarget ) ;
261
+ const port = Number ( formData . get ( "portNumber" ) ) ;
262
+ const url = portForwardURL (
263
+ host ,
264
+ port ,
265
+ agent . name ,
266
+ workspaceName ,
267
+ username ,
268
+ ) ;
269
+ window . open ( url , "_blank" ) ;
275
270
} }
276
271
>
277
- < OpenInNewOutlined
272
+ < input
273
+ aria-label = "Port number"
274
+ name = "portNumber"
275
+ type = "number"
276
+ placeholder = "Connect to port..."
277
+ min = { 9 }
278
+ max = { 65535 }
279
+ required
280
+ css = { styles . newPortInput }
281
+ />
282
+ < Button
283
+ type = "submit"
284
+ size = "small"
285
+ variant = "text"
278
286
css = { {
279
- flexShrink : 0 ,
280
- width : 14 ,
281
- height : 14 ,
282
- color : theme . palette . text . primary ,
287
+ paddingLeft : 12 ,
288
+ paddingRight : 12 ,
289
+ minWidth : 0 ,
283
290
} }
284
- />
285
- </ Button >
286
- </ form >
291
+ >
292
+ < OpenInNewOutlined
293
+ css = { {
294
+ flexShrink : 0 ,
295
+ width : 14 ,
296
+ height : 14 ,
297
+ color : theme . palette . text . primary ,
298
+ } }
299
+ />
300
+ </ Button >
301
+ </ form >
302
+ </ header >
287
303
< div
288
304
css = { {
289
- paddingTop : 10 ,
305
+ padding : 20 ,
306
+ paddingTop : 0 ,
290
307
} }
291
308
>
292
309
{ filteredListeningPorts ?. map ( ( port ) => {
0 commit comments