@@ -11,6 +11,7 @@ import { useParams } from "react-router-dom"
11
11
import { quotaMachine } from "xServices/quotas/quotasXService"
12
12
import { workspaceMachine } from "xServices/workspace/workspaceXService"
13
13
import { WorkspaceReadyPage } from "./WorkspaceReadyPage"
14
+ import { RequirePermission } from "components/RequirePermission/RequirePermission"
14
15
15
16
const useFailedBuildLogs = ( workspace : Workspace | undefined ) => {
16
17
const now = useRef ( new Date ( ) )
@@ -53,47 +54,51 @@ export const WorkspacePage: FC = () => {
53
54
const failedBuildLogs = useFailedBuildLogs ( workspace )
54
55
55
56
return (
56
- < ChooseOne >
57
- < Cond condition = { workspaceState . matches ( "error" ) } >
58
- < div className = { styles . error } >
59
- { Boolean ( getWorkspaceError ) && (
60
- < AlertBanner severity = "error" error = { getWorkspaceError } />
61
- ) }
62
- { Boolean ( getTemplateWarning ) && (
63
- < AlertBanner severity = "error" error = { getTemplateWarning } />
64
- ) }
65
- { Boolean ( getTemplateParametersWarning ) && (
66
- < AlertBanner
67
- severity = "error"
68
- error = { getTemplateParametersWarning }
69
- />
70
- ) }
71
- { Boolean ( checkPermissionsError ) && (
72
- < AlertBanner severity = "error" error = { checkPermissionsError } />
73
- ) }
74
- { Boolean ( getQuotaError ) && (
75
- < AlertBanner severity = "error" error = { getQuotaError } />
76
- ) }
77
- </ div >
78
- </ Cond >
79
- < Cond
80
- condition = {
81
- Boolean ( workspace ) &&
82
- workspaceState . matches ( "ready" ) &&
83
- quotaState . matches ( "success" )
84
- }
85
- >
86
- < WorkspaceReadyPage
87
- workspaceState = { workspaceState }
88
- quotaState = { quotaState }
89
- workspaceSend = { workspaceSend }
90
- failedBuildLogs = { failedBuildLogs . data }
91
- />
92
- </ Cond >
93
- < Cond >
94
- < Loader />
95
- </ Cond >
96
- </ ChooseOne >
57
+ < RequirePermission
58
+ isFeatureVisible = { getWorkspaceError ?. response ?. status !== 404 }
59
+ >
60
+ < ChooseOne >
61
+ < Cond condition = { workspaceState . matches ( "error" ) } >
62
+ < div className = { styles . error } >
63
+ { Boolean ( getWorkspaceError ) && (
64
+ < AlertBanner severity = "error" error = { getWorkspaceError } />
65
+ ) }
66
+ { Boolean ( getTemplateWarning ) && (
67
+ < AlertBanner severity = "error" error = { getTemplateWarning } />
68
+ ) }
69
+ { Boolean ( getTemplateParametersWarning ) && (
70
+ < AlertBanner
71
+ severity = "error"
72
+ error = { getTemplateParametersWarning }
73
+ />
74
+ ) }
75
+ { Boolean ( checkPermissionsError ) && (
76
+ < AlertBanner severity = "error" error = { checkPermissionsError } />
77
+ ) }
78
+ { Boolean ( getQuotaError ) && (
79
+ < AlertBanner severity = "error" error = { getQuotaError } />
80
+ ) }
81
+ </ div >
82
+ </ Cond >
83
+ < Cond
84
+ condition = {
85
+ Boolean ( workspace ) &&
86
+ workspaceState . matches ( "ready" ) &&
87
+ quotaState . matches ( "success" )
88
+ }
89
+ >
90
+ < WorkspaceReadyPage
91
+ failedBuildLogs = { failedBuildLogs . data }
92
+ workspaceState = { workspaceState }
93
+ quotaState = { quotaState }
94
+ workspaceSend = { workspaceSend }
95
+ />
96
+ </ Cond >
97
+ < Cond >
98
+ < Loader />
99
+ </ Cond >
100
+ </ ChooseOne >
101
+ </ RequirePermission >
97
102
)
98
103
}
99
104
0 commit comments