diff --git a/site/src/pages/WorkspacePage/WorkspaceStats.tsx b/site/src/pages/WorkspacePage/WorkspaceStats.tsx index d02bc78ef3eb1..923f9aa44facb 100644 --- a/site/src/pages/WorkspacePage/WorkspaceStats.tsx +++ b/site/src/pages/WorkspacePage/WorkspaceStats.tsx @@ -110,7 +110,7 @@ export const WorkspaceStats: FC = ({ {shouldDisplayScheduleLabel(workspace) && ( {isWorkspaceOn(workspace) ? ( @@ -335,21 +335,25 @@ const ScheduleSettingsLink = forwardRef( }, ); +const hasDeadline = (workspace: Workspace): boolean => { + return Boolean(workspace.latest_build.deadline); +}; + +const hasAutoStart = (workspace: Workspace): boolean => { + return Boolean(workspace.autostart_schedule); +}; + export const canEditDeadline = (workspace: Workspace): boolean => { - return isWorkspaceOn(workspace) && Boolean(workspace.latest_build.deadline); + return isWorkspaceOn(workspace) && hasDeadline(workspace); }; export const shouldDisplayScheduleLabel = (workspace: Workspace): boolean => { - if (canEditDeadline(workspace)) { - return true; - } - if (isWorkspaceOn(workspace)) { - return false; - } - return Boolean(workspace.autostart_schedule); + const willAutoStop = isWorkspaceOn(workspace) && hasDeadline(workspace); + const willAutoStart = !isWorkspaceOn(workspace) && hasAutoStart(workspace); + return willAutoStop || willAutoStart; }; -const getScheduleLabel = (workspace: Workspace) => { +const scheduleLabel = (workspace: Workspace) => { return isWorkspaceOn(workspace) ? "Stops" : "Starts at"; };