Skip to content

Commit 5bcde58

Browse files
authored
fix: use matching state in status list (#18349)
It was using the latest state for all statuses, so if the last status was "failing" for example every status would show the failing icon.
1 parent dc5f69e commit 5bcde58

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

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

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { Meta, StoryObj } from "@storybook/react";
2+
import { userEvent, within } from "@storybook/test";
23
import type { WorkspaceAppStatus } from "api/typesGenerated";
34
import {
45
MockWorkspace,
@@ -82,6 +83,37 @@ export const SingleStatus: Story = {
8283
},
8384
};
8485

86+
export const MultipleStatuses: Story = {
87+
args: {
88+
agent: mockAgent([
89+
{
90+
...MockWorkspaceAppStatus,
91+
id: "status-1",
92+
icon: "",
93+
message: "Initial setup complete.",
94+
created_at: createTimestamp(5, 10), // 15:05:10 (after referenceDate)
95+
uri: "",
96+
state: "complete" as const,
97+
},
98+
{
99+
...MockWorkspaceAppStatus,
100+
id: "status-2",
101+
icon: "",
102+
message: "Working...",
103+
created_at: createTimestamp(5, 0), // 15:05:00 (after referenceDate)
104+
uri: "",
105+
state: "working" as const,
106+
},
107+
]),
108+
},
109+
play: async ({ canvasElement }) => {
110+
const canvas = within(canvasElement);
111+
const submitButton = canvas.getByRole("button");
112+
await userEvent.click(submitButton);
113+
await canvas.findByText(/working/i);
114+
},
115+
};
116+
85117
function mockAgent(statuses: WorkspaceAppStatus[]) {
86118
return {
87119
...MockWorkspaceAgent,

site/src/pages/WorkspacePage/AppStatuses.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ export const AppStatuses: FC<AppStatusesProps> = ({
156156
<div className="flex items-center justify-between w-full text-content-secondary">
157157
<span className="text-xs flex items-center gap-2">
158158
<AppStatusStateIcon
159-
state={latestStatus.state}
159+
state={status.state}
160160
latest={false}
161161
className="size-icon-xs w-[18px]"
162162
/>

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