diff --git a/site/src/pages/TemplateBuilder/BaseInfraSelectStep.tsx b/site/src/pages/TemplateBuilder/BaseInfraSelectStep.tsx index f52e856e08..86cc4d0831 100644 --- a/site/src/pages/TemplateBuilder/BaseInfraSelectStep.tsx +++ b/site/src/pages/TemplateBuilder/BaseInfraSelectStep.tsx @@ -4,6 +4,10 @@ import { templateBuilderBases } from "#/api/queries/templateBuilder"; import type { TemplateBuilderBase } from "#/api/typesGenerated"; import { ErrorAlert } from "#/components/Alert/ErrorAlert"; import { Loader } from "#/components/Loader/Loader"; +import { + TemplateBuilderSubtitle, + TemplateBuilderTitle, +} from "#/pages/TemplateBuilder/TemplateBuilderHeader"; import { TemplateCard } from "./TemplateCard"; import type { SelectedBaseMeta } from "./wizardState"; @@ -46,10 +50,11 @@ export const BaseInfraSelectStep: FC = ({ return (
-

Pick a base template

-

+ Pick a base template + Select your infrastructure foundation. -

+ +
{bases.map((base) => ( = ({ }) => { const descriptionId = `${id}-description`; return ( -
+ // All fields span 2 columns, except for dropdowns which can only be 1 column (50% width) +
); @@ -270,7 +269,10 @@ const SwitchField: FC = ({ describedBy={description ? descriptionId : undefined} /> {description && ( -
+
{description}
)} @@ -323,3 +325,13 @@ const SwitchGroupField: FC = ({
); }; + +export const ConfigurationFieldContainer: FC = ({ + children, +}) => { + return ( +
+ {children} +
+ ); +}; diff --git a/site/src/pages/TemplateBuilder/ModuleConfiguration.tsx b/site/src/pages/TemplateBuilder/ModuleConfiguration.tsx index 6348a5731a..14cb1ad2aa 100644 --- a/site/src/pages/TemplateBuilder/ModuleConfiguration.tsx +++ b/site/src/pages/TemplateBuilder/ModuleConfiguration.tsx @@ -4,6 +4,7 @@ import { CollapsibleSummary } from "#/components/CollapsibleSummary/CollapsibleS import { Link } from "#/components/Link/Link"; import { ConfigurationField, + ConfigurationFieldContainer, type ConfigurationFieldDefinition, } from "./ConfigurationField"; @@ -73,18 +74,20 @@ export const ModuleConfiguration: React.FC = ({ {fields && fields.length > 0 && ( -
+ {fields.map((field) => ( ))} -
+ )} {optionalFields && optionalFields.length > 0 && ( - {optionalFields.map((f) => ( - - ))} + + {optionalFields.map((f) => ( + + ))} + )} diff --git a/site/src/pages/TemplateBuilder/ModuleSelectStep.tsx b/site/src/pages/TemplateBuilder/ModuleSelectStep.tsx index b74feedd2f..783bea49ee 100644 --- a/site/src/pages/TemplateBuilder/ModuleSelectStep.tsx +++ b/site/src/pages/TemplateBuilder/ModuleSelectStep.tsx @@ -8,6 +8,10 @@ import type { import { Alert, AlertDescription, AlertTitle } from "#/components/Alert/Alert"; import { ErrorAlert } from "#/components/Alert/ErrorAlert"; import { Loader } from "#/components/Loader/Loader"; +import { + TemplateBuilderSubtitle, + TemplateBuilderTitle, +} from "#/pages/TemplateBuilder/TemplateBuilderHeader"; import { ModuleCard } from "./ModuleCard"; import { moduleHasConfigurableVars, @@ -133,10 +137,10 @@ export const ModuleSelectStep: FC = ({ return (
-

Select modules

-

+ Select modules + Add functionality to your template. -

+
{modules.map((m) => ( diff --git a/site/src/pages/TemplateBuilder/ModuleSettingsStep.tsx b/site/src/pages/TemplateBuilder/ModuleSettingsStep.tsx index d53b9777cb..ed456078f8 100644 --- a/site/src/pages/TemplateBuilder/ModuleSettingsStep.tsx +++ b/site/src/pages/TemplateBuilder/ModuleSettingsStep.tsx @@ -7,6 +7,10 @@ import type { TemplateBuilderModulesResponse, TemplateBuilderModuleVariable, } from "#/api/typesGenerated"; +import { + TemplateBuilderSubtitle, + TemplateBuilderTitle, +} from "#/pages/TemplateBuilder/TemplateBuilderHeader"; import type { ConfigurationFieldDefinition } from "./ConfigurationField"; import { ModuleConfiguration } from "./ModuleConfiguration"; @@ -111,10 +115,10 @@ export const ModuleSettingsStep: FC = ({ return (
-

Configure modules

-

+ Configure modules + Set values for module variables. -

+
{selectedModules.map((mod) => { diff --git a/site/src/pages/TemplateBuilder/TemplateBuilderHeader.tsx b/site/src/pages/TemplateBuilder/TemplateBuilderHeader.tsx new file mode 100644 index 0000000000..0c603d32b4 --- /dev/null +++ b/site/src/pages/TemplateBuilder/TemplateBuilderHeader.tsx @@ -0,0 +1,15 @@ +import type { FC, PropsWithChildren } from "react"; + +export const TemplateBuilderTitle: FC = ({ children }) => { + return

{children}

; +}; + +export const TemplateBuilderSubtitle: FC = ({ + children, +}) => { + return ( +

+ {children} +

+ ); +}; diff --git a/site/src/pages/TemplateBuilder/TemplateConfiguration.tsx b/site/src/pages/TemplateBuilder/TemplateConfiguration.tsx index e2782883be..c46b742058 100644 --- a/site/src/pages/TemplateBuilder/TemplateConfiguration.tsx +++ b/site/src/pages/TemplateBuilder/TemplateConfiguration.tsx @@ -2,6 +2,7 @@ import type { PropsWithChildren } from "react"; import { Link } from "#/components/Link/Link"; import { ConfigurationField, + ConfigurationFieldContainer, type ConfigurationFieldDefinition, } from "./ConfigurationField"; @@ -54,11 +55,11 @@ export const TemplateConfiguration: React.FC = ({ {fields && fields.length > 0 && ( -
+ {fields.map((field) => ( ))} -
+ )} {children} diff --git a/site/src/pages/TemplateBuilder/TemplateCustomizationsStep.tsx b/site/src/pages/TemplateBuilder/TemplateCustomizationsStep.tsx index 09cd4ec2a2..a5119c7674 100644 --- a/site/src/pages/TemplateBuilder/TemplateCustomizationsStep.tsx +++ b/site/src/pages/TemplateBuilder/TemplateCustomizationsStep.tsx @@ -7,6 +7,10 @@ import { Input } from "#/components/Input/Input"; import { Label } from "#/components/Label/Label"; import { OrganizationAutocomplete } from "#/components/OrganizationAutocomplete/OrganizationAutocomplete"; import { Textarea } from "#/components/Textarea/Textarea"; +import { + TemplateBuilderSubtitle, + TemplateBuilderTitle, +} from "#/pages/TemplateBuilder/TemplateBuilderHeader"; import type { SelectedBaseMeta, TemplateBuilderWizardState, @@ -48,10 +52,10 @@ export const TemplateCustomizationsStep: FC< return (
-

Customizations

-

+ Customizations + Add additional configurations. -

+
{/* Base template card */}