From 2ba85d9657262768c335d6810c6b059ddb319217 Mon Sep 17 00:00:00 2001 From: Andrew Aquino Date: Fri, 26 Jun 2026 12:34:36 -0700 Subject: [PATCH] feat(site): give all template builder steps rounded border + padding (#26757) ref DEVEX-517 Some small preliminary UI spruce-ups to get each step closer to the design before implementing the main feature for DEVEX-517. See commit messages for individual changes. The most prominent change is making it so that every step gets wrapped in this rounded/bordered/padded container. Previously it was present only in `ModuleSettingsStep` and `TemplateCustomizationsStep`; but missing from `BaseInfraSelectStep`, `BaseTemplateParametersStep`, and `ModuleSelectStep` image --- .../BaseTemplateParametersStep.tsx | 37 ++++++++++++------- .../TemplateBuilder/ModuleSettingsStep.tsx | 4 +- .../TemplateBuilder/SelectionSummary.tsx | 6 +-- .../TemplateBuilder/TemplateBuilderHeader.tsx | 2 +- .../TemplateBuilderPageView.tsx | 18 +++++---- .../TemplateBuilder/TemplateConfiguration.tsx | 8 ++-- .../TemplateCustomizationsStep.tsx | 4 +- 7 files changed, 47 insertions(+), 32 deletions(-) diff --git a/site/src/pages/TemplateBuilder/BaseTemplateParametersStep.tsx b/site/src/pages/TemplateBuilder/BaseTemplateParametersStep.tsx index c3d128b467..bef9b4dde6 100644 --- a/site/src/pages/TemplateBuilder/BaseTemplateParametersStep.tsx +++ b/site/src/pages/TemplateBuilder/BaseTemplateParametersStep.tsx @@ -6,6 +6,10 @@ import type { TemplateBuilderModuleVariable, } from "#/api/typesGenerated"; import { MemoizedMarkdown } from "#/components/Markdown/Markdown"; +import { + TemplateBuilderSubtitle, + TemplateBuilderTitle, +} from "#/pages/TemplateBuilder/TemplateBuilderHeader"; import type { ConfigurationFieldDefinition } from "./ConfigurationField"; import { TemplateConfiguration } from "./TemplateConfiguration"; @@ -101,18 +105,25 @@ export const BaseTemplateParametersStep: FC< ); return ( - - {prerequisites && ( -
- {prerequisites} -
- )} -
+ <> + Configure base template + + Your base template requires customizations. + + + + {prerequisites && ( +
+ {prerequisites} +
+ )} +
+ ); }; diff --git a/site/src/pages/TemplateBuilder/ModuleSettingsStep.tsx b/site/src/pages/TemplateBuilder/ModuleSettingsStep.tsx index ed456078f8..428182a1a5 100644 --- a/site/src/pages/TemplateBuilder/ModuleSettingsStep.tsx +++ b/site/src/pages/TemplateBuilder/ModuleSettingsStep.tsx @@ -114,7 +114,7 @@ export const ModuleSettingsStep: FC = ({ }; return ( -
+ <> Configure modules Set values for module variables. @@ -168,6 +168,6 @@ export const ModuleSettingsStep: FC = ({ ); })}
- + ); }; diff --git a/site/src/pages/TemplateBuilder/SelectionSummary.tsx b/site/src/pages/TemplateBuilder/SelectionSummary.tsx index 87e2face59..50a1cadfb9 100644 --- a/site/src/pages/TemplateBuilder/SelectionSummary.tsx +++ b/site/src/pages/TemplateBuilder/SelectionSummary.tsx @@ -39,8 +39,8 @@ export const SelectionSummary: React.FC = ({ }; return (
-

Selection

-
+

Selection

+
Base Template {selectedTemplate ? ( @@ -69,7 +69,7 @@ export const SelectionSummary: React.FC = ({ }; const stepCircleVariants = cva( - "rounded-full w-8 h-8 border border-solid flex items-center justify-center", + "rounded-full size-6 border border-solid flex items-center justify-center text-xs", { variants: { variant: { diff --git a/site/src/pages/TemplateBuilder/TemplateBuilderHeader.tsx b/site/src/pages/TemplateBuilder/TemplateBuilderHeader.tsx index 0c603d32b4..81f1ebd03b 100644 --- a/site/src/pages/TemplateBuilder/TemplateBuilderHeader.tsx +++ b/site/src/pages/TemplateBuilder/TemplateBuilderHeader.tsx @@ -1,7 +1,7 @@ import type { FC, PropsWithChildren } from "react"; export const TemplateBuilderTitle: FC = ({ children }) => { - return

{children}

; + return

{children}

; }; export const TemplateBuilderSubtitle: FC = ({ diff --git a/site/src/pages/TemplateBuilder/TemplateBuilderPageView.tsx b/site/src/pages/TemplateBuilder/TemplateBuilderPageView.tsx index a0119c6883..061918ba30 100644 --- a/site/src/pages/TemplateBuilder/TemplateBuilderPageView.tsx +++ b/site/src/pages/TemplateBuilder/TemplateBuilderPageView.tsx @@ -112,7 +112,7 @@ export const TemplateBuilderPageView: FC = ({ View docs @@ -124,13 +124,15 @@ export const TemplateBuilderPageView: FC = ({
{/* Main content area */}
- {renderStepContent( - currentStep.id, - state, - dispatch, - moduleVarMap, - createError, - )} +
+ {renderStepContent( + currentStep.id, + state, + dispatch, + moduleVarMap, + createError, + )} +
{/* Navigation controls */}
diff --git a/site/src/pages/TemplateBuilder/TemplateConfiguration.tsx b/site/src/pages/TemplateBuilder/TemplateConfiguration.tsx index c46b742058..36b0d1e8ca 100644 --- a/site/src/pages/TemplateBuilder/TemplateConfiguration.tsx +++ b/site/src/pages/TemplateBuilder/TemplateConfiguration.tsx @@ -37,8 +37,10 @@ export const TemplateConfiguration: React.FC = ({ )}
-

{name}

-

+

+ {name} +

+

{description}

{detailsUrl && ( @@ -46,7 +48,7 @@ export const TemplateConfiguration: React.FC = ({ href={detailsUrl} target="_blank" size="sm" - className="text-sm font-normal ml-1" + className="text-xs font-normal ml-1" > View details diff --git a/site/src/pages/TemplateBuilder/TemplateCustomizationsStep.tsx b/site/src/pages/TemplateBuilder/TemplateCustomizationsStep.tsx index a5119c7674..740e9bc053 100644 --- a/site/src/pages/TemplateBuilder/TemplateCustomizationsStep.tsx +++ b/site/src/pages/TemplateBuilder/TemplateCustomizationsStep.tsx @@ -51,7 +51,7 @@ export const TemplateCustomizationsStep: FC< }; return ( -
+ <> Customizations Add additional configurations. @@ -138,7 +138,7 @@ export const TemplateCustomizationsStep: FC<
-
+ ); };