1
1
import { useMachine } from "@xstate/react"
2
+ import dayjs from "dayjs"
3
+ import timezone from "dayjs/plugin/timezone"
4
+ import utc from "dayjs/plugin/utc"
2
5
import React , { useEffect } from "react"
3
6
import { useNavigate , useParams } from "react-router-dom"
4
7
import * as TypesGen from "../../api/typesGenerated"
@@ -12,6 +15,12 @@ import { firstOrItem } from "../../util/array"
12
15
import { dowToWeeklyFlag , extractTimezone , stripTimezone } from "../../util/schedule"
13
16
import { workspaceSchedule } from "../../xServices/workspaceSchedule/workspaceScheduleXService"
14
17
18
+ // REMARK: timezone plugin depends on UTC
19
+ //
20
+ // SEE: https://day.js.org/docs/en/timezone/timezone
21
+ dayjs . extend ( utc )
22
+ dayjs . extend ( timezone )
23
+
15
24
export const formValuesToAutoStartRequest = (
16
25
values : WorkspaceScheduleFormValues ,
17
26
) : TypesGen . UpdateWorkspaceAutostartRequest => {
@@ -101,7 +110,7 @@ export const workspaceToInitialValues = (workspace: TypesGen.Workspace): Workspa
101
110
}
102
111
}
103
112
104
- const timezone = extractTimezone ( schedule , "" )
113
+ const timezone = extractTimezone ( schedule , dayjs . tz . guess ( ) )
105
114
const cronString = stripTimezone ( schedule )
106
115
107
116
// parts has the following format: "mm HH * * dow"
0 commit comments