Skip to content

Commit 3616c62

Browse files
refactor: Update status for build logs (coder#2087)
1 parent 3e419dd commit 3616c62

File tree

3 files changed

+54
-4
lines changed

3 files changed

+54
-4
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, getDisplayWorkspaceBuildStatus } 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 = getDisplayWorkspaceBuildStatus(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, getDisplayWorkspaceBuildStatus } 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 = getDisplayWorkspaceBuildStatus(theme, build)
1818

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

site/src/util/workspace.ts

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,56 @@ export const getDisplayStatus = (
136136
throw new Error("unknown status " + status)
137137
}
138138

139+
export const DisplayWorkspaceBuildStatusLanguage = {
140+
succeeded: "Succeeded",
141+
pending: "Pending",
142+
running: "Running",
143+
canceling: "Canceling",
144+
canceled: "Canceled",
145+
failed: "Failed",
146+
}
147+
148+
export const getDisplayWorkspaceBuildStatus = (
149+
theme: Theme,
150+
build: TypesGen.WorkspaceBuild,
151+
): {
152+
color: string
153+
status: string
154+
} => {
155+
switch (build.job.status) {
156+
case "succeeded":
157+
return {
158+
color: theme.palette.success.main,
159+
status: `⦿ ${DisplayWorkspaceBuildStatusLanguage.succeeded}`,
160+
}
161+
case "pending":
162+
return {
163+
color: theme.palette.text.secondary,
164+
status: `⦿ ${DisplayWorkspaceBuildStatusLanguage.pending}`,
165+
}
166+
case "running":
167+
return {
168+
color: theme.palette.primary.main,
169+
status: `⦿ ${DisplayWorkspaceBuildStatusLanguage.running}`,
170+
}
171+
case "failed":
172+
return {
173+
color: theme.palette.text.secondary,
174+
status: `⦸ ${DisplayWorkspaceBuildStatusLanguage.failed}`,
175+
}
176+
case "canceling":
177+
return {
178+
color: theme.palette.warning.light,
179+
status: `◍ ${DisplayWorkspaceBuildStatusLanguage.canceling}`,
180+
}
181+
case "canceled":
182+
return {
183+
color: theme.palette.text.secondary,
184+
status: `◍ ${DisplayWorkspaceBuildStatusLanguage.canceled}`,
185+
}
186+
}
187+
}
188+
139189
export const getWorkspaceBuildDurationInSeconds = (build: TypesGen.WorkspaceBuild): number | undefined => {
140190
const isCompleted = build.job.started_at && build.job.completed_at
141191

0 commit comments

Comments
 (0)