From 71ba9d853365caf55b5be7496c096924d1f6657e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Syn=C3=A1=C4=8Dek?= Date: Sat, 2 Jan 2021 20:17:21 +0100 Subject: [PATCH] fix: use browser's timezone to reflect correct time and date --- lib/services/ics-generator.js | 6 +++++- lib/services/ldjson-parser.js | 8 ++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/services/ics-generator.js b/lib/services/ics-generator.js index f9175a0..38b7346 100644 --- a/lib/services/ics-generator.js +++ b/lib/services/ics-generator.js @@ -2,7 +2,11 @@ const ics = require('ics') const generateICS = async(data) => { return new Promise((resolve, reject) => { - ics.createEvent(data, (err, value) => { + ics.createEvent({ + ...data, + startInputType: 'utc', + endInputType: 'utc', + }, (err, value) => { if (err) { reject(err) return diff --git a/lib/services/ldjson-parser.js b/lib/services/ldjson-parser.js index 12e7e58..073bd92 100644 --- a/lib/services/ldjson-parser.js +++ b/lib/services/ldjson-parser.js @@ -1,12 +1,16 @@ const cheerio = require('cheerio') const dayjs = require('dayjs') +const utc = require('dayjs/plugin/utc') + const { parseDates } = require('../parser-utils') +dayjs.extend(utc) + const parseEventData = (eventData) => { const startDate = eventData.startDate ? dayjs(eventData.startDate) : - dayjs(new Date()) - const endDate = eventData.endDate && dayjs(eventData.endDate) + dayjs.utc(new Date()) + const endDate = eventData.endDate && dayjs.utc(eventData.endDate) const { start, duration } = parseDates(startDate, endDate) const { location } = eventData || {} const { address } = location || {}