diff --git a/site/src/pages/TemplateSettingsPage/TemplateSchedulePage/TemplateScheduleForm.tsx b/site/src/pages/TemplateSettingsPage/TemplateSchedulePage/TemplateScheduleForm.tsx index cc3dd5a6748c8..61ae23f01ce3f 100644 --- a/site/src/pages/TemplateSettingsPage/TemplateSchedulePage/TemplateScheduleForm.tsx +++ b/site/src/pages/TemplateSettingsPage/TemplateSchedulePage/TemplateScheduleForm.tsx @@ -47,6 +47,11 @@ const MS_DAY_CONVERSION = 86400000; const FAILURE_CLEANUP_DEFAULT = 7; const INACTIVITY_CLEANUP_DEFAULT = 180; const DORMANT_AUTODELETION_DEFAULT = 30; +/** + * The default form field space is 4 but since this form is quite heavy I think + * increase the space can make it feels lighter. + */ +const FORM_FIELDS_SPACING = 6; export interface TemplateScheduleForm { template: Template; @@ -318,10 +323,10 @@ export const TemplateScheduleForm: FC = ({ aria-label="Template settings form" > - + = ({ label="Activity bump (hours)" type="number" /> - + + + + ), + })} + disabled={isSubmitting} + fullWidth + select + value={form.values.autostop_requirement_days_of_week} + label="Days with required stop" + > + + Off + + + Daily + + + Saturday + + + Sunday + + + + + ), + })} + disabled={ + isSubmitting || + !["saturday", "sunday"].includes( + form.values.autostop_requirement_days_of_week || "", + ) + } + fullWidth + inputProps={{ min: 1, max: 16, step: 1 }} + label="Weeks between required stops" + type="number" + /> + + + + { + await form.setFieldValue( + "allow_user_autostop", + !form.values.allow_user_autostop, + ); + }} + name="allow_user_autostop" + checked={form.values.allow_user_autostop} + /> + + Enforce these settings across all workspaces + + Workspaces by default allow users to set custom autostop timers. + Use this to apply the template settings to all workspaces under + this template. + + + + @@ -390,190 +475,101 @@ export const TemplateScheduleForm: FC = ({ }} /> )} - - - { - await form.setFieldValue( - "allow_user_autostop", - !form.values.allow_user_autostop, - ); - }} - name="allow_user_autostop" - checked={form.values.allow_user_autostop} - /> - - - Allow users to customize autostop duration for workspaces. - - - Workspaces will always use the default TTL if this is set. - - - - - - - - - - ), - })} - disabled={isSubmitting} - fullWidth - select - value={form.values.autostop_requirement_days_of_week} - label="Days with required stop" - > - - Off - - - Daily - - - Saturday - - - Sunday - - - - - ), - })} - disabled={ - isSubmitting || - !["saturday", "sunday"].includes( - form.values.autostop_requirement_days_of_week || "", - ) - } - fullWidth - inputProps={{ min: 1, max: 16, step: 1 }} - label="Weeks between required stops" - type="number" - /> {allowAdvancedScheduling && ( <> - - - } - label="Enable Failure Cleanup" - /> - - ), - })} - disabled={isSubmitting || !form.values.failure_cleanup_enabled} - fullWidth - inputProps={{ min: 0, step: "any" }} - label="Time until cleanup (days)" - type="number" - /> - - - - - - } - label="Enable Dormancy Threshold" - /> - + + - ), - })} - disabled={ - isSubmitting || !form.values.inactivity_cleanup_enabled - } - fullWidth - inputProps={{ min: 0, step: "any" }} - label="Time until dormant (days)" - type="number" - /> - - - - - - } - label="Enable Dormancy Auto-Deletion" - /> - + + ), + })} + disabled={ + isSubmitting || !form.values.inactivity_cleanup_enabled + } + fullWidth + inputProps={{ min: 0, step: "any" }} + label="Time until dormant (days)" + type="number" + /> + + + + + } + label="Enable Dormancy Auto-Deletion" + /> + + ), + })} + disabled={ + isSubmitting || + !form.values.dormant_autodeletion_cleanup_enabled + } + fullWidth + inputProps={{ min: 0, step: "any" }} + label="Time until deletion (days)" + type="number" + /> + + + + - ), - })} - disabled={ - isSubmitting || - !form.values.dormant_autodeletion_cleanup_enabled - } - fullWidth - inputProps={{ min: 0, step: "any" }} - label="Time until deletion (days)" - type="number" - /> + } + label="Enable Failure Cleanup" + /> + + ), + })} + disabled={ + isSubmitting || !form.values.failure_cleanup_enabled + } + fullWidth + inputProps={{ min: 0, step: "any" }} + label="Time until cleanup (days)" + type="number" + /> +