@@ -13,6 +13,7 @@ import {
13
13
Brand ,
14
14
Tooltip ,
15
15
Bullseye ,
16
+ Button ,
16
17
} from '@patternfly/react-core' ;
17
18
import {
18
19
Table ,
@@ -33,6 +34,7 @@ import {
33
34
CodeIcon ,
34
35
} from '@patternfly/react-icons' ;
35
36
import { useState } from 'react' ;
37
+ import { useNavigate } from 'react-router-dom' ;
36
38
import { Workspace , WorkspaceState } from '~/shared/api/backendApiTypes' ;
37
39
import { WorkspaceDetails } from '~/app/pages/Workspaces/Details/WorkspaceDetails' ;
38
40
import { ExpandedWorkspaceRow } from '~/app/pages/Workspaces/ExpandedWorkspaceRow' ;
@@ -64,6 +66,17 @@ export enum ActionType {
64
66
}
65
67
66
68
export const Workspaces : React . FunctionComponent = ( ) => {
69
+ const navigate = useNavigate ( ) ;
70
+ const createWorkspace = React . useCallback ( ( ) => {
71
+ navigate ( '/workspaces/create' ) ;
72
+ } , [ navigate ] ) ;
73
+
74
+ const createWorkspaceButton = (
75
+ < Button variant = "primary" ouiaId = "Primary" onClick = { createWorkspace } >
76
+ Create Workspace
77
+ </ Button >
78
+ ) ;
79
+
67
80
const [ workspaceKinds ] = useWorkspaceKinds ( ) ;
68
81
const kindLogoDict = buildKindLogoDictionary ( workspaceKinds ) ;
69
82
const workspaceRedirectStatus = buildWorkspaceRedirectStatus ( workspaceKinds ) ;
@@ -494,6 +507,7 @@ export const Workspaces: React.FunctionComponent = () => {
494
507
id = "filter-workspaces"
495
508
onFilter = { onFilter }
496
509
columnNames = { filterableColumns }
510
+ toolbarActions = { createWorkspaceButton }
497
511
/>
498
512
</ Content >
499
513
< Table
0 commit comments