@@ -13,6 +13,7 @@ import {
1313 Brand ,
1414 Tooltip ,
1515 Bullseye ,
16+ Button ,
1617} from '@patternfly/react-core' ;
1718import {
1819 Table ,
@@ -33,6 +34,7 @@ import {
3334 CodeIcon ,
3435} from '@patternfly/react-icons' ;
3536import { useState } from 'react' ;
37+ import { useNavigate } from 'react-router-dom' ;
3638import { Workspace , WorkspaceState } from '~/shared/api/backendApiTypes' ;
3739import { WorkspaceDetails } from '~/app/pages/Workspaces/Details/WorkspaceDetails' ;
3840import { ExpandedWorkspaceRow } from '~/app/pages/Workspaces/ExpandedWorkspaceRow' ;
@@ -64,6 +66,17 @@ export enum ActionType {
6466}
6567
6668export 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+
6780 const [ workspaceKinds ] = useWorkspaceKinds ( ) ;
6881 const kindLogoDict = buildKindLogoDictionary ( workspaceKinds ) ;
6982 const workspaceRedirectStatus = buildWorkspaceRedirectStatus ( workspaceKinds ) ;
@@ -494,6 +507,7 @@ export const Workspaces: React.FunctionComponent = () => {
494507 id = "filter-workspaces"
495508 onFilter = { onFilter }
496509 columnNames = { filterableColumns }
510+ toolbarActions = { createWorkspaceButton }
497511 />
498512 </ Content >
499513 < Table
0 commit comments