diff --git a/site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.stories.tsx b/site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.stories.tsx
index be1aad94e0..b98b10f437 100644
--- a/site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.stories.tsx
+++ b/site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.stories.tsx
@@ -9,7 +9,6 @@ import {
MockStartingWorkspace,
MockStoppedWorkspace,
MockStoppingWorkspace,
- MockWorkspaceImpendingDeletion,
MockWorkspace,
} from "testHelpers/entities"
import {
@@ -75,8 +74,3 @@ export const Pending = Template.bind({})
Pending.args = {
workspace: MockPendingWorkspace,
}
-
-export const ImpendingDeletion = Template.bind({})
-ImpendingDeletion.args = {
- workspace: MockWorkspaceImpendingDeletion,
-}
diff --git a/site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.tsx b/site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.tsx
index 0768173cd4..368110b872 100644
--- a/site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.tsx
+++ b/site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.tsx
@@ -10,6 +10,7 @@ import { FC, PropsWithChildren } from "react"
import { makeStyles } from "@mui/styles"
import { combineClasses } from "utils/combineClasses"
import { displayImpendingDeletion } from "utils/workspace"
+import { useDashboard } from "components/Dashboard/DashboardProvider"
const LoadingIcon: FC = () => {
return
@@ -92,18 +93,34 @@ export type WorkspaceStatusBadgeProps = {
className?: string
}
+const ImpendingDeletionBadge: FC<
+ PropsWithChildren>
+> = ({ className }) => {
+ const { entitlements, experiments } = useDashboard()
+ const allowAdvancedScheduling =
+ entitlements.features["advanced_template_scheduling"].enabled
+ // This check can be removed when https://github.com/coder/coder/milestone/19
+ // is merged up
+ const allowWorkspaceActions = experiments.includes("workspace_actions")
+
+ if (!allowAdvancedScheduling || !allowWorkspaceActions) {
+ return null
+ }
+ return (
+ }
+ text="Impending deletion"
+ type="error"
+ />
+ )
+}
+
export const WorkspaceStatusBadge: FC<
PropsWithChildren
> = ({ workspace, className }) => {
if (displayImpendingDeletion(workspace)) {
- return (
- }
- text="Impending deletion"
- type="error"
- />
- )
+ return
}
const { text, icon, type } = getStatus(workspace.latest_build.status)
diff --git a/site/src/testHelpers/entities.ts b/site/src/testHelpers/entities.ts
index 9df3cc527e..c9458a79af 100644
--- a/site/src/testHelpers/entities.ts
+++ b/site/src/testHelpers/entities.ts
@@ -806,12 +806,6 @@ export const MockPendingWorkspace: TypesGen.Workspace = {
},
}
-export const MockWorkspaceImpendingDeletion: TypesGen.Workspace = {
- ...MockWorkspace,
- id: "test-workspace-impending-deletion",
- deleting_at: new Date().toISOString(),
-}
-
// just over one page of workspaces
export const MockWorkspacesResponse: TypesGen.WorkspacesResponse = {
workspaces: range(1, 27).map((id: number) => ({
diff --git a/site/src/utils/workspace.ts b/site/src/utils/workspace.ts
index 5e101209a7..44bd1e6c9c 100644
--- a/site/src/utils/workspace.ts
+++ b/site/src/utils/workspace.ts
@@ -202,24 +202,6 @@ export const displayImpendingDeletion = (workspace: TypesGen.Workspace) => {
if (!workspace.deleting_at) {
return false
}
-
- console.log("today", today)
- console.log("workspace.deletingAt", new Date(workspace.deleting_at))
- console.log(
- "set",
- new Date(
- today.setDate(today.getDate() - IMPENDING_DELETION_DISPLAY_THRESHOLD),
- ),
- )
-
- console.log(
- "compare",
- new Date(workspace.deleting_at) <=
- new Date(
- today.setDate(today.getDate() + IMPENDING_DELETION_DISPLAY_THRESHOLD),
- ),
- )
-
return (
new Date(workspace.deleting_at) <=
new Date(