Skip to content

Commit 3618c5d

Browse files
committed
licensing and feature flagging
1 parent 1255b07 commit 3618c5d

File tree

4 files changed

+25
-38
lines changed

4 files changed

+25
-38
lines changed

site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.stories.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
MockStartingWorkspace,
1010
MockStoppedWorkspace,
1111
MockStoppingWorkspace,
12-
MockWorkspaceImpendingDeletion,
1312
MockWorkspace,
1413
} from "testHelpers/entities"
1514
import {
@@ -75,8 +74,3 @@ export const Pending = Template.bind({})
7574
Pending.args = {
7675
workspace: MockPendingWorkspace,
7776
}
78-
79-
export const ImpendingDeletion = Template.bind({})
80-
ImpendingDeletion.args = {
81-
workspace: MockWorkspaceImpendingDeletion,
82-
}

site/src/components/WorkspaceStatusBadge/WorkspaceStatusBadge.tsx

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { FC, PropsWithChildren } from "react"
1010
import { makeStyles } from "@mui/styles"
1111
import { combineClasses } from "utils/combineClasses"
1212
import { displayImpendingDeletion } from "utils/workspace"
13+
import { useDashboard } from "components/Dashboard/DashboardProvider"
1314

1415
const LoadingIcon: FC = () => {
1516
return <CircularProgress size={10} style={{ color: "#FFF" }} />
@@ -92,18 +93,34 @@ export type WorkspaceStatusBadgeProps = {
9293
className?: string
9394
}
9495

96+
const ImpendingDeletionBadge: FC<
97+
PropsWithChildren<Partial<WorkspaceStatusBadgeProps>>
98+
> = ({ className }) => {
99+
const { entitlements, experiments } = useDashboard()
100+
const allowAdvancedScheduling =
101+
entitlements.features["advanced_template_scheduling"].enabled
102+
// This check can be removed when https://github.com/coder/coder/milestone/19
103+
// is merged up
104+
const allowWorkspaceActions = experiments.includes("workspace_actions")
105+
106+
if (!allowAdvancedScheduling || !allowWorkspaceActions) {
107+
return null
108+
}
109+
return (
110+
<Pill
111+
className={className}
112+
icon={<ErrorIcon />}
113+
text="Impending deletion"
114+
type="error"
115+
/>
116+
)
117+
}
118+
95119
export const WorkspaceStatusBadge: FC<
96120
PropsWithChildren<WorkspaceStatusBadgeProps>
97121
> = ({ workspace, className }) => {
98122
if (displayImpendingDeletion(workspace)) {
99-
return (
100-
<Pill
101-
className={className}
102-
icon={<ErrorIcon />}
103-
text="Impending deletion"
104-
type="error"
105-
/>
106-
)
123+
return <ImpendingDeletionBadge className={className} />
107124
}
108125

109126
const { text, icon, type } = getStatus(workspace.latest_build.status)

site/src/testHelpers/entities.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -806,12 +806,6 @@ export const MockPendingWorkspace: TypesGen.Workspace = {
806806
},
807807
}
808808

809-
export const MockWorkspaceImpendingDeletion: TypesGen.Workspace = {
810-
...MockWorkspace,
811-
id: "test-workspace-impending-deletion",
812-
deleting_at: new Date().toISOString(),
813-
}
814-
815809
// just over one page of workspaces
816810
export const MockWorkspacesResponse: TypesGen.WorkspacesResponse = {
817811
workspaces: range(1, 27).map((id: number) => ({

site/src/utils/workspace.ts

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -202,24 +202,6 @@ export const displayImpendingDeletion = (workspace: TypesGen.Workspace) => {
202202
if (!workspace.deleting_at) {
203203
return false
204204
}
205-
206-
console.log("today", today)
207-
console.log("workspace.deletingAt", new Date(workspace.deleting_at))
208-
console.log(
209-
"set",
210-
new Date(
211-
today.setDate(today.getDate() - IMPENDING_DELETION_DISPLAY_THRESHOLD),
212-
),
213-
)
214-
215-
console.log(
216-
"compare",
217-
new Date(workspace.deleting_at) <=
218-
new Date(
219-
today.setDate(today.getDate() + IMPENDING_DELETION_DISPLAY_THRESHOLD),
220-
),
221-
)
222-
223205
return (
224206
new Date(workspace.deleting_at) <=
225207
new Date(

0 commit comments

Comments
 (0)