mirror of
https://github.com/coder/coder.git
synced 2025-07-08 11:39:50 +00:00
refactor(site): add version back to workspace header (#10552)
This commit is contained in:
@ -191,7 +191,6 @@ export const Workspace: FC<React.PropsWithChildren<WorkspaceProps>> = ({
|
|||||||
quotaBudget={quotaBudget}
|
quotaBudget={quotaBudget}
|
||||||
handleUpdate={handleUpdate}
|
handleUpdate={handleUpdate}
|
||||||
canUpdateWorkspace={canUpdateWorkspace}
|
canUpdateWorkspace={canUpdateWorkspace}
|
||||||
canChangeVersions={canChangeVersions}
|
|
||||||
maxDeadlineDecrease={scheduleProps.maxDeadlineDecrease}
|
maxDeadlineDecrease={scheduleProps.maxDeadlineDecrease}
|
||||||
maxDeadlineIncrease={scheduleProps.maxDeadlineIncrease}
|
maxDeadlineIncrease={scheduleProps.maxDeadlineIncrease}
|
||||||
onDeadlineMinus={scheduleProps.onDeadlineMinus}
|
onDeadlineMinus={scheduleProps.onDeadlineMinus}
|
||||||
|
@ -7,11 +7,9 @@ import { Link as RouterLink } from "react-router-dom";
|
|||||||
import {
|
import {
|
||||||
getDisplayWorkspaceTemplateName,
|
getDisplayWorkspaceTemplateName,
|
||||||
isWorkspaceOn,
|
isWorkspaceOn,
|
||||||
workspaceUpdatePolicy,
|
|
||||||
} from "utils/workspace";
|
} from "utils/workspace";
|
||||||
import type { Workspace } from "api/typesGenerated";
|
import type { Workspace } from "api/typesGenerated";
|
||||||
import { Stats, StatsItem } from "components/Stats/Stats";
|
import { Stats, StatsItem } from "components/Stats/Stats";
|
||||||
import upperFirst from "lodash/upperFirst";
|
|
||||||
import { autostartDisplay, autostopDisplay } from "utils/schedule";
|
import { autostartDisplay, autostopDisplay } from "utils/schedule";
|
||||||
import IconButton from "@mui/material/IconButton";
|
import IconButton from "@mui/material/IconButton";
|
||||||
import RemoveIcon from "@mui/icons-material/RemoveOutlined";
|
import RemoveIcon from "@mui/icons-material/RemoveOutlined";
|
||||||
@ -26,12 +24,6 @@ import {
|
|||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
usePopover,
|
usePopover,
|
||||||
} from "components/Popover/Popover";
|
} from "components/Popover/Popover";
|
||||||
import { useTemplatePoliciesEnabled } from "components/Dashboard/DashboardProvider";
|
|
||||||
import {
|
|
||||||
HelpTooltip,
|
|
||||||
HelpTooltipText,
|
|
||||||
} from "components/HelpTooltip/HelpTooltip";
|
|
||||||
import { Stack } from "components/Stack/Stack";
|
|
||||||
|
|
||||||
const Language = {
|
const Language = {
|
||||||
workspaceDetails: "Workspace Details",
|
workspaceDetails: "Workspace Details",
|
||||||
@ -45,7 +37,6 @@ export interface WorkspaceStatsProps {
|
|||||||
maxDeadlineIncrease: number;
|
maxDeadlineIncrease: number;
|
||||||
maxDeadlineDecrease: number;
|
maxDeadlineDecrease: number;
|
||||||
canUpdateWorkspace: boolean;
|
canUpdateWorkspace: boolean;
|
||||||
canChangeVersions: boolean;
|
|
||||||
quotaBudget?: number;
|
quotaBudget?: number;
|
||||||
onDeadlinePlus: (hours: number) => void;
|
onDeadlinePlus: (hours: number) => void;
|
||||||
onDeadlineMinus: (hours: number) => void;
|
onDeadlineMinus: (hours: number) => void;
|
||||||
@ -58,7 +49,6 @@ export const WorkspaceStats: FC<WorkspaceStatsProps> = ({
|
|||||||
maxDeadlineDecrease,
|
maxDeadlineDecrease,
|
||||||
maxDeadlineIncrease,
|
maxDeadlineIncrease,
|
||||||
canUpdateWorkspace,
|
canUpdateWorkspace,
|
||||||
canChangeVersions,
|
|
||||||
handleUpdate,
|
handleUpdate,
|
||||||
onDeadlineMinus,
|
onDeadlineMinus,
|
||||||
onDeadlinePlus,
|
onDeadlinePlus,
|
||||||
@ -66,7 +56,6 @@ export const WorkspaceStats: FC<WorkspaceStatsProps> = ({
|
|||||||
const displayTemplateName = getDisplayWorkspaceTemplateName(workspace);
|
const displayTemplateName = getDisplayWorkspaceTemplateName(workspace);
|
||||||
const deadlinePlusEnabled = maxDeadlineIncrease >= 1;
|
const deadlinePlusEnabled = maxDeadlineIncrease >= 1;
|
||||||
const deadlineMinusEnabled = maxDeadlineDecrease >= 1;
|
const deadlineMinusEnabled = maxDeadlineDecrease >= 1;
|
||||||
const templatePoliciesEnabled = useTemplatePoliciesEnabled();
|
|
||||||
|
|
||||||
const paperStyles = css`
|
const paperStyles = css`
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
@ -91,12 +80,25 @@ export const WorkspaceStats: FC<WorkspaceStatsProps> = ({
|
|||||||
css={styles.statsItem}
|
css={styles.statsItem}
|
||||||
label={Language.templateLabel}
|
label={Language.templateLabel}
|
||||||
value={
|
value={
|
||||||
<div css={{ display: "flex", alignItems: "center", gap: 2 }}>
|
<Link
|
||||||
|
component={RouterLink}
|
||||||
|
to={`/templates/${workspace.template_name}`}
|
||||||
|
>
|
||||||
|
{displayTemplateName}
|
||||||
|
</Link>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<StatsItem
|
||||||
|
css={styles.statsItem}
|
||||||
|
label="Version"
|
||||||
|
value={
|
||||||
|
<>
|
||||||
<Link
|
<Link
|
||||||
component={RouterLink}
|
component={RouterLink}
|
||||||
to={`/templates/${workspace.template_name}`}
|
to={`/templates/${workspace.template_name}/versions/${workspace.latest_build.template_version_name}`}
|
||||||
>
|
>
|
||||||
{displayTemplateName}
|
{workspace.latest_build.template_version_name}
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
{workspace.outdated && (
|
{workspace.outdated && (
|
||||||
@ -107,7 +109,7 @@ export const WorkspaceStats: FC<WorkspaceStatsProps> = ({
|
|||||||
ariaLabel="update version"
|
ariaLabel="update version"
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</div>
|
</>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@ -187,27 +189,6 @@ export const WorkspaceStats: FC<WorkspaceStatsProps> = ({
|
|||||||
}`}
|
}`}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{templatePoliciesEnabled && (
|
|
||||||
<Stack direction="row" spacing={0.5}>
|
|
||||||
<StatsItem
|
|
||||||
css={styles.statsItem}
|
|
||||||
label={Language.updatePolicy}
|
|
||||||
value={upperFirst(
|
|
||||||
workspaceUpdatePolicy(workspace, canChangeVersions),
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
{workspace.automatic_updates === "never" &&
|
|
||||||
workspace.template_require_active_version &&
|
|
||||||
!canChangeVersions && (
|
|
||||||
<HelpTooltip>
|
|
||||||
<HelpTooltipText>
|
|
||||||
Your workspace has not opted in to automatic updates but
|
|
||||||
your template requires updating to the active version.
|
|
||||||
</HelpTooltipText>
|
|
||||||
</HelpTooltip>
|
|
||||||
)}
|
|
||||||
</Stack>
|
|
||||||
)}
|
|
||||||
</Stats>
|
</Stats>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user