From 99a6e6840a9e9dc44980307dccb80945b5b2df19 Mon Sep 17 00:00:00 2001 From: Jaayden Halko Date: Tue, 27 May 2025 14:48:42 +0000 Subject: [PATCH 1/2] chore: hide classic workspace checkbox when experiment is not enabled --- .../TemplateSettingsForm.tsx | 62 ++++++++++--------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx index 71adb89e14f48..36366dc3f0045 100644 --- a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx +++ b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx @@ -24,6 +24,7 @@ import { StackLabelHelperText, } from "components/StackLabel/StackLabel"; import { type FormikTouched, useFormik } from "formik"; +import { useDashboard } from "modules/dashboard/useDashboard"; import type { FC } from "react"; import { displayNameValidator, @@ -97,6 +98,8 @@ export const TemplateSettingsForm: FC = ({ initialTouched, }); const getFieldHelpers = getFormHelpers(form, error); + const { experiments } = useDashboard(); + const dynamicParametersEnabled = experiments.includes("dynamic-parameters"); return ( = ({ } /> - - } - label={ - - Use classic workspace creation form - - - 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.{" "} - - Users can always manually switch experiences in the - workspace creation form. - - - - - } - /> + {dynamicParametersEnabled && ( + + } + label={ + + Use classic workspace creation form + + + Show the original workspace creation form and workspace + parameters settings form without dynamic parameters or + live updates. Recommended if your provisioners aren't + updated or the new form causes issues.{" "} + + Users can always manually switch experiences in the + workspace creation form. + + + + + } + /> + )} From 00b50bb3e8e1638c1a57eb9e8ca0284c9f8e28eb Mon Sep 17 00:00:00 2001 From: Jaayden Halko Date: Tue, 27 May 2025 15:23:05 +0000 Subject: [PATCH 2/2] fix: retrieve experiments at page level --- .../TemplateGeneralSettingsPage/TemplateSettingsForm.tsx | 7 +++---- .../TemplateGeneralSettingsPage/TemplateSettingsPage.tsx | 3 +++ .../TemplateSettingsPageView.tsx | 3 +++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx index 36366dc3f0045..8ba0e7b948b8c 100644 --- a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx +++ b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx @@ -24,7 +24,6 @@ import { StackLabelHelperText, } from "components/StackLabel/StackLabel"; import { type FormikTouched, useFormik } from "formik"; -import { useDashboard } from "modules/dashboard/useDashboard"; import type { FC } from "react"; import { displayNameValidator, @@ -64,6 +63,7 @@ export interface TemplateSettingsForm { accessControlEnabled: boolean; advancedSchedulingEnabled: boolean; portSharingControlsEnabled: boolean; + isDynamicParametersEnabled: boolean; } export const TemplateSettingsForm: FC = ({ @@ -76,6 +76,7 @@ export const TemplateSettingsForm: FC = ({ accessControlEnabled, advancedSchedulingEnabled, portSharingControlsEnabled, + isDynamicParametersEnabled, }) => { const form = useFormik({ initialValues: { @@ -98,8 +99,6 @@ export const TemplateSettingsForm: FC = ({ initialTouched, }); const getFieldHelpers = getFormHelpers(form, error); - const { experiments } = useDashboard(); - const dynamicParametersEnabled = experiments.includes("dynamic-parameters"); return ( = ({ } /> - {dynamicParametersEnabled && ( + {isDynamicParametersEnabled && ( { + const { experiments } = useDashboard(); + const isDynamicParametersEnabled = experiments.includes("dynamic-parameters"); const { template: templateName } = useParams() as { template: string }; const navigate = useNavigate(); const getLink = useLinks(); @@ -79,6 +81,7 @@ const TemplateSettingsPage: FC = () => { accessControlEnabled={accessControlEnabled} advancedSchedulingEnabled={advancedSchedulingEnabled} sharedPortControlsEnabled={sharedPortControlsEnabled} + isDynamicParametersEnabled={isDynamicParametersEnabled} /> ); diff --git a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPageView.tsx b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPageView.tsx index e267d25ce572e..059999d27bb74 100644 --- a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPageView.tsx +++ b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPageView.tsx @@ -15,6 +15,7 @@ interface TemplateSettingsPageViewProps { accessControlEnabled: boolean; advancedSchedulingEnabled: boolean; sharedPortControlsEnabled: boolean; + isDynamicParametersEnabled: boolean; } export const TemplateSettingsPageView: FC = ({ @@ -27,6 +28,7 @@ export const TemplateSettingsPageView: FC = ({ accessControlEnabled, advancedSchedulingEnabled, sharedPortControlsEnabled, + isDynamicParametersEnabled, }) => { return ( <> @@ -44,6 +46,7 @@ export const TemplateSettingsPageView: FC = ({ accessControlEnabled={accessControlEnabled} advancedSchedulingEnabled={advancedSchedulingEnabled} portSharingControlsEnabled={sharedPortControlsEnabled} + isDynamicParametersEnabled={isDynamicParametersEnabled} /> ); 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