Skip to content

Commit 874ffad

Browse files
committed
Update getDisplayStatus to getDisplayBuildStatus
1 parent afb66eb commit 874ffad

File tree

5 files changed

+25
-87
lines changed

5 files changed

+25
-87
lines changed

site/src/components/BuildsTable/BuildsTable.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import useTheme from "@material-ui/styles/useTheme"
99
import { FC } from "react"
1010
import { useNavigate } from "react-router-dom"
1111
import * as TypesGen from "../../api/typesGenerated"
12-
import { displayWorkspaceBuildDuration, getDisplayStatus } from "../../util/workspace"
12+
import { displayWorkspaceBuildDuration, getDisplayBuildStatus } from "../../util/workspace"
1313
import { EmptyState } from "../EmptyState/EmptyState"
1414
import { TableLoader } from "../TableLoader/TableLoader"
1515

@@ -47,7 +47,7 @@ export const BuildsTable: FC<BuildsTableProps> = ({ builds, className }) => {
4747
{isLoading && <TableLoader />}
4848
{builds &&
4949
builds.map((build) => {
50-
const status = getDisplayStatus(theme, build)
50+
const status = getDisplayBuildStatus(theme, build)
5151

5252
const navigateToBuildPage = () => {
5353
navigate(`/builds/${build.id}`)

site/src/components/WorkspaceBuildStats/WorkspaceBuildStats.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Link as RouterLink } from "react-router-dom"
55
import { WorkspaceBuild } from "../../api/typesGenerated"
66
import { CardRadius, MONOSPACE_FONT_FAMILY } from "../../theme/constants"
77
import { combineClasses } from "../../util/combineClasses"
8-
import { displayWorkspaceBuildDuration, getDisplayStatus } from "../../util/workspace"
8+
import { displayWorkspaceBuildDuration, getDisplayBuildStatus } from "../../util/workspace"
99

1010
export interface WorkspaceBuildStatsProps {
1111
build: WorkspaceBuild
@@ -14,7 +14,7 @@ export interface WorkspaceBuildStatsProps {
1414
export const WorkspaceBuildStats: FC<WorkspaceBuildStatsProps> = ({ build }) => {
1515
const styles = useStyles()
1616
const theme = useTheme()
17-
const status = getDisplayStatus(theme, build)
17+
const status = getDisplayBuildStatus(theme, build)
1818

1919
return (
2020
<div className={styles.stats}>

site/src/components/WorkspaceStats/WorkspaceStats.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Link as RouterLink } from "react-router-dom"
66
import { Workspace } from "../../api/typesGenerated"
77
import { CardRadius, MONOSPACE_FONT_FAMILY } from "../../theme/constants"
88
import { combineClasses } from "../../util/combineClasses"
9-
import { displayBuildStatus } from "../../util/workspace"
9+
import { getDisplayBuildStatus } from "../../util/workspace"
1010

1111
const Language = {
1212
templateLabel: "Template",
@@ -24,7 +24,7 @@ export interface WorkspaceStatsProps {
2424
export const WorkspaceStats: FC<WorkspaceStatsProps> = ({ workspace }) => {
2525
const styles = useStyles()
2626
const theme = useTheme()
27-
const status = displayBuildStatus(theme, workspace.latest_build)
27+
const status = getDisplayBuildStatus(theme, workspace.latest_build)
2828

2929
return (
3030
<div className={styles.stats}>

site/src/pages/WorkspacesPage/WorkspacesPageView.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { AvatarData } from "../../components/AvatarData/AvatarData"
1717
import { EmptyState } from "../../components/EmptyState/EmptyState"
1818
import { Stack } from "../../components/Stack/Stack"
1919
import { TableLoader } from "../../components/TableLoader/TableLoader"
20-
import { displayBuildStatus } from "../../util/workspace"
20+
import { getDisplayBuildStatus } from "../../util/workspace"
2121

2222
dayjs.extend(relativeTime)
2323

@@ -67,7 +67,7 @@ export const WorkspacesPageView: FC<WorkspacesPageViewProps> = ({ loading, works
6767
)}
6868
{workspaces &&
6969
workspaces.map((workspace) => {
70-
const status = displayBuildStatus(theme, workspace.latest_build)
70+
const status = getDisplayBuildStatus(theme, workspace.latest_build)
7171
return (
7272
<TableRow key={workspace.id}>
7373
<TableCell>

site/src/util/workspace.ts

Lines changed: 17 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -68,72 +68,45 @@ export const DisplayStatusLanguage = {
6868
}
6969

7070
// Localize workspace status and provide corresponding color from theme
71-
export const getDisplayStatus = (
71+
export const getDisplayBuildStatus = (
7272
theme: Theme,
7373
build: TypesGen.WorkspaceBuild,
7474
): {
7575
color: string
7676
status: string
7777
} => {
78-
const status = getWorkspaceStatus(build)
79-
switch (status) {
80-
case undefined:
81-
return {
82-
color: theme.palette.text.secondary,
83-
status: DisplayStatusLanguage.loading,
84-
}
85-
case "started":
86-
return {
87-
color: theme.palette.success.main,
88-
status: `⦿ ${DisplayStatusLanguage.started}`,
89-
}
90-
case "starting":
91-
return {
92-
color: theme.palette.primary.main,
93-
status: `⦿ ${DisplayStatusLanguage.starting}`,
94-
}
95-
case "stopping":
96-
return {
97-
color: theme.palette.primary.main,
98-
status: `◍ ${DisplayStatusLanguage.stopping}`,
99-
}
100-
case "stopped":
101-
return {
102-
color: theme.palette.text.secondary,
103-
status: `◍ ${DisplayStatusLanguage.stopped}`,
104-
}
105-
case "deleting":
78+
switch (build.job.status) {
79+
case "canceled":
10680
return {
10781
color: theme.palette.text.secondary,
108-
status: `⦸ ${DisplayStatusLanguage.deleting}`,
82+
status: "ⓧ Canceled",
10983
}
110-
case "deleted":
84+
case "canceling":
11185
return {
11286
color: theme.palette.text.secondary,
113-
status: `⦸ ${DisplayStatusLanguage.deleted}`,
87+
status: "◍ Canceling",
11488
}
115-
case "canceling":
89+
case "failed":
11690
return {
117-
color: theme.palette.warning.light,
118-
status: `◍ ${DisplayStatusLanguage.canceling}`,
91+
color: theme.palette.error.main,
92+
status: "ⓧ Failed",
11993
}
120-
case "canceled":
94+
case "pending":
12195
return {
12296
color: theme.palette.text.secondary,
123-
status: `◍ ${DisplayStatusLanguage.canceled}`,
97+
status: "⦿ Pending",
12498
}
125-
case "error":
99+
case "running":
126100
return {
127-
color: theme.palette.error.main,
128-
status: `ⓧ ${DisplayStatusLanguage.failed}`,
101+
color: theme.palette.primary.main,
102+
status: "⦿ Running",
129103
}
130-
case "queued":
104+
case "succeeded":
131105
return {
132-
color: theme.palette.text.secondary,
133-
status: `◍ ${DisplayStatusLanguage.queued}`,
106+
color: theme.palette.success.main,
107+
status: "⦿ Succeeded",
134108
}
135109
}
136-
throw new Error("unknown status " + status)
137110
}
138111

139112
export const getWorkspaceBuildDurationInSeconds = (build: TypesGen.WorkspaceBuild): number | undefined => {
@@ -156,41 +129,6 @@ export const displayWorkspaceBuildDuration = (
156129
return duration ? `${duration} seconds` : inProgressLabel
157130
}
158131

159-
export const displayBuildStatus = (theme: Theme, build: TypesGen.WorkspaceBuild): { color: string; status: string } => {
160-
switch (build.job.status) {
161-
case "canceled":
162-
return {
163-
color: theme.palette.text.secondary,
164-
status: "ⓧ Canceled",
165-
}
166-
case "canceling":
167-
return {
168-
color: theme.palette.text.secondary,
169-
status: "◍ Canceling",
170-
}
171-
case "failed":
172-
return {
173-
color: theme.palette.error.main,
174-
status: "ⓧ Failed",
175-
}
176-
case "pending":
177-
return {
178-
color: theme.palette.text.secondary,
179-
status: "⦿ Pending",
180-
}
181-
case "running":
182-
return {
183-
color: theme.palette.primary.main,
184-
status: "⦿ Running",
185-
}
186-
case "succeeded":
187-
return {
188-
color: theme.palette.success.main,
189-
status: "⦿ Succeeded",
190-
}
191-
}
192-
}
193-
194132
export const DisplayAgentStatusLanguage = {
195133
connected: "⦿ Connected",
196134
connecting: "⦿ Connecting",

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