From 0ef85147cd57b9874fd460e021c3a0fe609e08a9 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Fri, 30 Aug 2024 15:14:59 -0500 Subject: [PATCH] chore: match templates search error with workspace search error (#14479) * chore: make templates search error the same as workspaces --- .../pages/TemplatesPage/TemplatesFilter.tsx | 7 +- .../TemplatesPageView.stories.tsx | 19 +++++ .../pages/TemplatesPage/TemplatesPageView.tsx | 75 ++++++++++--------- 3 files changed, 63 insertions(+), 38 deletions(-) diff --git a/site/src/pages/TemplatesPage/TemplatesFilter.tsx b/site/src/pages/TemplatesPage/TemplatesFilter.tsx index 581858aabe..f463a35ff5 100644 --- a/site/src/pages/TemplatesPage/TemplatesFilter.tsx +++ b/site/src/pages/TemplatesPage/TemplatesFilter.tsx @@ -16,9 +16,13 @@ import type { FC } from "react"; interface TemplatesFilterProps { filter: ReturnType; + error?: unknown; } -export const TemplatesFilter: FC = ({ filter }) => { +export const TemplatesFilter: FC = ({ + filter, + error, +}) => { const organizationMenu = useFilterMenu({ onChange: (option) => filter.update({ ...filter.values, organization: option?.value }), @@ -48,6 +52,7 @@ export const TemplatesFilter: FC = ({ filter }) => { // learnMoreLink={docs("/templates#template-filtering")} isLoading={false} filter={filter} + error={error} options={ <> = ({ - - - {error ? ( + + {/* Validation errors are shown on the filter, other errors are an alert box. */} + {hasError(error) && !isApiValidationError(error) && ( - ) : ( - - - - - {Language.nameLabel} - - {showOrganizations ? "Organization" : Language.usedByLabel} - - {Language.buildTimeLabel} - {Language.lastUpdatedLabel} - - - - - {isLoading && } - - {isEmpty ? ( - - ) : ( - templates?.map((template) => ( - - )) - )} - -
-
)} + + + + + + {Language.nameLabel} + + {showOrganizations ? "Organization" : Language.usedByLabel} + + {Language.buildTimeLabel} + {Language.lastUpdatedLabel} + + + + + {isLoading && } + + {isEmpty ? ( + + ) : ( + templates?.map((template) => ( + + )) + )} + +
+
); };