diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx index 3ebc194cc61b0..1652fb65218f2 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx @@ -30,11 +30,26 @@ const CreateWorkspaceExperimentRouter: FC = () => { templateQuery.data.id, "optOut", ], - queryFn: () => ({ - templateId: templateQuery.data.id, - optedOut: - localStorage.getItem(optOutKey(templateQuery.data.id)) === "true", - }), + queryFn: () => { + const templateId = templateQuery.data.id; + const localStorageKey = optOutKey(templateId); + const storedOptOutString = localStorage.getItem(localStorageKey); + + let optOutResult: boolean; + + if (storedOptOutString !== null) { + optOutResult = storedOptOutString === "true"; + } else { + optOutResult = Boolean( + templateQuery.data.use_classic_parameter_flow, + ); + } + + return { + templateId: templateId, + optedOut: optOutResult, + }; + }, } : { enabled: false }, ); @@ -49,11 +64,15 @@ const CreateWorkspaceExperimentRouter: FC = () => { const toggleOptedOut = () => { const key = optOutKey(optOutQuery.data.templateId); - const current = localStorage.getItem(key) === "true"; + const storedValue = localStorage.getItem(key); + + const current = storedValue + ? storedValue === "true" + : Boolean(templateQuery.data?.use_classic_parameter_flow); + localStorage.setItem(key, (!current).toString()); optOutQuery.refetch(); }; - return ( {optOutQuery.data.optedOut ? ( diff --git a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx index cd01421b64487..71adb89e14f48 100644 --- a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx +++ b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx @@ -242,7 +242,7 @@ export const TemplateSettingsForm: FC = ({ Show the original workspace creation form without dynamic parameters or live updates. Recommended if your provisioners - aren't updated or the new form causes issues. + aren't updated or the new form causes issues.{" "} Users can always manually switch experiences in the workspace creation form.