Skip to content

Commit 1728330

Browse files
committed
feat: add frontend for app statuses
1 parent a60a3b7 commit 1728330

File tree

10 files changed

+1538
-80
lines changed

10 files changed

+1538
-80
lines changed

coderd/apidoc/docs.go

Lines changed: 55 additions & 39 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
import type { Meta, StoryObj } from "@storybook/react";
2+
import {
3+
MockProxyLatencies,
4+
MockWorkspace,
5+
MockWorkspaceAgent,
6+
MockWorkspaceApp,
7+
MockWorkspaceAppStatus,
8+
} from "testHelpers/entities";
9+
import { WorkspaceAppStatus } from "./WorkspaceAppStatus";
10+
import { getPreferredProxy, ProxyContext } from "contexts/ProxyContext";
11+
12+
const meta: Meta<typeof WorkspaceAppStatus> = {
13+
title: "modules/workspaces/WorkspaceAppStatus",
14+
component: WorkspaceAppStatus,
15+
decorators: [
16+
(Story) => (
17+
<ProxyContext.Provider
18+
value={{
19+
proxyLatencies: MockProxyLatencies,
20+
proxy: getPreferredProxy([], undefined),
21+
proxies: [],
22+
isLoading: false,
23+
isFetched: true,
24+
clearProxy: () => {
25+
return;
26+
},
27+
setProxy: () => {
28+
return;
29+
},
30+
refetchProxyLatencies: (): Date => {
31+
return new Date();
32+
},
33+
}}
34+
>
35+
<Story />
36+
</ProxyContext.Provider>
37+
),
38+
],
39+
};
40+
41+
export default meta;
42+
type Story = StoryObj<typeof WorkspaceAppStatus>;
43+
44+
export const Complete: Story = {
45+
args: {
46+
status: MockWorkspaceAppStatus,
47+
},
48+
};
49+
50+
export const Failure: Story = {
51+
args: {
52+
status: {
53+
...MockWorkspaceAppStatus,
54+
state: "failure",
55+
message: "Couldn't figure out how to start the dev server",
56+
},
57+
},
58+
};
59+
60+
export const Working: Story = {
61+
args: {
62+
status: {
63+
...MockWorkspaceAppStatus,
64+
state: "working",
65+
message: "Starting dev server...",
66+
uri: "",
67+
},
68+
},
69+
};
70+
71+
export const LongURI: Story = {
72+
args: {
73+
status: {
74+
...MockWorkspaceAppStatus,
75+
uri: "https://www.google.com/search?q=hello+world+plus+a+lot+of+other+words",
76+
},
77+
},
78+
};
79+
80+
export const FileURI: Story = {
81+
args: {
82+
status: {
83+
...MockWorkspaceAppStatus,
84+
uri: "file:///Users/jason/Desktop/test.txt",
85+
},
86+
},
87+
};
88+
89+
export const LongMessage: Story = {
90+
args: {
91+
status: {
92+
...MockWorkspaceAppStatus,
93+
message:
94+
"This is a long message that will wrap around the component. It should wrap many times because this is very very very very very long.",
95+
},
96+
},
97+
};
98+
99+
export const WithApp: Story = {
100+
args: {
101+
status: MockWorkspaceAppStatus,
102+
app: {
103+
...MockWorkspaceApp,
104+
},
105+
agent: MockWorkspaceAgent,
106+
workspace: MockWorkspace,
107+
},
108+
};

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