8000 fix: remove usages of experimentalFormContext · coder/coder@a513a4d · GitHub
[go: up one dir, main page]

Skip to content

Commit a513a4d

Browse files
committed
fix: remove usages of experimentalFormContext
1 parent 71d0a19 commit a513a4d

File tree

3 files changed

+16
-101
lines changed

3 files changed

+16
-101
lines changed
Lines changed: 15 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,35 @@
11
import { templateByName } from "api/queries/templates";
22
import { ErrorAlert } from "components/Alert/ErrorAlert";
33
import { Loader } from "components/Loader/Loader";
4-
import { useDashboard } from "modules/dashboard/useDashboard";
5-
import { ExperimentalFormContext } from "pages/CreateWorkspacePage/ExperimentalFormContext";
64
import type { FC } from "react";
75
import { useQuery } from "react-query";
86
import { useParams } from "react-router-dom";
97
import TemplateEmbedPage from "./TemplateEmbedPage";
108
import TemplateEmbedPageExperimental from "./TemplateEmbedPageExperimental";
119

1210
const TemplateEmbedExperimentRouter: FC = () => {
13-
const { experiments } = useDashboard();
14-
const dynamicParametersEnabled = experiments.includes("dynamic-parameters");
15-
1611
const { organization: organizationName = "default", template: templateName } =
1712
useParams() as { organization?: string; template: string };
1813
const templateQuery = useQuery(
19-
dynamicParametersEnabled
20-
? templateByName(organizationName, templateName)
21-
: { enabled: false },
22-
);
23-
24-
const optOutQuery = useQuery(
25-
templateQuery.data
26-
? {
27-
queryKey: [
28-
organizationName,
29-
"template",
30-
templateQuery.data.id,
31-
"optOut",
32-
],
33-
queryFn: () => {
34-
const templateId = templateQuery.data.id;
35-
const localStorageKey = optOutKey(templateId);
36-
const storedOptOutString = localStorage.getItem(localStorageKey);
37-
38-
let optOutResult: boolean;
39-
40-
if (storedOptOutString !== null) {
41-
optOutResult = storedOptOutString === "true";
42-
} else {
43-
optOutResult = Boolean(
44-
templateQuery.data.use_classic_parameter_flow,
45-
);
46-
}
47-
48-
return {
49-
templateId: templateId,
50-
optedOut: optOutResult,
51-
};
52-
},
53-
}
54-
: { enabled: false },
14+
templateByName(organizationName, templateName),
5515
);
5616

57-
if (dynamicParametersEnabled) {
58-
if (optOutQuery.isLoading) {
59-
return <Loader />;
60-
}
61-
if (!optOutQuery.data) {
62-
return <ErrorAlert error={optOutQuery.error} />;
63-
}
64-
65-
const toggleOptedOut = () => {
66-
const key = optOutKey(optOutQuery.data.templateId);
67-
const storedValue = localStorage.getItem(key);
68-
69-
const current = storedValue
70-
? storedValue === "true"
71-
: Boolean(templateQuery.data?.use_classic_parameter_flow);
72-
73-
localStorage.setItem(key, (!current).toString());
74-
optOutQuery.refetch();
75-
};
76-
return (
77-
<ExperimentalFormContext.Provider value={{ toggleOptedOut }}>
78-
{optOutQuery.data.optedOut ? (
79-
<TemplateEmbedPage />
80-
) : (
81-
<TemplateEmbedPageExperimental />
82-
)}
83-
</ExperimentalFormContext.Provider>
84-
);
17+
if (templateQuery.isError) {
18+
return <ErrorAlert error={templateQuery.error} />;
19+
}
20+
if (!templateQuery.data) {
21+
return <Loader />;
8522
}
8623

87-
return <TemplateEmbedPage />;
24+
return (
25+
<>
26+
{templateQuery.data?.use_classic_parameter_flow ? (
27+
<TemplateEmbedPage />
28+
) : (
29+
<TemplateEmbedPageExperimental />
30+
)}
31+
</>
32+
);
8833
};
8934

9035
export default TemplateEmbedExperimentRouter;
91-
92-
const optOutKey = (id: string) => `parameters.${id}.optOut`;

site/src/pages/TemplatePage/TemplateEmbedPage/TemplateEmbedPage.tsx

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,18 @@ import Radio from "@mui/material/Radio";
44
import RadioGroup from "@mui/material/RadioGroup";
55
import { API } from "api/api";
66
import type { Template, TemplateVersionParameter } from "api/typesGenerated";
7-
import { Button as ShadcnButton } from "components/Button/Button";
87
import { FormSection, VerticalForm } from "components/Form/Form";
98
import { Loader } from "components/Loader/Loader";
109
import { RichParameterInput } from "components/RichParameterInput/RichParameterInput";
1110
import { useClipboard } from "hooks/useClipboard";
1211
import { CheckIcon, CopyIcon } from "lucide-react";
1312
import { useTemplateLayoutContext } from "pages/TemplatePage/TemplateLayout";
14-
import { type FC, useContext, useEffect, useState } from "react";
13+
import { type FC, useEffect, useState } from "react";
1514
import { Helmet } from "react-helmet-async";
1615
import { useQuery } from "react-query";
1716
import { pageTitle } from "utils/page";
1817
import { getInitialRichParameterValues } from "utils/richParameters";
1918
import { paramsUsedToCreateWorkspace } from "utils/workspace";
20-
import { ExperimentalFormContext } from "../../CreateWorkspacePage/ExperimentalFormContext";
2119

2220
type ButtonValues = Record<string, string>;
2321

@@ -66,7 +64,6 @@ export const TemplateEmbedPageView: FC<TemplateEmbedPageViewProps> = ({
6664
template,
6765
templateParameters,
6866
}) => {
69-
const experimentalFormContext = useContext(ExperimentalFormContext);
7067
const [buttonValues, setButtonValues] = useState<ButtonValues | undefined>();
7168
const clipboard = useClipboard({
7269
textToCopy: getClipboardCopyContent(
@@ -102,17 +99,6 @@ export const TemplateEmbedPageView: FC<Te 870 mplateEmbedPageViewProps> = ({
10299
) : (
103100
<div className="flex items-start gap-12">
104101
<div className="max-w-3xl">
105-
{experimentalFormContext && (
106-
<div className="mb-4">
107-
<ShadcnButton
108-
size="sm"
109-
variant="outline"
110-
onClick={experimentalFormContext.toggleOptedOut}
111-
>
112-
Try out the new workspace creation flow ✨
113-
</ShadcnButton>
114-
</div>
115-
)}
116102
<VerticalForm>
117103
<FormSection
118104
title="Creation mode"

site/src/pages/TemplatePage/TemplateEmbedPage/TemplateEmbedPageExperimental.tsx

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@ import {
2323
Diagnostics,
2424
DynamicParameter,
2525
} from "modules/workspaces/DynamicParameter/DynamicParameter";
26-
import { ExperimentalFormContext } from "pages/CreateWorkspacePage/ExperimentalFormContext";
2726
import { useTemplateLayoutContext } from "pages/TemplatePage/TemplateLayout";
2827
import {
2928
type FC,
3029
useCallback,
31-
useContext,
3230
useEffect,
3331
useMemo,
3432
useRef,
@@ -141,7 +139,6 @@ const TemplateEmbedPageView: FC<TemplateEmbedPageViewProps> = ({
141139
error,
142140
sendMessage,
143141
}) => {
144-
const experimentalFormContext = useContext(ExperimentalFormContext);
145142
const [buttonValues, setButtonValues] = useState<ButtonValues | undefined>();
146143
const [localParameters, setLocalParameters] = useState<
147144
Record<string, string>
@@ -205,17 +202,6 @@ const TemplateEmbedPageView: FC<TemplateEmbedPageViewProps> = ({
205202
<>
206203
<div className="flex items-start gap-12">
207204
<div className="flex flex-col gap-5 max-w-screen-md">
208-
{experimentalFormContext && (
209-
<div>
210-
<Button
211-
size="sm"
212-
variant="outline"
213-
onClick={experimentalFormContext.toggleOptedOut}
214-
>
215-
Go back to the classic template embed flow
216-
</Button>
217-
</div>
218-
)}
219205
{Boolean(error) && <ErrorAlert error={error} />}
220206
{diagnostics.length > 0 && <Diagnostics diagnostics={diagnostics} />}
221207
<div className="flex flex-col">

0 commit comments

Comments
 (0)
0