@@ -8,6 +8,7 @@ import Button from "@mui/material/Button";
8
8
import ButtonGroup from "@mui/material/ButtonGroup" ;
9
9
import IconButton from "@mui/material/IconButton" ;
10
10
import Tooltip from "@mui/material/Tooltip" ;
11
+ import { getErrorDetail , getErrorMessage } from "api/errors" ;
11
12
import type {
12
13
ProvisionerJobLog ,
13
14
Template ,
@@ -26,6 +27,7 @@ import {
26
27
TopbarDivider ,
27
28
TopbarIconButton ,
28
29
} from "components/FullPageLayout/Topbar" ;
30
+ import { displayError } from "components/GlobalSnackbar/utils" ;
29
31
import { Loader } from "components/Loader/Loader" ;
30
32
import { linkToTemplate , useLinks } from "modules/navigation" ;
31
33
import { ProvisionerAlert } from "modules/provisioners/ProvisionerAlert" ;
@@ -132,8 +134,15 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
132
134
const availableProvisioners = templateVersion . matched_provisioners ?. available ;
133
135
134
136
const triggerPreview = useCallback ( async ( ) => {
135
- await onPreview ( fileTree ) ;
136
- setSelectedTab ( "logs" ) ;
137
+ try {
138
+ await onPreview ( fileTree ) ;
139
+ setSelectedTab ( "logs" ) ;
140
+ } catch ( error ) {
141
+ displayError (
142
+ getErrorMessage ( error , "Error on previewing the template" ) ,
143
+ getErrorDetail ( error ) ,
144
+ ) ;
145
+ }
137
146
} , [ fileTree , onPreview ] ) ;
138
147
139
148
// Stop ctrl+s from saving files and make ctrl+enter trigger a preview.
0 commit comments