Skip to content

Commit bbd2dd8

Browse files
authored
fix: show template name on workspace page when template display name is unset (coder#15262)
1 parent d83f4eb commit bbd2dd8

File tree

2 files changed

+43
-5
lines changed

2 files changed

+43
-5
lines changed

site/src/pages/WorkspacePage/WorkspaceTopbar.stories.tsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,3 +320,39 @@ export const TemplateDoesNotAllowAutostop: Story = {
320320
},
321321
},
322322
};
323+
324+
export const TemplateInfoPopover: Story = {
325+
play: async ({ canvasElement, step }) => {
326+
const canvas = within(canvasElement);
327+
328+
await step("activate hover trigger", async () => {
329+
await userEvent.hover(canvas.getByText(baseWorkspace.name));
330+
await waitFor(() =>
331+
expect(
332+
canvas.getByRole("presentation", { hidden: true }),
333+
).toHaveTextContent(MockTemplate.display_name),
334+
);
335+
});
336+
},
337+
};
338+
339+
export const TemplateInfoPopoverWithoutDisplayName: Story = {
340+
args: {
341+
workspace: {
342+
...baseWorkspace,
343+
template_display_name: "",
344+
},
345+
},
346+
play: async ({ canvasElement, step }) => {
347+
const canvas = within(canvasElement);
348+
349+
await step("activate hover trigger", async () => {
350+
await userEvent.hover(canvas.getByText(baseWorkspace.name));
351+
await waitFor(() =>
352+
expect(
353+
canvas.getByRole("presentation", { hidden: true }),
354+
).toHaveTextContent(MockTemplate.name),
355+
);
356+
});
357+
},
358+
};

site/src/pages/WorkspacePage/WorkspaceTopbar.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,9 @@ export const WorkspaceTopbar: FC<WorkspaceProps> = ({
160160
templateIconUrl={workspace.template_icon}
161161
rootTemplateUrl={templateLink}
162162
templateVersionName={workspace.latest_build.template_version_name}
163-
templateVersionDisplayName={workspace.template_display_name}
163+
templateDisplayName={
164+
workspace.template_display_name || workspace.template_name
165+
}
164166
latestBuildVersionName={
165167
workspace.latest_build.template_version_name
166168
}
@@ -366,7 +368,7 @@ type WorkspaceBreadcrumbProps = Readonly<{
366368
rootTemplateUrl: string;
367369
templateVersionName: string;
368370
latestBuildVersionName: string;
369-
templateVersionDisplayName?: string;
371+
templateDisplayName: string;
370372
}>;
371373

372374
const WorkspaceBreadcrumb: FC<WorkspaceBreadcrumbProps> = ({
@@ -375,7 +377,7 @@ const WorkspaceBreadcrumb: FC<WorkspaceBreadcrumbProps> = ({
375377
rootTemplateUrl,
376378
templateVersionName,
377379
latestBuildVersionName,
378-
templateVersionDisplayName = templateVersionName,
380+
templateDisplayName,
379381
}) => {
380382
return (
381383
<Popover mode="hover">
@@ -399,7 +401,7 @@ const WorkspaceBreadcrumb: FC<WorkspaceBreadcrumbProps> = ({
399401
to={rootTemplateUrl}
400402
css={{ color: "inherit" }}
401403
>
402-
{templateVersionDisplayName}
404+
{templateDisplayName}
403405
</Link>
404406
}
405407
subtitle={
@@ -419,7 +421,7 @@ const WorkspaceBreadcrumb: FC<WorkspaceBreadcrumbProps> = ({
419421
fitImage
420422
/>
421423
}
422-
imgFallbackText={templateVersionDisplayName}
424+
imgFallbackText={templateDisplayName}
423425
/>
424426
</HelpTooltipContent>
425427
</Popover>

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy