From de7cf62918e7a6a1058e50572a6b6a77b6a01b92 Mon Sep 17 00:00:00 2001 From: Marshall Polaris Date: Thu, 29 Sep 2022 21:26:05 -0700 Subject: [PATCH] Memoize on numbers, not dates --- web/components/charts/contract/binary.tsx | 6 +++--- web/components/charts/contract/choice.tsx | 6 +++--- web/components/charts/contract/pseudo-numeric.tsx | 6 +++--- web/components/charts/helpers.tsx | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/web/components/charts/contract/binary.tsx b/web/components/charts/contract/binary.tsx index a5740a3e..3526933f 100644 --- a/web/components/charts/contract/binary.tsx +++ b/web/components/charts/contract/binary.tsx @@ -55,14 +55,14 @@ export const BinaryContractChart = (props: { const betPoints = useMemo(() => getBetPoints(bets), [bets]) const data = useMemo(() => { return [ - { x: startDate, y: startP }, + { x: new Date(startDate), y: startP }, ...betPoints, - { x: endDate ?? new Date(Date.now() + DAY_MS), y: endP }, + { x: new Date(endDate ?? Date.now() + DAY_MS), y: endP }, ] }, [startDate, startP, endDate, endP, betPoints]) const rightmostDate = getRightmostVisibleDate( - endDate, + endDate ? new Date(endDate) : null, last(betPoints)?.x, new Date(Date.now()) ) diff --git a/web/components/charts/contract/choice.tsx b/web/components/charts/contract/choice.tsx index 05d3255e..52bae0f8 100644 --- a/web/components/charts/contract/choice.tsx +++ b/web/components/charts/contract/choice.tsx @@ -136,17 +136,17 @@ export const ChoiceContractChart = (props: { const betPoints = useMemo(() => getBetPoints(answers, bets), [answers, bets]) const data = useMemo( () => [ - { x: start, y: answers.map((_) => 0) }, + { x: new Date(start), y: answers.map((_) => 0) }, ...betPoints, { - x: end ?? new Date(Date.now() + DAY_MS), + x: new Date(end ?? Date.now() + DAY_MS), y: answers.map((a) => getOutcomeProbability(contract, a.id)), }, ], [answers, contract, betPoints, start, end] ) const rightmostDate = getRightmostVisibleDate( - end, + end ? new Date(end) : null, last(betPoints)?.x, new Date(Date.now()) ) diff --git a/web/components/charts/contract/pseudo-numeric.tsx b/web/components/charts/contract/pseudo-numeric.tsx index 385e56dd..4287a57e 100644 --- a/web/components/charts/contract/pseudo-numeric.tsx +++ b/web/components/charts/contract/pseudo-numeric.tsx @@ -72,14 +72,14 @@ export const PseudoNumericContractChart = (props: { const betPoints = useMemo(() => getBetPoints(bets, scaleP), [bets, scaleP]) const data = useMemo( () => [ - { x: startDate, y: startP }, + { x: new Date(startDate), y: startP }, ...betPoints, - { x: endDate ?? new Date(Date.now() + DAY_MS), y: endP }, + { x: new Date(endDate ?? Date.now() + DAY_MS), y: endP }, ], [betPoints, startDate, startP, endDate, endP] ) const rightmostDate = getRightmostVisibleDate( - endDate, + endDate ? new Date(endDate) : null, last(betPoints)?.x, new Date(Date.now()) ) diff --git a/web/components/charts/helpers.tsx b/web/components/charts/helpers.tsx index 35c8a335..fdbec204 100644 --- a/web/components/charts/helpers.tsx +++ b/web/components/charts/helpers.tsx @@ -259,7 +259,7 @@ export const getDateRange = (contract: Contract) => { const { createdTime, closeTime, resolutionTime } = contract const isClosed = !!closeTime && Date.now() > closeTime const endDate = resolutionTime ?? (isClosed ? closeTime : null) - return [new Date(createdTime), endDate ? new Date(endDate) : null] as const + return [createdTime, endDate ?? null] as const } export const getRightmostVisibleDate = (