diff --git a/lib/admin/server.js b/lib/admin/server.js
index f31cf4fd..cc5d5415 100644
--- a/lib/admin/server.js
+++ b/lib/admin/server.js
@@ -1,3 +1,4 @@
+const { intervalToDuration, secondsToMilliseconds, formatDuration } = require('date-fns/fp')
const _ = require('lodash/fp')
const ticker = require('../ticker')
@@ -5,7 +6,6 @@ const settingsLoader = require('./settings-loader')
const db = require('../db')
const machineLoader = require('../machine-loader')
-const { intervalToDuration, secondsToMilliseconds, formatDuration } = require('date-fns')
const CONSIDERED_UP_SECS = 30
diff --git a/lib/customers.js b/lib/customers.js
index 478f6f7c..28808f2e 100644
--- a/lib/customers.js
+++ b/lib/customers.js
@@ -6,6 +6,7 @@ const makeDir = require('make-dir')
const path = require('path')
const fs = require('fs')
const util = require('util')
+const { sub, differenceInHours } = require('date-fns/fp')
const db = require('./db')
const BN = require('./bn')
@@ -23,7 +24,6 @@ const operatorDataDir = _.get('operatorDataDir', options)
const sms = require('./sms')
const settingsLoader = require('./new-settings-loader')
const logger = require('./logger')
-const { sub, differenceInHours } = require('date-fns')
const TX_PASSTHROUGH_ERROR_CODES = ['operatorCancel']
@@ -216,13 +216,13 @@ function getDailyVolumeMinusCurrentTxQueries (id, txId) {
function getHoursTillLimitClear (cashInDate, cashOutDate) {
let startDate = new Date()
- startDate = sub(startDate, { days: 1 })
+ startDate = sub({ days: 1 }, startDate)
const cashInMoment = new Date(cashInDate || startDate)
const cashOutMoment = new Date(cashOutDate || startDate)
- const cashInDuration = differenceInHours(startDate, cashInMoment)
- const cashOutDuration = differenceInHours(startDate, cashOutMoment)
+ const cashInDuration = differenceInHours(cashInMoment, startDate)
+ const cashOutDuration = differenceInHours(cashOutMoment, startDate)
return _.ceil(_.max([cashInDuration, cashOutDuration, 0]))
}
diff --git a/lib/logs.js b/lib/logs.js
index 6b6ea61f..3b8421bf 100644
--- a/lib/logs.js
+++ b/lib/logs.js
@@ -1,6 +1,6 @@
const _ = require('lodash/fp')
-const { format } = require('date-fns')
-const { zonedTimeToUtc, utcToZonedTime } = require('date-fns-tz')
+const { format } = require('date-fns/fp')
+const { utcToZonedTime } = require('date-fns-tz/fp')
const db = require('./db')
const pgp = require('pg-promise')()
@@ -118,8 +118,8 @@ function logDateFormat (timezone, logs, fields) {
field =>
{
if (_.isNil(log[field])) return null
- const date = utcToZonedTime(log[field], timezone)
- return `${format(date, 'yyyy-MM-dd')}T${format(date, 'HH:mm:ss.SSS')}`
+ const date = utcToZonedTime(timezone, log[field])
+ return `${format('yyyy-MM-dd', date)}T${format('HH:mm:ss.SSS', date)}`
},
fields
)
diff --git a/lib/routes/customerRoutes.js b/lib/routes/customerRoutes.js
index 272da2d8..2ea098e3 100644
--- a/lib/routes/customerRoutes.js
+++ b/lib/routes/customerRoutes.js
@@ -4,6 +4,7 @@ const semver = require('semver')
const sms = require('../sms')
const _ = require('lodash/fp')
const BN = require('../bn')
+const { zonedTimeToUtc, utcToZonedTime } = require('date-fns-tz/fp')
const compliance = require('../compliance')
const complianceTriggers = require('../compliance-triggers')
@@ -18,8 +19,6 @@ const { getCustomerById } = require('../customers')
const machineLoader = require('../machine-loader')
const { loadLatestConfig } = require('../new-settings-loader')
-const { zonedTimeToUtc, utcToZonedTime } = require('date-fns-tz')
-
function updateCustomer (req, res, next) {
const id = req.params.id
const machineVersion = req.query.version
@@ -136,7 +135,7 @@ function buildSms (data, receiptOptions) {
const cashInCommission = new BN(1).plus(new BN(formattedTx.commissionPercentage))
const rate = new BN(formattedTx.rawTickerPrice).multipliedBy(cashInCommission).decimalPlaces(2)
- const date = utcToZonedTime(zonedTimeToUtc(new Date(), process.env.TZ), timezone)
+ const date = utcToZonedTime(timezone, zonedTimeToUtc(process.env.TZ, new Date()))
const dateString = `${date.toISOString().replace('T', ' ').slice(0, 19)}`
const data = {
diff --git a/new-lamassu-admin/src/components/LogsDownloaderPopper.js b/new-lamassu-admin/src/components/LogsDownloaderPopper.js
index 7ff6a16c..9c02760a 100644
--- a/new-lamassu-admin/src/components/LogsDownloaderPopper.js
+++ b/new-lamassu-admin/src/components/LogsDownloaderPopper.js
@@ -1,7 +1,7 @@
import { useLazyQuery } from '@apollo/react-hooks'
import { makeStyles, ClickAwayListener } from '@material-ui/core'
import classnames from 'classnames'
-import { format, isSameDay } from 'date-fns'
+import { format, isSameDay } from 'date-fns/fp'
import FileSaver from 'file-saver'
import * as R from 'ramda'
import React, { useState, useCallback } from 'react'
@@ -65,13 +65,13 @@ const DateContainer = ({ date, children, ...props }) => {
{date && (
<>
-
{format(date, 'd')}
+
{format('d', date)}
{`${format(
- date,
- 'MMM'
- )} ${format(date, 'yyyy')}`}
- {format(date, 'EEEE')}
+ 'MMM',
+ date
+ )} ${format('yyyy', date)}`}
+ {format('EEEE', date)}
>
@@ -188,7 +188,7 @@ const LogsDownloaderPopover = ({
if (!range || !range.from) return
if (range.from && !range.until) range.until = new Date()
- if (isSameDay(range.from, range.until)) range.until = new Date()
+ if (isSameDay(range.until, range.from)) range.until = new Date()
if (selectedRadio === RANGE) {
fetchLogs({
diff --git a/new-lamassu-admin/src/components/date-range-picker/Calendar.js b/new-lamassu-admin/src/components/date-range-picker/Calendar.js
index 7e0661cb..c6151d73 100644
--- a/new-lamassu-admin/src/components/date-range-picker/Calendar.js
+++ b/new-lamassu-admin/src/components/date-range-picker/Calendar.js
@@ -12,7 +12,7 @@ import {
startOfMonth,
startOfWeek,
sub
-} from 'date-fns'
+} from 'date-fns/fp'
import * as R from 'ramda'
import React, { useState } from 'react'
@@ -90,29 +90,29 @@ const Calendar = ({ minDate, maxDate, handleSelect, ...props }) => {
const classes = useStyles()
const weekdays = Array.from(Array(7)).map((_, i) =>
- format(add(startOfWeek(new Date()), { days: i }), 'EEEEE')
+ format('EEEEE', add({ days: i }, startOfWeek(new Date())))
)
const monthLength = month => getDaysInMonth(month)
const monthdays = month => {
- const lastMonth = sub(month, { months: 1 })
+ const lastMonth = sub({ months: 1 }, month)
const lastMonthRange = R.range(0, getDay(startOfMonth(month))).reverse()
const lastMonthDays = R.map(i =>
- sub(lastDayOfMonth(lastMonth), { days: i })
+ sub({ days: i }, lastDayOfMonth(lastMonth))
)(lastMonthRange)
const thisMonthRange = R.range(0, monthLength(month))
- const thisMonthDays = R.map(i => add(startOfMonth(month), { days: i }))(
+ const thisMonthDays = R.map(i => add({ days: i }, startOfMonth(month)))(
thisMonthRange
)
- const nextMonth = add(month, { months: 1 })
+ const nextMonth = add({ months: 1 }, month)
const nextMonthRange = R.range(
0,
42 - lastMonthDays.length - thisMonthDays.length
)
- const nextMonthDays = R.map(i => add(startOfMonth(nextMonth), { days: i }))(
+ const nextMonthDays = R.map(i => add({ days: i }, startOfMonth(nextMonth)))(
nextMonthRange
)
@@ -122,24 +122,24 @@ const Calendar = ({ minDate, maxDate, handleSelect, ...props }) => {
const getRow = (month, row) => monthdays(month).slice(row * 7 - 7, row * 7)
const handleNavPrev = currentMonth => {
- const prevMonth = sub(currentMonth, { months: 1 })
+ const prevMonth = sub({ months: 1 }, currentMonth)
if (!minDate) setCurrentDisplayedMonth(prevMonth)
else {
setCurrentDisplayedMonth(
- isSameMonth(prevMonth, minDate) ||
- differenceInMonths(prevMonth, minDate) > 0
+ isSameMonth(minDate, prevMonth) ||
+ differenceInMonths(minDate, prevMonth) > 0
? prevMonth
: currentDisplayedMonth
)
}
}
const handleNavNext = currentMonth => {
- const nextMonth = add(currentMonth, { months: 1 })
+ const nextMonth = add({ months: 1 }, currentMonth)
if (!maxDate) setCurrentDisplayedMonth(nextMonth)
else {
setCurrentDisplayedMonth(
- isSameMonth(nextMonth, maxDate) ||
- differenceInMonths(maxDate, nextMonth) > 0
+ isSameMonth(maxDate, nextMonth) ||
+ differenceInMonths(nextMonth, maxDate) > 0
? nextMonth
: currentDisplayedMonth
)
@@ -155,9 +155,9 @@ const Calendar = ({ minDate, maxDate, handleSelect, ...props }) => {
- {`${format(currentDisplayedMonth, 'MMMM')} ${format(
- currentDisplayedMonth,
- 'yyyy'
+ {`${format('MMMM', currentDisplayedMonth)} ${format(
+ 'yyyy',
+ currentDisplayedMonth
)}`}