Skip to content

Commit 22366e4

Browse files
committed
🧹🧹🧹 I'm done now I swear
1 parent a6abf2e commit 22366e4

File tree

2 files changed

+16
-26
lines changed

2 files changed

+16
-26
lines changed

site/src/pages/UserSettingsPage/SchedulePage/ScheduleForm.tsx

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ import { Alert } from "components/Alert/Alert";
1717
import { timeToCron, quietHoursDisplay } from "utils/schedule";
1818

1919
export interface ScheduleFormValues {
20-
startTime: string;
20+
time: string;
2121
timezone: string;
2222
}
2323

2424
const validationSchema = Yup.object({
25-
startTime: Yup.string()
25+
time: Yup.string()
2626
.ensure()
2727
.test("is-time-string", "Time must be in HH:mm format.", (value) => {
2828
if (value === "") {
@@ -64,17 +64,11 @@ export const ScheduleForm: FC<React.PropsWithChildren<ScheduleFormProps>> = ({
6464
};
6565
}, []);
6666

67-
const preferredTimezone = getPreferredTimezone();
68-
6967
// If the user has a custom schedule, use that as the initial values.
70-
// Otherwise, use midnight in their preferred timezone.
71-
const formInitialValues = {
72-
startTime: "00:00",
73-
timezone: preferredTimezone,
74-
};
75-
if (initialValues.user_set) {
76-
formInitialValues.startTime = initialValues.time;
77-
formInitialValues.timezone = initialValues.timezone;
68+
// Otherwise, use the default time, with their local timezone.
69+
const formInitialValues = { ...initialValues };
70+
if (!initialValues.user_set) {
71+
formInitialValues.timezone = getPreferredTimezone();
7872
}
7973

8074
const form: FormikContextType<ScheduleFormValues> =
@@ -83,7 +77,7 @@ export const ScheduleForm: FC<React.PropsWithChildren<ScheduleFormProps>> = ({
8377
validationSchema,
8478
onSubmit: async (values) => {
8579
onSubmit({
86-
schedule: timeToCron(values.startTime, values.timezone),
80+
schedule: timeToCron(values.time, values.timezone),
8781
});
8882
},
8983
});
@@ -107,7 +101,7 @@ export const ScheduleForm: FC<React.PropsWithChildren<ScheduleFormProps>> = ({
107101

108102
<Stack direction="row">
109103
<TextField
110-
{...getFieldHelpers("startTime")}
104+
{...getFieldHelpers("time")}
111105
disabled={isLoading}
112106
label="Start time"
113107
type="time"
@@ -132,18 +126,14 @@ export const ScheduleForm: FC<React.PropsWithChildren<ScheduleFormProps>> = ({
132126
disabled
133127
fullWidth
134128
label="Cron schedule"
135-
value={timeToCron(form.values.startTime, form.values.timezone)}
129+
value={timeToCron(form.values.time, form.values.timezone)}
136130
/>
137131

138132
<TextField
139133
disabled
140134
fullWidth
141135
label="Next occurrence"
142-
value={quietHoursDisplay(
143-
form.values.startTime,
144-
form.values.timezone,
145-
now,
146-
)}
136+
value={quietHoursDisplay(form.values.time, form.values.timezone, now)}
147137
/>
148138

149139
<div>

site/src/pages/WorkspaceSettingsPage/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import { renderWithWorkspaceSettingsLayout } from "testHelpers/renderHelpers";
22
import userEvent from "@testing-library/user-event";
33
import { screen } from "@testing-library/react";
4+
import { rest } from "msw";
5+
import { server } from "testHelpers/server";
6+
import { MockUser, MockWorkspace } from "testHelpers/entities";
47
import {
58
formValuesToAutostartRequest,
69
formValuesToTTLRequest,
7-
} from "pages/WorkspaceSettingsPage/WorkspaceSchedulePage/formToRequest";
8-
import { scheduleToAutostart } from "pages/WorkspaceSettingsPage/WorkspaceSchedulePage/schedule";
9-
import { ttlMsToAutostop } from "pages/WorkspaceSettingsPage/WorkspaceSchedulePage/ttl";
10+
} from "./formToRequest";
11+
import { scheduleToAutostart } from "./schedule";
12+
import { ttlMsToAutostop } from "./ttl";
1013
import {
1114
WorkspaceScheduleFormValues,
1215
Language as FormLanguage,
1316
} from "./WorkspaceScheduleForm";
1417
import { WorkspaceSchedulePage } from "./WorkspaceSchedulePage";
15-
import { server } from "testHelpers/server";
16-
import { rest } from "msw";
17-
import { MockUser, MockWorkspace } from "testHelpers/entities";
1818

1919
const validValues: WorkspaceScheduleFormValues = {
2020
autostartEnabled: true,

0 commit comments

Comments
 (0)