@@ -9,6 +9,7 @@ import { firstOrItem } from "util/array"
9
9
import { quotaMachine } from "xServices/quotas/quotasXService"
10
10
import { workspaceMachine } from "xServices/workspace/workspaceXService"
11
11
import { WorkspaceReadyPage } from "./WorkspaceReadyPage"
12
+ import { RequirePermission } from "components/RequirePermission/RequirePermission"
12
13
13
14
export const WorkspacePage : FC = ( ) => {
14
15
const { username : usernameQueryParam , workspace : workspaceQueryParam } =
@@ -42,46 +43,50 @@ export const WorkspacePage: FC = () => {
42
43
} , [ username , quotaSend ] )
43
44
44
45
return (
45
- < ChooseOne >
46
- < Cond condition = { workspaceState . matches ( "error" ) } >
47
- < div className = { styles . error } >
48
- { Boolean ( getWorkspaceError ) && (
49
- < AlertBanner severity = "error" error = { getWorkspaceError } />
50
- ) }
51
- { Boolean ( getTemplateWarning ) && (
52
- < AlertBanner severity = "error" error = { getTemplateWarning } />
53
- ) }
54
- { Boolean ( getTemplateParametersWarning ) && (
55
- < AlertBanner
56
- severity = "error"
57
- error = { getTemplateParametersWarning }
58
- />
59
- ) }
60
- { Boolean ( checkPermissionsError ) && (
61
- < AlertBanner severity = "error" error = { checkPermissionsError } />
62
- ) }
63
- { Boolean ( getQuotaError ) && (
64
- < AlertBanner severity = "error" error = { getQuotaError } />
65
- ) }
66
- </ div >
67
- </ Cond >
68
- < Cond
69
- condition = {
70
- Boolean ( workspace ) &&
71
- workspaceState . matches ( "ready" ) &&
72
- quotaState . matches ( "success" )
73
- }
74
- >
75
- < WorkspaceReadyPage
76
- workspaceState = { workspaceState }
77
- quotaState = { quotaState }
78
- workspaceSend = { workspaceSend }
79
- />
80
- </ Cond >
81
- < Cond >
82
- < Loader />
83
- </ Cond >
84
- </ ChooseOne >
46
+ < RequirePermission
47
+ isFeatureVisible = { getWorkspaceError ?. response ?. status !== 404 }
48
+ >
49
+ < ChooseOne >
50
+ < Cond condition = { workspaceState . matches ( "error" ) } >
51
+ < div className = { styles . error } >
52
+ { Boolean ( getWorkspaceError ) && (
53
+ < AlertBanner severity = "error" error = { getWorkspaceError } />
54
+ ) }
55
+ { Boolean ( getTemplateWarning ) && (
56
+ < AlertBanner severity = "error" error = { getTemplateWarning } />
57
+ ) }
58
+ { Boolean ( getTemplateParametersWarning ) && (
59
+ < AlertBanner
60
+ severity = "error"
61
+ error = { getTemplateParametersWarning }
62
+ />
63
+ ) }
64
+ { Boolean ( checkPermissionsError ) && (
65
+ < AlertBanner severity = "error" error = { checkPermissionsError } />
66
+ ) }
67
+ { Boolean ( getQuotaError ) && (
68
+ < AlertBanner severity = "error" error = { getQuotaError } />
69
+ ) }
70
+ </ div >
71
+ </ Cond >
72
+ < Cond
73
+ condition = {
74
+ Boolean ( workspace ) &&
75
+ workspaceState . matches ( "ready" ) &&
76
+ quotaState . matches ( "success" )
77
+ }
78
+ >
79
+ < WorkspaceReadyPage
80
+ workspaceState = { workspaceState }
81
+ quotaState = { quotaState }
82
+ workspaceSend = { workspaceSend }
83
+ />
84
+ </ Cond >
85
+ < Cond >
86
+ < Loader />
87
+ </ Cond >
88
+ </ ChooseOne >
89
+ </ RequirePermission >
85
90
)
86
91
}
87
92
0 commit comments