UNPKG

kinoklub-api

Version:

Support library for KinoKlub

60 lines (59 loc) 2.75 kB
const hasDST = (date = new Date()) => { const january = new Date(date.getFullYear(), 0, 1).getTimezoneOffset(); const july = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); return Math.max(january, july) !== date.getTimezoneOffset(); }; const getTimezone = (dst) => { return dst ? '.000+02:00' : '.000+01:00'; }; export const resolveCinema = (text) => { switch (text) { case 'Bio Oko': return 'biooko'; case 'Světozor': return 'svetozor'; case 'Aero': return 'aero'; default: return text; } }; export const resolveDate = (date, hour) => { const [wkDay, dayRest] = date.split(' '); const weekDay = wkDay; let dateTime = null; const today = new Date(); const day = today.getDate(); const month = today.getMonth(); const year = today.getFullYear(); const addLeadingZero = (num) => { return num < 10 ? `0${num}` : `${num}`; }; if (weekDay === 'Dnes' || weekDay === 'Today') { dateTime = `${year}-${addLeadingZero(month + 1)}-${addLeadingZero(day)}`; } else if (weekDay === 'Zítra' || weekDay === 'Tomorrow') { dateTime = `${year}-${addLeadingZero(month + 1)}-${addLeadingZero(day + 1)}`; } else { const [day, month] = dayRest.split('/'); dateTime = `${year}-${addLeadingZero(+month)}-${addLeadingZero(+day)}`; } const dst = hasDST(new Date(dateTime)); const finalDateTime = `${dateTime}T${hour}:00${getTimezone(dst)}`; return new Date(finalDateTime).toISOString(); }; export const getTicketParams = (el) => { var _a, _b, _c, _d, _e, _f; const node = el.querySelector('form'); if (!node) return undefined; const action = node === null || node === void 0 ? void 0 : node.attributes.action; const mrsId = (_a = node.querySelector('input[name=mrsid]')) === null || _a === void 0 ? void 0 : _a.attributes.value; const eventId = (_b = node.querySelector('input[name=eventid]')) === null || _b === void 0 ? void 0 : _b.attributes.value; const successRedirect = (_c = node.querySelector('input[name=successredirect]')) === null || _c === void 0 ? void 0 : _c.attributes.value; const failedRedirect = (_d = node.querySelector('input[name=failedredirect]')) === null || _d === void 0 ? void 0 : _d.attributes.value; const redirectAddTickets = (_e = node.querySelector('input[name=redirectaddtickets]')) === null || _e === void 0 ? void 0 : _e.attributes.value; const language = (_f = node.querySelector('input[name=language]')) === null || _f === void 0 ? void 0 : _f.attributes.value; return { action, mrsId, eventId, successRedirect, failedRedirect, redirectAddTickets, language }; };