Skip to content

feat: Redesign resources table #4600

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Oct 18, 2022
Prev Previous commit
Move status string to i18n
  • Loading branch information
BrunoQuaresma committed Oct 18, 2022
commit d437ea0b2d2c42be13ba40e1124a9ab9d78da8eb
17 changes: 10 additions & 7 deletions site/src/components/Resources/AgentStatus.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@ import { makeStyles } from "@material-ui/core/styles"
import { combineClasses } from "util/combineClasses"
import { WorkspaceAgent } from "api/typesGenerated"
import { ChooseOne, Cond } from "components/Conditionals/ChooseOne"
import { DisplayAgentStatusLanguage } from "util/workspace"
import { useTranslation } from "react-i18next"

const ConnectedStatus: React.FC = () => {
const styles = useStyles()
const { t } = useTranslation("workspacePage")

return (
<Tooltip title={DisplayAgentStatusLanguage.connected}>
<Tooltip title={t("agentStatus.connected")}>
<div
role="status"
aria-label={DisplayAgentStatusLanguage.connected}
aria-label={t("agentStatus.connected")}
className={combineClasses([styles.status, styles.connected])}
/>
</Tooltip>
Expand All @@ -21,12 +22,13 @@ const ConnectedStatus: React.FC = () => {

const DisconnectedStatus: React.FC = () => {
const styles = useStyles()
const { t } = useTranslation("workspacePage")

return (
<Tooltip title={DisplayAgentStatusLanguage.disconnected}>
<Tooltip title={t("agentStatus.disconnected")}>
<div
role="status"
aria-label={DisplayAgentStatusLanguage.disconnected}
aria-label={t("agentStatus.disconnected")}
className={combineClasses([styles.status, styles.disconnected])}
/>
</Tooltip>
Expand All @@ -35,12 +37,13 @@ const DisconnectedStatus: React.FC = () => {

const ConnectingStatus: React.FC = () => {
const styles = useStyles()
const { t } = useTranslation("workspacePage")

return (
<Tooltip title={DisplayAgentStatusLanguage.connecting}>
<Tooltip title={t("agentStatus.connecting")}>
<div
role="status"
aria-label={DisplayAgentStatusLanguage.connecting}
aria-label={t("agentStatus.connecting")}
className={combineClasses([styles.status, styles.connecting])}
/>
</Tooltip>
Expand Down
5 changes: 5 additions & 0 deletions site/src/i18n/en/workspacePage.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,10 @@
"canceling": "Canceling",
"deleted": "Deleted",
"pending": "Pending"
},
"agentStatus": {
"connected": "Connected",
"connecting": "Connecting...",
"disconnected": "Disconnected"
}
}
13 changes: 9 additions & 4 deletions site/src/pages/WorkspacePage/WorkspacePage.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import {
renderWithAuth,
} from "../../testHelpers/renderHelpers"
import { server } from "../../testHelpers/server"
import { DisplayAgentStatusLanguage } from "../../util/workspace"
import { WorkspacePage } from "./WorkspacePage"

const { t } = i18next
Expand Down Expand Up @@ -338,15 +337,21 @@ describe("WorkspacePage", () => {
)
expect(agent2Names.length).toEqual(2)
const agent1Status = await screen.findAllByLabelText(
DisplayAgentStatusLanguage[MockWorkspaceAgent.status],
t<string>(`agentStatus.${MockWorkspaceAgent.status}`, {
ns: "workspacePage",
}),
)
expect(agent1Status.length).toEqual(1)
const agentDisconnected = await screen.findAllByLabelText(
DisplayAgentStatusLanguage[MockWorkspaceAgentDisconnected.status],
t<string>(`agentStatus.${MockWorkspaceAgentDisconnected.status}`, {
ns: "workspacePage",
}),
)
expect(agentDisconnected.length).toEqual(1)
const agentConnecting = await screen.findAllByLabelText(
DisplayAgentStatusLanguage[MockWorkspaceAgentConnecting.status],
t<string>(`agentStatus.${MockWorkspaceAgentConnecting.status}`, {
ns: "workspacePage",
}),
)
expect(agentConnecting.length).toEqual(1)
expect(getTemplateMock).toBeCalled()
Expand Down
32 changes: 0 additions & 32 deletions site/src/util/workspace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,38 +104,6 @@ export const displayWorkspaceBuildDuration = (
return duration ? `${duration} seconds` : inProgressLabel
}

export const DisplayAgentStatusLanguage = {
connected: "Connected",
connecting: "Connecting...",
disconnected: "Disconnected",
}

export const getDisplayAgentStatus = (
theme: Theme,
agent: TypesGen.WorkspaceAgent,
): {
color: string
status: string
} => {
switch (agent.status) {
case "connected":
return {
color: theme.palette.success.main,
status: DisplayAgentStatusLanguage["connected"],
}
case "connecting":
return {
color: theme.palette.primary.main,
status: DisplayAgentStatusLanguage["connecting"],
}
case "disconnected":
return {
color: theme.palette.text.secondary,
status: DisplayAgentStatusLanguage["disconnected"],
}
}
}

export const getDisplayVersionStatus = (
agentVersion: string,
serverVersion: string,
Expand Down