Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita364318

Browse files
authored
chore(UI): redirecting from workspace page if 404 (#6880)
1 parent56f00a8 commita364318

File tree

2 files changed

+48
-42
lines changed

2 files changed

+48
-42
lines changed

‎site/src/pages/WorkspacePage/WorkspacePage.tsx

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { firstOrItem } from "util/array"
99
import{quotaMachine}from"xServices/quotas/quotasXService"
1010
import{workspaceMachine}from"xServices/workspace/workspaceXService"
1111
import{WorkspaceReadyPage}from"./WorkspaceReadyPage"
12+
import{RequirePermission}from"components/RequirePermission/RequirePermission"
1213

1314
exportconstWorkspacePage:FC=()=>{
1415
const{username:usernameQueryParam,workspace:workspaceQueryParam}=
@@ -42,46 +43,50 @@ export const WorkspacePage: FC = () => {
4243
},[username,quotaSend])
4344

4445
return(
45-
<ChooseOne>
46-
<Condcondition={workspaceState.matches("error")}>
47-
<divclassName={styles.error}>
48-
{Boolean(getWorkspaceError)&&(
49-
<AlertBannerseverity="error"error={getWorkspaceError}/>
50-
)}
51-
{Boolean(getTemplateWarning)&&(
52-
<AlertBannerseverity="error"error={getTemplateWarning}/>
53-
)}
54-
{Boolean(getTemplateParametersWarning)&&(
55-
<AlertBanner
56-
severity="error"
57-
error={getTemplateParametersWarning}
58-
/>
59-
)}
60-
{Boolean(checkPermissionsError)&&(
61-
<AlertBannerseverity="error"error={checkPermissionsError}/>
62-
)}
63-
{Boolean(getQuotaError)&&(
64-
<AlertBannerseverity="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+
<Condcondition={workspaceState.matches("error")}>
51+
<divclassName={styles.error}>
52+
{Boolean(getWorkspaceError)&&(
53+
<AlertBannerseverity="error"error={getWorkspaceError}/>
54+
)}
55+
{Boolean(getTemplateWarning)&&(
56+
<AlertBannerseverity="error"error={getTemplateWarning}/>
57+
)}
58+
{Boolean(getTemplateParametersWarning)&&(
59+
<AlertBanner
60+
severity="error"
61+
error={getTemplateParametersWarning}
62+
/>
63+
)}
64+
{Boolean(checkPermissionsError)&&(
65+
<AlertBannerseverity="error"error={checkPermissionsError}/>
66+
)}
67+
{Boolean(getQuotaError)&&(
68+
<AlertBannerseverity="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>
8590
)
8691
}
8792

‎site/src/xServices/workspace/workspaceXService.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
displayError,
1010
displaySuccess,
1111
}from"../../components/GlobalSnackbar/utils"
12+
import{AxiosError}from"axios"
1213

1314
constlatestBuild=(builds:TypesGen.WorkspaceBuild[])=>{
1415
// Cloning builds to not change the origin object with the sort()
@@ -56,7 +57,7 @@ export interface WorkspaceContext {
5657
workspace?:TypesGen.Workspace
5758
template?:TypesGen.Template
5859
build?:TypesGen.WorkspaceBuild
59-
getWorkspaceError?:Error|unknown
60+
getWorkspaceError?:AxiosError
6061
getTemplateWarning:Error|unknown
6162
getTemplateParametersWarning:Error|unknown
6263
// Builds
@@ -491,7 +492,7 @@ export const workspaceMachine = createMachine(
491492
workspace:(_,event)=>event.data,
492493
}),
493494
assignGetWorkspaceError:assign({
494-
getWorkspaceError:(_,event)=>event.data,
495+
getWorkspaceError:(_,event)=>event.dataasAxiosError,
495496
}),
496497
clearGetWorkspaceError:(context)=>
497498
assign({ ...context,getWorkspaceError:undefined}),

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp