{"version":3,"file":"js/TodayPageLifts.bundle.js","mappings":"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","sources":["webpack://rp-majoitus-client/./src/views/TodayPageLifts/components/LiftsToday.js","webpack://rp-majoitus-client/./src/views/TodayPageLifts/TodayPageLifts.js","webpack://rp-majoitus-client/./src/views/TodayPageLifts/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Grid from '../../../components/Grid';\nimport Moment from 'moment';\nimport { extendMoment } from 'moment-range';\n\nfunction removeClosedLifts(allLifts) {\n // Filter out lifts that are either closed or not yet open\n let openLifts = allLifts.filter((lift) => {\n if (lift.open_today !== null) {\n const openTodayArray = lift.open_today.split('-');\n\n const moment = extendMoment(Moment);\n const API_DATE_FORMAT = 'hh:mm';\n const UTC_DATE_FORMAT = 'HHmm[Z]';\n\n const today = new Date();\n const endTimeUtc = moment(openTodayArray[1], API_DATE_FORMAT).format(\n UTC_DATE_FORMAT\n );\n const timeNowUtc = moment(\n today.getHours() + ':' + today.getMinutes(),\n API_DATE_FORMAT\n ).format(UTC_DATE_FORMAT);\n\n return timeNowUtc <= endTimeUtc;\n }\n });\n return openLifts;\n}\n\nconst LiftsToday = (props) => {\n let lifts = null;\n let openLifts = null;\n\n if (props.lifts && props.lifts.length > 0) {\n const liftData = props.lifts;\n openLifts = removeClosedLifts(liftData);\n\n lifts = openLifts.map((lift) => {\n return {\n content: (\n \n

{lift.name}

\n

\n {lift.open_today}\n

\n ,\n ]}\n />\n ),\n };\n });\n }\n\n return (\n
\n

\n {Drupal.t('Open lifts: ', {}, { context: 'count' })}\n {openLifts.length + '/' + props.lifts.length}\n

\n \n
\n );\n};\n\nLiftsToday.propTypes = {\n lifts: PropTypes.array,\n};\n\nexport default LiftsToday;\n","import React, { useEffect, useState } from 'react';\nimport BeatLoader from 'react-spinners/BeatLoader';\nimport LiftsToday from './components/LiftsToday';\n\nconst TodayPageLifts = () => {\n const [lifts, setLifts] = useState();\n const [exceptions, setExceptions] = useState();\n const [isLoading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n\n useEffect(() => {\n (async () => {\n await fetchData();\n })();\n }, []);\n\n async function fetchData() {\n const response = await fetch(\n `/${drupalSettings.current_language}/api/slopes_and_lifts`\n );\n if (response.ok) {\n const data = await response.json();\n setLifts(data.lifts);\n setExceptions(data.exceptions);\n setLoading(false);\n } else {\n setError(true);\n setLoading(false);\n }\n }\n\n return (\n
\n {!isLoading ? (\n !error ? (\n <>\n {exceptions.length > 0 && (\n
\n

\n {Drupal.t('Exceptions to opening hours')}\n

\n {exceptions.map((exception, i) => (\n

\n {exception}\n

\n ))}\n
\n )}\n \n \n ) : (\n

{Drupal.t('Error fetching data')}

\n )\n ) : (\n
\n \n
\n )}\n
\n );\n};\n\nexport default TodayPageLifts;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport TodayPageLifts from './TodayPageLifts';\n\nconst root = ReactDOM.createRoot(document.getElementById('today_page_lifts'));\n\nroot.render(\n \n \n \n);\n"],"names":["LiftsToday","props","lifts","openLifts","length","filter","lift","open_today","openTodayArray","split","moment","extendMoment","Moment","API_DATE_FORMAT","UTC_DATE_FORMAT","today","Date","endTimeUtc","format","getHours","getMinutes","map","content","React","Grid","className","columns","key","concat","name","Drupal","t","context","i","propTypes","PropTypes","_useState","useState","_useState2","_slicedToArray","setLifts","_useState3","_useState4","exceptions","setExceptions","_useState5","_useState6","isLoading","setLoading","_useState7","_useState8","error","setError","fetchData","_fetchData","apply","arguments","_asyncToGenerator","_regeneratorRuntime","_callee2","response","data","_context2","prev","next","fetch","drupalSettings","current_language","sent","ok","json","stop","useEffect","_callee","_context","BeatLoader","color","exception","ReactDOM","document","getElementById","render","TodayPageLifts"],"sourceRoot":""}