Skip to content

fix: hide the preset parameter visibility switch when it has no effect #18574

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 26, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,8 @@ export const PresetsWithDefault: Story = {
},
play: async ({ canvasElement }) => {
const canvas = within(canvasElement);
// Wait for the switch to be available since preset parameters are populated asynchronously
await canvas.findByLabelText("Show preset parameters");
// Toggle off the show preset parameters switch
await userEvent.click(canvas.getByLabelText("Show preset parameters"));
},
Expand Down
39 changes: 21 additions & 18 deletions site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -387,25 +387,28 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
selectedOption={presetOptions[selectedPresetIndex]}
/>
</Stack>
<div
css={{
display: "flex",
alignItems: "center",
gap: "8px",
}}
>
<Switch
id="show-preset-parameters"
checked={showPresetParameters}
onCheckedChange={setShowPresetParameters}
/>
<label
htmlFor="show-preset-parameters"
css={styles.description}
{/* Only show the preset parameter visibility toggle if preset parameters are actually being modified, otherwise it has no effect. */}
{presetParameterNames.length > 0 && (
<div
css={{
display: "flex",
alignItems: "center",
gap: "8px",
}}
>
Show preset parameters
</label>
</div>
<Switch
id="show-preset-parameters"
checked={showPresetParameters}
onCheckedChange={setShowPresetParameters}
/>
<label
htmlFor="show-preset-parameters"
css={styles.description}
>
Show preset parameters
</label>
</div>
)}
</Stack>
</Stack>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -562,7 +562,6 @@ export const CreateWorkspacePageViewExperimental: FC<
<div className="flex flex-col gap-2">
<div className="flex gap-2 items-center">
<Label className="text-sm">Preset</Label>
<FeatureStageBadge contentType={"beta"} size="sm" />
</div>
<div className="flex flex-col gap-4">
<div className="max-w-lg">
Expand Down Expand Up @@ -594,16 +593,19 @@ export const CreateWorkspacePageViewExperimental: FC<
</SelectContent>
</Select>
</div>
<span className="flex items-center gap-3">
<Switch
id="show-preset-parameters"
checked={showPresetParameters}
onCheckedChange={setShowPresetParameters}
/>
<Label htmlFor="show-preset-parameters">
Show preset parameters
</Label>
</span>
{/* Only show the preset parameter visibility toggle if preset parameters are actually being modified, otherwise it is ineffectual */}
{presetParameterNames.length > 0 && (
<span className="flex items-center gap-3">
<Switch
id="show-preset-parameters"
checked={showPresetParameters}
onCheckedChange={setShowPresetParameters}
/>
<Label htmlFor="show-preset-parameters">
Show preset parameters
</Label>
</span>
)}
</div>
</div>
)}
Expand Down
Loading