From e25b97829e5e271ee250ebafd566900ba153e129 Mon Sep 17 00:00:00 2001 From: BrunoQuaresma Date: Tue, 21 Jan 2025 13:01:42 +0000 Subject: [PATCH] fix: display error when a build fails on template editor --- .../components/GlobalSnackbar/GlobalSnackbar.tsx | 7 +++++-- .../TemplateVersionEditor.tsx | 13 +++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/site/src/components/GlobalSnackbar/GlobalSnackbar.tsx b/site/src/components/GlobalSnackbar/GlobalSnackbar.tsx index 8fff752e71eea..657bb5fc920ce 100644 --- a/site/src/components/GlobalSnackbar/GlobalSnackbar.tsx +++ b/site/src/components/GlobalSnackbar/GlobalSnackbar.tsx @@ -51,7 +51,7 @@ export const GlobalSnackbar: FC = () => { )} -
+
{notificationMsg.msg} {notificationMsg.additionalMsgs?.map((msg, index) => ( @@ -104,7 +104,10 @@ const styles = { fontWeight: 600, }, messageSubtitle: { - marginTop: 12, + marginTop: 4, + "&:first-letter": { + textTransform: "uppercase", + }, }, errorIcon: (theme) => ({ color: theme.palette.error.contrastText, diff --git a/site/src/pages/TemplateVersionEditorPage/TemplateVersionEditor.tsx b/site/src/pages/TemplateVersionEditorPage/TemplateVersionEditor.tsx index fe02ff909d169..371b2ee64dc83 100644 --- a/site/src/pages/TemplateVersionEditorPage/TemplateVersionEditor.tsx +++ b/site/src/pages/TemplateVersionEditorPage/TemplateVersionEditor.tsx @@ -8,6 +8,7 @@ import Button from "@mui/material/Button"; import ButtonGroup from "@mui/material/ButtonGroup"; import IconButton from "@mui/material/IconButton"; import Tooltip from "@mui/material/Tooltip"; +import { getErrorDetail, getErrorMessage } from "api/errors"; import type { ProvisionerJobLog, Template, @@ -26,6 +27,7 @@ import { TopbarDivider, TopbarIconButton, } from "components/FullPageLayout/Topbar"; +import { displayError } from "components/GlobalSnackbar/utils"; import { Loader } from "components/Loader/Loader"; import { linkToTemplate, useLinks } from "modules/navigation"; import { ProvisionerAlert } from "modules/provisioners/ProvisionerAlert"; @@ -132,8 +134,15 @@ export const TemplateVersionEditor: FC = ({ const availableProvisioners = templateVersion.matched_provisioners?.available; const triggerPreview = useCallback(async () => { - await onPreview(fileTree); - setSelectedTab("logs"); + try { + await onPreview(fileTree); + setSelectedTab("logs"); + } catch (error) { + displayError( + getErrorMessage(error, "Error on previewing the template"), + getErrorDetail(error), + ); + } }, [fileTree, onPreview]); // Stop ctrl+s from saving files and make ctrl+enter trigger a preview.