Explicitly set locale to avoid hydration mismatch
Some functions in luxon default to the system's locale while other functions default to "en-US". Explicitly set the locale everywhere the luxon objects are created to avoid possible mismatches and unexpected behaviour should the system's locale be different.
This commit is contained in:
parent
e722876aae
commit
ed67982ec0
5 changed files with 31 additions and 31 deletions
|
@ -251,7 +251,7 @@ function* stretchesFromSpans(spans: Iterable<Span>, minSeparation: number): Gene
|
|||
|
||||
/** Cuts up a span by whole hours that crosses it */
|
||||
function* cutSpansByHours(span: Span, timezone: string): Generator<Span> {
|
||||
const startHour = DateTime.fromMillis(span.start.ts, { zone: timezone })
|
||||
const startHour = DateTime.fromMillis(span.start.ts, { zone: timezone, locale: "en-US" })
|
||||
.startOf("hour")
|
||||
;
|
||||
const end = span.end.ts;
|
||||
|
@ -294,11 +294,11 @@ function* cutSpansByHours(span: Span, timezone: string): Generator<Span> {
|
|||
|
||||
function padStretch(stretch: Stretch, timezone: string): Stretch {
|
||||
// Pad by one hour and extend it to the nearest whole hour.
|
||||
let start = DateTime.fromMillis(stretch.start, { zone: timezone })
|
||||
let start = DateTime.fromMillis(stretch.start, { zone: timezone, locale: "en-US" })
|
||||
.minus(oneHourMs)
|
||||
.startOf("hour")
|
||||
;
|
||||
let end = DateTime.fromMillis(stretch.end, { zone: timezone })
|
||||
let end = DateTime.fromMillis(stretch.end, { zone: timezone, locale: "en-US" })
|
||||
.plus(2 * oneHourMs - 1)
|
||||
.startOf("hour")
|
||||
;
|
||||
|
@ -389,7 +389,7 @@ function tableElementsFromStretches(
|
|||
let first = true;
|
||||
for (let stretch of stretches) {
|
||||
stretch = padStretch(stretch, timezone);
|
||||
const startDate = DateTime.fromMillis(stretch.start, { zone: timezone });
|
||||
const startDate = DateTime.fromMillis(stretch.start, { zone: timezone, locale: "en-US" });
|
||||
if (first) {
|
||||
first = false;
|
||||
startColumnGroup();
|
||||
|
@ -452,16 +452,16 @@ function tableElementsFromStretches(
|
|||
}
|
||||
|
||||
pushColumn(durationMs / oneMinMs);
|
||||
const endDate = DateTime.fromMillis(end, { zone: timezone });
|
||||
const endDate = DateTime.fromMillis(end, { zone: timezone, locale: "en-US" });
|
||||
if (end === endDate.startOf("day").toMillis()) {
|
||||
startDay(
|
||||
DateTime.fromMillis(cutSpan.end.ts, { zone: timezone })
|
||||
DateTime.fromMillis(cutSpan.end.ts, { zone: timezone, locale: "en-US" })
|
||||
.toFormat("yyyy-LL-dd")
|
||||
);
|
||||
}
|
||||
if (end === endDate.startOf("hour").toMillis()) {
|
||||
startHour(
|
||||
DateTime.fromMillis(cutSpan.end.ts, { zone: timezone })
|
||||
DateTime.fromMillis(cutSpan.end.ts, { zone: timezone, locale: "en-US" })
|
||||
.toFormat("HH:mm")
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue