Skip to content

Commit 6f0ee1d

Browse files
committed
chore: remove local storage based optin/optout
1 parent 8d64a37 commit 6f0ee1d

File tree

10 files changed

+23
-213
lines changed

10 files changed

+23
-213
lines changed

site/src/modules/workspaces/DynamicParameter/useDynamicParametersOptOut.ts

Lines changed: 0 additions & 37 deletions
This file was deleted.

site/src/modules/workspaces/WorkspaceMoreActions/WorkspaceMoreActions.tsx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import {
2121
SettingsIcon,
2222
TrashIcon,
2323
} from "lucide-react";
24-
import { useDynamicParametersOptOut } from "modules/workspaces/DynamicParameter/useDynamicParametersOptOut";
2524
import { type FC, useEffect, useState } from "react";
2625
import { useMutation, useQuery, useQueryClient } from "react-query";
2726
import { Link as RouterLink } from "react-router-dom";
@@ -43,13 +42,6 @@ export const WorkspaceMoreActions: FC<WorkspaceMoreActionsProps> = ({
4342
}) => {
4443
const queryClient = useQueryClient();
4544

46-
const optOutQuery = useDynamicParametersOptOut({
47-
templateId: workspace.template_id,
48-
templateUsesClassicParameters:
49-
workspace.template_use_classic_parameter_flow,
50-
enabled: true,
51-
});
52-
5345
// Permissions
5446
const { data: permissions } = useQuery(workspacePermissions(workspace));
5547

@@ -59,7 +51,11 @@ export const WorkspaceMoreActions: FC<WorkspaceMoreActionsProps> = ({
5951
// Change version
6052
const [changeVersionDialogOpen, setChangeVersionDialogOpen] = useState(false);
6153
const changeVersionMutation = useMutation(
62-
changeVersion(workspace, queryClient, optOutQuery.data?.optedOut === false),
54+
changeVersion(
55+
workspace,
56+
queryClient,
57+
!workspace.template_use_classic_parameter_flow,
58+
),
6359
);
6460

6561
// Delete
@@ -151,7 +147,7 @@ export const WorkspaceMoreActions: FC<WorkspaceMoreActionsProps> = ({
151147
onClose={() => setIsDownloadDialogOpen(false)}
152148
/>
153149

154-
{optOutQuery.data?.optedOut ? (
150+
{workspace.template_use_classic_parameter_flow ? (
155151
<UpdateBuildParametersDialog
156152
missedParameters={
157153
changeVersionMutation.error instanceof MissingBuildParameters

site/src/modules/workspaces/WorkspaceUpdateDialogs.tsx

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,8 @@ import type {
66
WorkspaceBuild,
77
WorkspaceBuildParameter,
88
} from "api/typesGenerated";
9-
import { ErrorAlert } from "components/Alert/ErrorAlert";
109
import { ConfirmDialog } from "components/Dialogs/ConfirmDialog/ConfirmDialog";
11-
import { Loader } from "components/Loader/Loader";
1210
import { MemoizedInlineMarkdown } from "components/Markdown/Markdown";
13-
import { useDynamicParametersOptOut } from "modules/workspaces/DynamicParameter/useDynamicParametersOptOut";
1411
import { UpdateBuildParametersDialog } from "modules/workspaces/WorkspaceMoreActions/UpdateBuildParametersDialog";
1512
import { UpdateBuildParametersDialogExperimental } from "modules/workspaces/WorkspaceMoreActions/UpdateBuildParametersDialogExperimental";
1613
import { type FC, useState } from "react";
@@ -55,17 +52,10 @@ export const useWorkspaceUpdate = ({
5552
setIsConfirmingUpdate(true);
5653
};
5754

58-
const optOutQuery = useDynamicParametersOptOut({
59-
templateId: workspace.template_id,
60-
templateUsesClassicParameters:
61-
workspace.template_use_classic_parameter_flow,
62-
enabled: true,
63-
});
64-
6555
const confirmUpdate = (buildParameters: WorkspaceBuildParameter[] = []) => {
6656
updateWorkspaceMutation.mutate({
6757
buildParameters,
68-
isDynamicParametersEnabled: optOutQuery.data?.optedOut === false,
58+
isDynamicParametersEnabled: workspace.template_use_classic_parameter_flow,
6959
});
7060
setIsConfirmingUpdate(false);
7161
};
@@ -160,29 +150,13 @@ const MissingBuildParametersDialog: FC<MissingBuildParametersDialogProps> = ({
160150
error,
161151
...dialogProps
162152
}) => {
163-
const optOutQuery = useDynamicParametersOptOut({
164-
templateId: workspace.template_id,
165-
templateUsesClassicParameters:
166-
workspace.template_use_classic_parameter_flow,
167-
enabled: true,
168-
});
169-
170153
const missedParameters =
171154
error instanceof MissingBuildParameters ? error.parameters : [];
172155
const versionId =
173156
error instanceof MissingBuildParameters ? error.versionId : undefined;
174157
const isOpen = error instanceof MissingBuildParameters;
175158

176-
if (optOutQuery.isError) {
177-
return <ErrorAlert error={optOutQuery.error} />;
178-
}
179-
if (!optOutQuery.data) {
180-
return <Loader />;
181-
}
182-
183-
const shouldUseClassicDialog = optOutQuery.data?.optedOut;
184-
185-
return shouldUseClassicDialog ? (
159+
return workspace.template_use_classic_parameter_flow ? (
186160
<UpdateBuildParametersDialog
187161
missedParameters={missedParameters}
188162
open={isOpen}

site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
import { templateByName } from "api/queries/templates";
22
import { ErrorAlert } from "components/Alert/ErrorAlert";
33
import { Loader } from "components/Loader/Loader";
4-
import {
5-
optOutKey,
6-
useDynamicParametersOptOut,
7-
} from "modules/workspaces/DynamicParameter/useDynamicParametersOptOut";
84
import type { FC } from "react";
95
import { useQuery } from "react-query";
106
import { useParams } from "react-router-dom";
117
import CreateWorkspacePage from "./CreateWorkspacePage";
128
import CreateWorkspacePageExperimental from "./CreateWorkspacePageExperimental";
13-
import { ExperimentalFormContext } from "./ExperimentalFormContext";
149

1510
const CreateWorkspaceExperimentRouter: FC = () => {
1611
const { organization: organizationName = "default", template: templateName } =
@@ -19,43 +14,21 @@ const CreateWorkspaceExperimentRouter: FC = () => {
1914
templateByName(organizationName, templateName),
2015
);
2116

22-
const optOutQuery = useDynamicParametersOptOut({
23-
templateId: templateQuery.data?.id,
24-
templateUsesClassicParameters:
25-
templateQuery.data?.use_classic_parameter_flow,
26-
enabled: !!templateQuery.data,
27-
});
28-
2917
if (templateQuery.isError) {
3018
return <ErrorAlert error={templateQuery.error} />;
3119
}
32-
if (optOutQuery.isError) {
33-
return <ErrorAlert error={optOutQuery.error} />;
34-
}
35-
if (!optOutQuery.data) {
20+
if (!templateQuery.data) {
3621
return <Loader />;
3722
}
3823

39-
const toggleOptedOut = () => {
40-
const key = optOutKey(optOutQuery.data?.templateId ?? "");
41-
const storedValue = localStorage.getItem(key);
42-
43-
const current = storedValue
44-
? storedValue === "true"
45-
: Boolean(templateQuery.data?.use_classic_parameter_flow);
46-
47-
localStorage.setItem(key, (!current).toString());
48-
optOutQuery.refetch();
49-
};
50-
5124
return (
52-
<ExperimentalFormContext.Provider value={{ toggleOptedOut }}>
53-
{optOutQuery.data.optedOut ? (
25+
<>
26+
{templateQuery.data?.use_classic_parameter_flow ? (
5427
<CreateWorkspacePage />
5528
) : (
5629
<CreateWorkspacePageExperimental />
5730
)}
58-
</ExperimentalFormContext.Provider>
31+
</>
5932
);
6033
};
6134

site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,7 @@ import { Switch } from "components/Switch/Switch";
2828
import { UserAutocomplete } from "components/UserAutocomplete/UserAutocomplete";
2929
import { type FormikContextType, useFormik } from "formik";
3030
import { generateWorkspaceName } from "modules/workspaces/generateWorkspaceName";
31-
import {
32-
type FC,
33-
useCallback,
34-
useContext,
35-
useEffect,
36-
useMemo,
37-
useState,
38-
} from "react";
31+
import { type FC, useCallback, useEffect, useMemo, useState } from "react";
3932
import {
4033
getFormHelpers,
4134
nameValidator,
@@ -51,7 +44,6 @@ import type {
5144
CreateWorkspaceMode,
5245
ExternalAuthPollingState,
5346
} from "./CreateWorkspacePage";
54-
import { ExperimentalFormContext } from "./ExperimentalFormContext";
5547
import { ExternalAuthButton } from "./ExternalAuthButton";
5648
import type { CreateWorkspacePermissions } from "./permissions";
5749

@@ -106,7 +98,6 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
10698
onSubmit,
10799
onCancel,
108100
}) => {
109-
const experimentalFormContext = useContext(ExperimentalFormContext);
110101
const [owner, setOwner] = useState(defaultOwner);
111102
const [suggestedName, setSuggestedName] = useState(() =>
112103
generateWorkspaceName(),
@@ -220,20 +211,9 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
220211
<Margins size="medium">
221212
<PageHeader
222213
actions={
223-
<>
224-
{experimentalFormContext && (
225-
<Button
226-
size="sm"
227-
variant="outline"
228-
onClick={experimentalFormContext.toggleOptedOut}
229-
>
230-
Try out the new workspace creation flow ✨
231-
</Button>
232-
)}
233-
<Button size="sm" variant="outline" onClick={onCancel}>
234-
Cancel
235-
</Button>
236-
</>
214+
<Button size="sm" variant="outline" onClick={onCancel}>
215+
Cancel
216+
</Button>
237217
}
238218
>
239219
<Stack direction="row">

site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {
2626
} from "components/Tooltip/Tooltip";
2727
import { UserAutocomplete } from "components/UserAutocomplete/UserAutocomplete";
2828
import { type FormikContextType, useFormik } from "formik";
29-
import { ArrowLeft, CircleHelp, Undo2 } from "lucide-react";
29+
import { ArrowLeft, CircleHelp } from "lucide-react";
3030
import { useSyncFormParameters } from "modules/hooks/useSyncFormParameters";
3131
import { Diagnostics } from "modules/workspaces/DynamicParameter/DynamicParameter";
3232
import {
@@ -38,7 +38,6 @@ import { generateWorkspaceName } from "modules/workspaces/generateWorkspaceName"
3838
import {
3939
type FC,
4040
useCallback,
41-
useContext,
4241
useEffect,
4342
useId,
4443
useRef,
@@ -52,7 +51,6 @@ import type {
5251
CreateWorkspaceMode,
5352
ExternalAuthPollingState,
5453
} from "./CreateWorkspacePage";
55-
import { ExperimentalFormContext } from "./ExperimentalFormContext";
5654
import { ExternalAuthButton } from "./ExternalAuthButton";
5755
import type { CreateWorkspacePermissions } from "./permissions";
5856

@@ -112,7 +110,6 @@ export const CreateWorkspacePageViewExperimental: FC<
112110
owner,
113111
setOwner,
114112
}) => {
115-
const experimentalFormContext = useContext(ExperimentalFormContext);
116113
const [suggestedName, setSuggestedName] = useState(() =>
117114
generateWorkspaceName(),
118115
);
@@ -372,16 +369,6 @@ export const CreateWorkspacePageViewExperimental: FC<
372369
</Badge>
373370
)}
374371
</span>
375-
{experimentalFormContext && (
376-
<Button
377-
size="sm"
378-
variant="outline"
379-
onClick={experimentalFormContext.toggleOptedOut}
380-
>
381-
<Undo2 />
382-
Classic workspace creation
383-
</Button>
384-
)}
385372
</div>
386373
<span className="flex flex-row items-center gap-2">
387374
<h1 className="text-3xl font-semibold m-0">New workspace</h1>

site/src/pages/CreateWorkspacePage/ExperimentalFormContext.tsx

Lines changed: 0 additions & 5 deletions
This file was deleted.

site/src/pages/WorkspaceSettingsPage/WorkspaceParametersPage/WorkspaceParametersExperimentRouter.tsx

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,19 @@
1-
import { ErrorAlert } from "components/Alert/ErrorAlert";
2-
import { Loader } from "components/Loader/Loader";
3-
import {
4-
optOutKey,
5-
useDynamicParametersOptOut,
6-
} from "modules/workspaces/DynamicParameter/useDynamicParametersOptOut";
71
import type { FC } from "react";
8-
import { ExperimentalFormContext } from "../../CreateWorkspacePage/ExperimentalFormContext";
92
import { useWorkspaceSettings } from "../WorkspaceSettingsLayout";
103
import WorkspaceParametersPage from "./WorkspaceParametersPage";
114
import WorkspaceParametersPageExperimental from "./WorkspaceParametersPageExperimental";
125

136
const WorkspaceParametersExperimentRouter: FC = () => {
147
const workspace = useWorkspaceSettings();
158

16-
const optOutQuery = useDynamicParametersOptOut({
17-
templateId: workspace.template_id,
18-
templateUsesClassicParameters:
19-
workspace.template_use_classic_parameter_flow,
20-
enabled: true,
21-
});
22-
23-
if (optOutQuery.isError) {
24-
return <ErrorAlert error={optOutQuery.error} />;
25-
}
26-
if (!optOutQuery.data) {
27-
return <Loader />;
28-
}
29-
30-
const toggleOptedOut = () => {
31-
const key = optOutKey(optOutQuery.data.templateId);
32-
const storedValue = localStorage.getItem(key);
33-
34-
const current = storedValue
35-
? storedValue === "true"
36-
: Boolean(workspace.template_use_classic_parameter_flow);
37-
38-
localStorage.setItem(key, (!current).toString());
39-
optOutQuery.refetch();
40-
};
41-
429
return (
43-
<ExperimentalFormContext.Provider value={{ toggleOptedOut }}>
44-
{optOutQuery.data.optedOut ? (
10+
<>
11+
{workspace.template_use_classic_parameter_flow ? (
4512
<WorkspaceParametersPage />
4613
) : (
4714
<WorkspaceParametersPageExperimental />
4815
)}
49-
</ExperimentalFormContext.Provider>
16+
</>
5017
);
5118
};
5219

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