Skip to content

Commit 8126fbb

Browse files
committed
feat: add beta labels for dynamic params
1 parent 34494fb commit 8126fbb

File tree

3 files changed

+27
-15
lines changed

3 files changed

+27
-15
lines changed

site/src/components/FeatureStageBadge/FeatureStageBadge.tsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@ export const featureStageBadgeTypes = {
1818
type FeatureStageBadgeProps = Readonly<
1919
Omit<HTMLAttributes<HTMLSpanElement>, "children"> & {
2020
contentType: keyof typeof featureStageBadgeTypes;
21+
labelText?: string;
2122
size?: "sm" | "md" | "lg";
2223
showTooltip?: boolean;
2324
}
2425
>;
2526

2627
export const FeatureStageBadge: FC<FeatureStageBadgeProps> = ({
2728
contentType,
29+
labelText = "",
2830
size = "md",
2931
showTooltip = true, // This is a temporary until the deprecated popover is removed
3032
...delegatedProps
@@ -43,7 +45,8 @@ export const FeatureStageBadge: FC<FeatureStageBadgeProps> = ({
4345
{...delegatedProps}
4446
>
4547
<span style={visuallyHidden}> (This is a</span>
46-
<span css={styles.badgeLabel}>
48+
<span className="first-letter:uppercase">
49+
{labelText && `${labelText} `}
4750
{featureStageBadgeTypes[contentType]}
4851
</span>
4952
<span style={visuallyHidden}> feature)</span>
@@ -105,13 +108,6 @@ const styles = {
105108
backgroundColor: theme.branding.featureStage.hover.background,
106109
}),
107110

108-
badgeLabel: {
109-
// Have to set display mode to anything other than inline, or else the
110-
// CSS capitalization algorithm won't capitalize the element
111-
display: "inline-block",
112-
textTransform: "capitalize",
113-
},
114-
115111
badgeLargeText: {
116112
fontSize: "1rem",
117113
},

site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { FeatureStageBadge } from "components/FeatureStageBadge/FeatureStageBadg
88
import { Input } from "components/Input/Input";
99
import { Label } from "components/Label/Label";
1010
import { Pill } from "components/Pill/Pill";
11+
import { docs } from "utils/docs";
1112
import {
1213
Select,
1314
SelectContent,
@@ -19,7 +20,8 @@ import { Spinner } from "components/Spinner/Spinner";
1920
import { Switch } from "components/Switch/Switch";
2021
import { UserAutocomplete } from "components/UserAutocomplete/UserAutocomplete";
2122
import { type FormikContextType, useFormik } from "formik";
22-
import { ArrowLeft, CircleAlert, TriangleAlert } from "lucide-react";
23+
import { ArrowLeft, CircleAlert, TriangleAlert, Undo2 } from "lucide-react";
24+
import { Link } from "components/Link/Link";
2325
import { useSyncFormParameters } from "modules/hooks/useSyncFormParameters";
2426
import {
2527
DynamicParameter,
@@ -337,7 +339,7 @@ export const CreateWorkspacePageViewExperimental: FC<
337339
</button>
338340
</div>
339341
<div className="flex flex-col gap-6 max-w-screen-md mx-auto">
340-
<header className="flex flex-col items-start gap-2 mt-10">
342+
<header className="flex flex-col items-start gap-3 mt-10">
341343
<div className="flex items-center gap-2">
342344
<Avatar
343345
variant="icon"
@@ -351,17 +353,23 @@ export const CreateWorkspacePageViewExperimental: FC<
351353
: template.name}
352354
</p>
353355
</div>
354-
<h1 className="text-3xl font-semibold m-0">New workspace</h1>
356+
<span className="flex flex-row items-center gap-3">
357+
<h1 className="text-3xl font-semibold m-0">New workspace</h1>
358+
{/* <FeatureStageBadge
359+
contentType={"beta"}
360+
labelText="Dynamic parameters"
361+
/> */}
362+
</span>
355363

356364
{template.deprecated && <Pill type="warning">Deprecated</Pill>}
357365

358366
{experimentalFormContext && (
359367
<Button
360368
size="sm"
361-
variant="subtle"
369+
variant="outline"
362370
onClick={experimentalFormContext.toggleOptedOut}
363371
>
364-
Go back to the classic workspace creation flow
372+
<Undo2 />Go back to the classic workspace creation flow
365373
</Button>
366374
)}
367375
</header>
@@ -497,10 +505,15 @@ export const CreateWorkspacePageViewExperimental: FC<
497505
{parameters.length > 0 && (
498506
<section className="flex flex-col gap-9">
499507
<hgroup>
500-
<h2 className="text-xl font-semibold m-0">Parameters</h2>
508+
<span className="flex flex-row items-center gap-2"><h2 className="text-xl font-semibold m-0">Parameters</h2>
509+
<FeatureStageBadge
510+
contentType={"beta"}
511+
labelText="Dynamic parameters"
512+
/></span>
501513
<p className="text-sm text-content-secondary m-0">
502514
These are the settings used by your template. Immutable
503515
parameters cannot be modified once the workspace is created.
516+
<Link href={docs("/admin/templates/extending-templates/parameters#enable-dynamic-parameters-early-access")}>View docs</Link>
504517
</p>
505518
</hgroup>
506519
{diagnostics.length > 0 && (

site/src/pages/WorkspaceSettingsPage/WorkspaceParametersPage/WorkspaceParametersPageExperimental.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,10 @@ const WorkspaceParametersPageExperimental: FC = () => {
169169
<header className="flex flex-col items-start gap-2">
170170
<span className="flex flex-row items-center gap-2">
171171
<h1 className="text-3xl m-0">Workspace parameters</h1>
172-
<FeatureStageBadge contentType={"beta"} />
172+
<FeatureStageBadge
173+
contentType={"beta"}
174+
labelText="Dynamic parameters"
175+
/>
173176
</span>
174177
{experimentalFormContext && (
175178
<Button

0 commit comments

Comments
 (0)