@@ -75,6 +75,17 @@ export const CreateWorkspacePageView: FC<
75
75
// to disappear.
76
76
setGitAuthErrors ( { } )
77
77
} , [ props . templateGitAuth ] )
78
+
79
+ const workspaceErrors =
80
+ props . createWorkspaceErrors [ CreateWorkspaceErrors . CREATE_WORKSPACE_ERROR ]
81
+
82
+ // Scroll to top of page if errors are present
83
+ useEffect ( ( ) => {
84
+ if ( props . hasTemplateErrors || Boolean ( workspaceErrors ) ) {
85
+ window . scrollTo ( 0 , 0 )
86
+ }
87
+ } , [ props . hasTemplateErrors , workspaceErrors ] )
88
+
78
89
const { t } = useTranslation ( "createWorkspacePage" )
79
90
const styles = useStyles ( )
80
91
@@ -149,73 +160,71 @@ export const CreateWorkspacePageView: FC<
149
160
return < Loader />
150
161
}
151
162
152
- if ( props . hasTemplateErrors ) {
153
- return (
154
- < Stack >
155
- { Boolean (
156
- props . createWorkspaceErrors [
157
- CreateWorkspaceErrors . GET_TEMPLATES_ERROR
158
- ] ,
159
- ) && (
160
- < AlertBanner
161
- severity = "error"
162
- error = {
163
+ return (
164
+ < FullPageHorizontalForm title = "New workspace" onCancel = { props . onCancel } >
165
+ < HorizontalForm onSubmit = { form . handleSubmit } >
166
+ { Boolean ( props . hasTemplateErrors ) && (
167
+ < Stack >
168
+ { Boolean (
163
169
props . createWorkspaceErrors [
164
170
CreateWorkspaceErrors . GET_TEMPLATES_ERROR
165
- ]
166
- }
167
- />
168
- ) }
169
- { Boolean (
170
- props . createWorkspaceErrors [
171
- CreateWorkspaceErrors . GET_TEMPLATE_SCHEMA_ERROR
172
- ] ,
173
- ) && (
174
- < AlertBanner
175
- severity = "error"
176
- error = {
171
+ ] ,
172
+ ) && (
173
+ < AlertBanner
174
+ severity = "error"
175
+ error = {
176
+ props . createWorkspaceErrors [
177
+ CreateWorkspaceErrors . GET_TEMPLATES_ERROR
178
+ ]
179
+ }
180
+ />
181
+ ) }
182
+ { Boolean (
177
183
props . createWorkspaceErrors [
178
184
CreateWorkspaceErrors . GET_TEMPLATE_SCHEMA_ERROR
179
- ]
180
- }
181
- />
185
+ ] ,
186
+ ) && (
187
+ < AlertBanner
188
+ severity = "error"
189
+ error = {
190
+ props . createWorkspaceErrors [
191
+ CreateWorkspaceErrors . GET_TEMPLATE_SCHEMA_ERROR
192
+ ]
193
+ }
194
+ />
195
+ ) }
196
+ { Boolean (
197
+ props . createWorkspaceErrors [
198
+ CreateWorkspaceErrors . GET_TEMPLATE_GITAUTH_ERROR
199
+ ] ,
200
+ ) && (
201
+ < AlertBanner
202
+ severity = "error"
203
+ error = {
204
+ props . createWorkspaceErrors [
205
+ CreateWorkspaceErrors . GET_TEMPLATE_GITAUTH_ERROR
206
+ ]
207
+ }
208
+ />
209
+ ) }
210
+ </ Stack >
182
211
) }
212
+
183
213
{ Boolean (
184
214
props . createWorkspaceErrors [
185
- CreateWorkspaceErrors . GET_TEMPLATE_GITAUTH_ERROR
215
+ CreateWorkspaceErrors . CREATE_WORKSPACE_ERROR
186
216
] ,
187
217
) && (
188
218
< AlertBanner
189
219
severity = "error"
190
220
error = {
191
221
props . createWorkspaceErrors [
192
- CreateWorkspaceErrors . GET_TEMPLATE_GITAUTH_ERROR
222
+ CreateWorkspaceErrors . CREATE_WORKSPACE_ERROR
193
223
]
194
224
}
195
225
/>
196
226
) }
197
- </ Stack >
198
- )
199
- }
200
-
201
- if (
202
- props . createWorkspaceErrors [ CreateWorkspaceErrors . CREATE_WORKSPACE_ERROR ]
203
- ) {
204
- return (
205
- < AlertBanner
206
- severity = "error"
207
- error = {
208
- props . createWorkspaceErrors [
209
- CreateWorkspaceErrors . CREATE_WORKSPACE_ERROR
210
- ]
211
- }
212
- />
213
- )
214
- }
215
227
216
- return (
217
- < FullPageHorizontalForm title = "New workspace" onCancel = { props . onCancel } >
218
- < HorizontalForm onSubmit = { form . handleSubmit } >
219
228
{ /* General info */ }
220
229
< FormSection
221
230
title = "General info"
0 commit comments