Changed verse change to 2AM EST DST
This commit is contained in:
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
import { useCallback, useEffect, useState } from 'react'
|
import { useCallback, useEffect, useState } from 'react'
|
||||||
import CandleCanvas from './Candle'
|
import CandleCanvas from './Candle'
|
||||||
import { daySeed, loadKJV, msUntilMidnightUtc, pickForDay, type Verse } from './verse'
|
import { daySeed, loadKJV, msUntilRollover, pickForDay, type Verse } from './verse'
|
||||||
|
|
||||||
type Phase = 'sealed' | 'revealing' | 'revealed'
|
type Phase = 'sealed' | 'revealing' | 'revealed'
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ export default function App() {
|
|||||||
const [error, setError] = useState(false)
|
const [error, setError] = useState(false)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const update = () => setCountdown(formatCountdown(msUntilMidnightUtc()))
|
const update = () => setCountdown(formatCountdown(msUntilRollover()))
|
||||||
update()
|
update()
|
||||||
const id = window.setInterval(update, 1000)
|
const id = window.setInterval(update, 1000)
|
||||||
return () => window.clearInterval(id)
|
return () => window.clearInterval(id)
|
||||||
|
|||||||
+7
-3
@@ -24,13 +24,17 @@ export interface Verse {
|
|||||||
|
|
||||||
let flat: Verse[] | null = null
|
let flat: Verse[] | null = null
|
||||||
|
|
||||||
|
const ROLLOVER_LOCAL_HOUR = 2
|
||||||
|
|
||||||
export function daySeed(now: Date = new Date()): number {
|
export function daySeed(now: Date = new Date()): number {
|
||||||
return Math.floor(now.getTime() / 86_400_000)
|
const shifted = new Date(now.getTime() - ROLLOVER_LOCAL_HOUR * 3600_000)
|
||||||
|
return Math.floor(Date.UTC(shifted.getFullYear(), shifted.getMonth(), shifted.getDate()) / 86_400_000)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function msUntilMidnightUtc(now: Date = new Date()): number {
|
export function msUntilRollover(now: Date = new Date()): number {
|
||||||
const next = new Date(now)
|
const next = new Date(now)
|
||||||
next.setUTCHours(24, 0, 0, 0)
|
next.setHours(ROLLOVER_LOCAL_HOUR, 0, 0, 0)
|
||||||
|
if (next.getTime() <= now.getTime()) next.setDate(next.getDate() + 1)
|
||||||
return next.getTime() - now.getTime()
|
return next.getTime() - now.getTime()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user