refactor(site): add version back to workspace header (#10552)

This commit is contained in:
Bruno Quaresma
2023-11-06 15:46:16 -03:00
committed by GitHub
parent a9797fa391
commit 14925e71a7
2 changed files with 17 additions and 37 deletions

View File

@ -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}

View File

@ -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,13 +80,26 @@ 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 <Link
component={RouterLink} component={RouterLink}
to={`/templates/${workspace.template_name}`} to={`/templates/${workspace.template_name}`}
> >
{displayTemplateName} {displayTemplateName}
</Link> </Link>
}
/>
<StatsItem
css={styles.statsItem}
label="Version"
value={
<>
<Link
component={RouterLink}
to={`/templates/${workspace.template_name}/versions/${workspace.latest_build.template_version_name}`}
>
{workspace.latest_build.template_version_name}
</Link>
{workspace.outdated && ( {workspace.outdated && (
<WorkspaceOutdatedTooltip <WorkspaceOutdatedTooltip
@ -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>
</> </>
); );