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<TemplateEmbedPageViewProps> = ({
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy