Skip to content

Commit 01792f0

Browse files
fix(site): display empty component when workspace has no parameters (#10286)
1 parent f64b9ca commit 01792f0

File tree

2 files changed

+43
-8
lines changed

2 files changed

+43
-8
lines changed

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,13 @@ type Story = StoryObj<typeof WorkspaceParametersPageView>;
3939

4040
const Example: Story = {};
4141

42+
export const Empty: Story = {
43+
args: {
44+
data: {
45+
buildParameters: [],
46+
templateVersionRichParameters: [],
47+
},
48+
},
49+
};
50+
4251
export { Example as WorkspaceParametersPage };

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

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ import { FC } from "react";
1414
import { isApiValidationError } from "api/errors";
1515
import { ErrorAlert } from "components/Alert/ErrorAlert";
1616
import { WorkspaceBuildParameter } from "api/typesGenerated";
17+
import { EmptyState } from "components/EmptyState/EmptyState";
18+
import Button from "@mui/material/Button";
19+
import OpenInNewOutlined from "@mui/icons-material/OpenInNewOutlined";
20+
import { docs } from "utils/docs";
1721

1822
const WorkspaceParametersPage = () => {
1923
const workspace = useWorkspaceSettings();
@@ -88,14 +92,36 @@ export const WorkspaceParametersPageView: FC<
8892
)}
8993

9094
{data ? (
91-
<WorkspaceParametersForm
92-
buildParameters={data.buildParameters}
93-
templateVersionRichParameters={data.templateVersionRichParameters}
94-
error={submitError}
95-
isSubmitting={isSubmitting}
96-
onSubmit={onSubmit}
97-
onCancel={onCancel}
98-
/>
95+
data.templateVersionRichParameters.length > 0 ? (
96+
<WorkspaceParametersForm
97+
buildParameters={data.buildParameters}
98+
templateVersionRichParameters={data.templateVersionRichParameters}
99+
error={submitError}
100+
isSubmitting={isSubmitting}
101+
onSubmit={onSubmit}
102+
onCancel={onCancel}
103+
/>
104+
) : (
105+
<EmptyState
106+
message="This workspace has no parameters"
107+
cta={
108+
<Button
109+
component="a"
110+
href={docs("/templates/parameters")}
111+
startIcon={<OpenInNewOutlined />}
112+
variant="contained"
113+
target="_blank"
114+
rel="noreferrer"
115+
>
116+
Learn more about parameters
117+
</Button>
118+
}
119+
css={(theme) => ({
120+
border: `1px solid ${theme.palette.divider}`,
121+
borderRadius: theme.shape.borderRadius,
122+
})}
123+
/>
124+
)
99125
) : (
100126
<Loader />
101127
)}

0 commit comments

Comments
 (0)