{"version":3,"sources":["components/Layout.js","components/DatePicker.jsx","SelectStyles.js","components/SearchByTwoStationsForm.jsx","components/SearchByTrainNumberForm.jsx","components/SearchByOneStationForm.jsx","components/TrainsTable.jsx","TrainTypes.js","Pages/Home.jsx","Pages/TrainInfo.jsx","App.js","registerServiceWorker.js","index.js"],"names":["Layout","Container","this","props","children","Component","displayName","name","DatePicker","onChange","selected","maxDate","Date","setDate","getDate","className","dateFormat","minDate","locale","control","provided","state","border","boxShadow","isFocused","SearchByTwoStationsForm","stations","setFirstStation","setSecondStation","date","search","onClear","useState","displayValueFirst","setDisplayValueFirst","displayValueSecond","setDisplayValueSecond","placeholder","options","styles","SelectStyles","data","value","handleChangeFirst","handleChangeSecond","disabled","onClick","SearchByTrainNumberForm","trains","setTrainNumber","displayValue","setDisplayValue","handleChange","SearchByOneStationForm","setStation","TrainsTable","selectedDate","selectedDateAsString","columns","useMemo","Header","accessor","useTable","initialState","pageIndex","pageSize","useSortBy","usePagination","getTableProps","getTableBodyProps","headerGroups","prepareRow","page","canPreviousPage","canNextPage","pageCount","gotoPage","nextPage","previousPage","id","map","headerGroup","getHeaderGroupProps","headers","column","getHeaderProps","getSortByToggleProps","render","isSorted","isSortedDesc","row","i","getRowProps","cells","cell","getCellProps","to","original","mywindow","window","open","element","document","getElementById","write","outerHTML","close","focus","print","1","2","3","Home","stationList","setStationList","trainList","setTrainList","searchByTwoStationsDate","setSearchByTwoStationsDate","searchByTrainNumberDate","setSearchByTrainNumberDate","searchByOneStationDate","setSearchByOneStationDate","searchByTwoStationFirstStationId","setSearchByTwoStationFirstStationId","searchByTwoStationSecondStationId","setSearchByTwoStationSecondStationId","searchByOneStationStationId","setSearchByOneStationStationId","searchByTrainNumberValue","setSearchByTrainNumberValue","foundTrains","setFoundTrains","setSelectedDate","setFoundTrainsAndMap","x","trainType","trainTypes","setTrainsToday","today","fetch","then","json","catch","e","alert","useEffect","stationListOptions","label","trainListOptions","number","returnButton","href","length","TrainInfo","trainData","setTrainData","match","params","stringDate","departureDate","trainId","stationRows","arrivalTime","hasStop","departureTime","distanceInKilometers","Fragment","replace","period","innerHTML","registerLocale","ru","App","exact","path","component","isLocalhost","Boolean","location","hostname","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","console","log","error","baseUrl","getElementsByTagName","getAttribute","rootElement","ReactDOM","basename","URL","process","origin","addEventListener","response","status","get","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.9f90f51f.chunk.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Container } from 'reactstrap';\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n\r\n render () {\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n","import _DatePicker from 'react-datepicker';\r\nimport React from 'react';\r\nexport default function DatePicker({ onChange, selected }) {\r\n\tconst maxDate = new Date();\r\n\tmaxDate.setDate(maxDate.getDate() + 10);\r\n\treturn (\r\n\t\t<_DatePicker className={\"search-form__datepicker\"}\r\n\t\t\tonChange={onChange}\r\n\t\t\tselected={selected}\r\n\t\t\tdateFormat=\"dd.MM.yyyy\"\r\n\t\t\tminDate={new Date()}\r\n\t\t\tmaxDate={maxDate}\r\n\t\t\tlocale=\"ru\" />);\r\n}","export default {\r\n\tcontrol: (provided, state) => ({\r\n\t\t...provided,\r\n\t\tborder: 'none',\r\n\t\tboxShadow: state.isFocused?'0 0 0 2px #ef3425':'none'\r\n\t})\r\n\t\r\n}","import React, {useState} from 'react';\r\nimport Select from 'react-select';\r\nimport DatePicker from \"./DatePicker\";\r\nimport SelectStyles from \"../SelectStyles\";\r\n\r\nexport default function SearchByTwoStationsForm({ stations, setFirstStation, setSecondStation, setDate, date, search, onClear }) {\r\n\tconst [displayValueFirst, setDisplayValueFirst] = useState(null);\r\n\tconst [displayValueSecond, setDisplayValueSecond] = useState(null);\r\n\tconst handleChangeFirst = (data) => {\r\n\t\tsetFirstStation(data.value);\r\n\t\tsetDisplayValueFirst(data);\r\n\t};\r\n\tconst handleChangeSecond = (data) => {\r\n\t\tsetSecondStation(data.value);\r\n\t\tsetDisplayValueSecond(data);\r\n\t}\r\n\tconst clearSelect = () => {\r\n\t\tsetFirstStation(null);\r\n\t\tsetSecondStation(null);\r\n\t\tsetDisplayValueFirst(null);\r\n\t\tsetDisplayValueSecond(null);\r\n\t\tsetDate(new Date());\r\n\t\tonClear();\r\n\t};\r\n\treturn (\r\n\t\t
\r\n\t\t\t

Поиск по станциям

\r\n\t\t\t handleChangeSecond(data)}\r\n\t\t\t\tvalue={displayValueSecond}\r\n\t\t\t/>\r\n\t\t\t\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}","import React, {useState} from 'react';\r\nimport Select from 'react-select';\r\nimport DatePicker from \"./DatePicker\";\r\nimport SelectStyles from \"../SelectStyles\";\r\n\r\nexport default function SearchByTrainNumberForm({ trains, setTrainNumber, setDate, date, search, onClear }) {\r\n\tconst [displayValue, setDisplayValue] = useState(null);\r\n\tconst handleChange = (data) => {\r\n\t\tsetTrainNumber(data.value);\r\n\t\tsetDisplayValue(data);\r\n\t};\r\n\tconst clearSelect = () => {\r\n\t\tsetTrainNumber(null);\r\n\t\tsetDisplayValue(null);\r\n\t\tsetDate(new Date());\r\n\t\tonClear();\r\n\t};\r\n\treturn (\r\n\t\t
\r\n\t\t\t

Быстрый поиск

\r\n\t\t\t handleChange(data)}\r\n\t\t\t\tvalue = {displayValue}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}","import React, {useMemo} from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport dateFormat from 'dateformat';\r\nimport { useTable, usePagination, useSortBy } from 'react-table';\r\n\r\nexport default function TrainsTable({ data, selectedDate }) {\r\n\tconst selectedDateAsString = dateFormat(selectedDate, \"dd-mm-yyyy\");\r\n\tconst columns = useMemo(\r\n\t\t() => [\r\n\t\t\t{\r\n\t\t\t\tHeader: 'Поезд №',\r\n\t\t\t\taccessor: 'number'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader: 'Маршрут следования',\r\n\t\t\t\taccessor: 'name'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader: 'Время отправления',\r\n\t\t\t\taccessor: 'departureTime'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader: 'Время прибытия',\r\n\t\t\t\taccessor: 'arrivalTime'\r\n\t\t\t}\r\n\t\t\t,\r\n\t\t\t{\r\n\t\t\t\tHeader: 'Дни обращения',\r\n\t\t\t\taccessor: 'period'\r\n\t\t\t}\r\n\t\t\t,\r\n\t\t\t{\r\n\t\t\t\tHeader: 'Тип электропоезда',\r\n\t\t\t\taccessor: 'trainType'\r\n\t\t\t}\r\n\t\t], []);\r\n\r\n\tconst {\r\n\t\tgetTableProps,\r\n\t\tgetTableBodyProps,\r\n\t\theaderGroups,\r\n\t\tprepareRow,\r\n\t\tpage,\r\n\t\tcanPreviousPage,\r\n\t\tcanNextPage,\r\n\t\tpageCount,\r\n\t\tgotoPage,\r\n\t\tnextPage,\r\n\t\tpreviousPage,\r\n\t\tstate: { pageIndex }\r\n\t} = useTable({\r\n\t\tcolumns, data,\r\n\t\tinitialState: { pageIndex: 0, pageSize: 15 }\r\n\t}, useSortBy, usePagination);\r\n\r\n\tconst printButton = () => {\r\n\t\tvar mywindow = window.open('', 'PRINT', 'height=400,width=600');\r\n\t\tconst styles = \"\";\r\n\t\tconst element = document.getElementById(\"schedule-table\");\r\n\t\tmywindow.document.write(`${styles}`);\r\n\t\tmywindow.document.write(element.outerHTML);\r\n\t\tmywindow.document.write('');\r\n\t\tmywindow.document.close(); // necessary for IE >= 10\r\n\t\tmywindow.focus(); // necessary for IE >= 10*/\r\n\t\tmywindow.print();\r\n\t\tmywindow.close();\r\n\r\n\t\treturn true;\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{headerGroups.map(headerGroup => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{page.map((row, i) => {\r\n\t\t\t\t\t\tprepareRow(row);\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{row.cells.map(cell => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{column.render('Header')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{column.isSorted\r\n\t\t\t\t\t\t\t\t\t\t\t? column.isSortedDesc\r\n\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t: }\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{cell.column.id === 'name' ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t: cell.render('Cell')}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t

Страница {pageIndex + 1} из {pageCount}

\r\n\t\t\t
\r\n\t\t\tРаспечатать\r\n\t\t
\r\n\t);\r\n}","export default { 1: \"Пригородный\", 2: \"Городской\", 3: \"Комфортный\" };\r\n","import React, { useState, useEffect } from 'react';\r\nimport dateFormat from 'dateformat';\r\nimport SearchByTwoStationsForm from '../components/SearchByTwoStationsForm';\r\nimport SearchByTrainNumberForm from '../components/SearchByTrainNumberForm';\r\nimport SearchByOneStationForm from '../components/SearchByOneStationForm';\r\nimport TrainsTable from '../components/TrainsTable';\r\nimport trainTypes from '../TrainTypes';\r\n\r\nexport function Home() {\r\n\tconst [stationList, setStationList] = useState([]);\r\n\tconst [trainList, setTrainList] = useState([]);\r\n\r\n\tconst [searchByTwoStationsDate, setSearchByTwoStationsDate] = useState(new Date());\r\n\tconst [searchByTrainNumberDate, setSearchByTrainNumberDate] = useState(new Date());\r\n\tconst [searchByOneStationDate, setSearchByOneStationDate] = useState(new Date());\r\n\r\n\tconst [searchByTwoStationFirstStationId, setSearchByTwoStationFirstStationId] = useState();\r\n\tconst [searchByTwoStationSecondStationId, setSearchByTwoStationSecondStationId] = useState();\r\n\tconst [searchByOneStationStationId, setSearchByOneStationStationId] = useState();\r\n\r\n\tconst [searchByTrainNumberValue, setSearchByTrainNumberValue] = useState();\r\n\r\n\tconst [foundTrains, setFoundTrains] = useState([]);\r\n\tconst [selectedDate, setSelectedDate] = useState(new Date());\r\n\r\n\tconst setFoundTrainsAndMap = (data) => {\r\n\t\tsetFoundTrains(data.map(x => ({\r\n\t\t\t...x,\r\n\t\t\ttrainType: trainTypes[x.trainType]\r\n\t\t})));\r\n\t};\r\n\r\n\tconst setTrainsToday = () => {\r\n\t\tconst today = new Date();\r\n\t\tfetch(`/api/GetTrainListByDate?departureDate=${dateFormat(today, \"dd-mm-yyyy\")}`)\r\n\t\t\t.then(x => x.json())\r\n\t\t\t.then(data => {\r\n\t\t\t\tsetTrainList(data);\r\n\t\t\t\tsetFoundTrainsAndMap(data);\r\n\t\t\t\tsetSelectedDate(today);\r\n\t\t\t})\r\n\t\t\t.catch(e => alert(e));\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tfetch(\"/api/GetStationList\")\r\n\t\t\t.then(x => x.json())\r\n\t\t\t.then(data => setStationList(data))\r\n\t\t\t.catch(e => alert(e));\r\n\t\tsetTrainsToday();\r\n\t}, []);\r\n\r\n\r\n\tconst searchByTwoStations = () => {\r\n\t\tfetch(`/api/GetTrainsBetweenTwoStations?stationFromId=${searchByTwoStationFirstStationId}\r\n\t\t\t\t&stationToId=${searchByTwoStationSecondStationId}\r\n\t\t\t\t&departureDate=${dateFormat(searchByTwoStationsDate, \"dd-mm-yyyy\")}`)\r\n\t\t\t.then(x => x.json())\r\n\t\t\t.then(data => {\r\n\t\t\t\tsetFoundTrainsAndMap(data);\r\n\t\t\t\tsetSelectedDate(searchByTwoStationsDate);\r\n\t\t\t})\r\n\t\t\t.catch(e => alert(e));\r\n\t};\r\n\r\n\tconst searchByTrainNumber = () => {\r\n\t\tfetch(`/api/GetTrainListByNumber?trainNumber=${searchByTrainNumberValue}\r\n\t\t\t\t&departureDate=${dateFormat(searchByTrainNumberDate, \"dd-mm-yyyy\")}`)\r\n\t\t\t.then(x => x.json())\r\n\t\t\t.then(data => {\r\n\t\t\t\tsetFoundTrainsAndMap(data);\r\n\t\t\t\tsetSelectedDate(searchByTrainNumberDate);\r\n\t\t\t})\r\n\t\t\t.catch(e => alert(e));\r\n\t}\r\n\r\n\tconst searchByOneStation = () => {\r\n\t\tfetch(`/api/GetTrainListByStation?stationId=${searchByOneStationStationId}\r\n\t\t\t\t&departureDate=${dateFormat(searchByOneStationDate, \"dd-mm-yyyy\")}`)\r\n\t\t\t.then(x => x.json())\r\n\t\t\t.then(data => {\r\n\t\t\t\tsetFoundTrainsAndMap(data);\r\n\t\t\t\tsetSelectedDate(searchByOneStationDate);\r\n\t\t\t})\r\n\t\t\t.catch(e => alert(e));\r\n\t}\r\n\tconst stationListOptions = stationList.map(x => ({ value: x.id, label: x.name }));\r\n\tconst trainListOptions = trainList.map(x => ({ value: x.number, label: x.number }));\r\n\tconst returnButton = Назад;\r\n\treturn (\r\n\t\t
\r\n\t\t\t{returnButton}\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

На {dateFormat(selectedDate, \"dd.mm.yyyy\")} г. найдено {foundTrains.length} поездов.

\r\n\t\t\t\t

Время отправления и прибытия местное

\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n}","import React, { useState, useEffect } from 'react';\r\nimport trainTypes from '../TrainTypes';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default function TrainInfo(props) {\r\n\tconst [trainData, setTrainData] = useState();\r\n\tconst [showError, setShowError] = useState(false);\r\n\tconst { departureDate: stringDate, trainId } = props.match.params;\r\n\tuseEffect(() => {\r\n\t\tfetch(`/api/GetTrainInfo?trainId=${trainId}&departureDate=${stringDate}`)\r\n\t\t\t.then(x => x.json())\r\n\t\t\t.then(setTrainData)\r\n\t\t\t.catch(e => alert(e));\r\n\t}, []);\r\n\tif (!trainData)\r\n\t\treturn (\"Пожалуйста, подождите...\");\r\n\tconst stationRows = trainData.stations.map(x => \r\n\t\t{x.name}\r\n\t\t{x.arrivalTime}\r\n\t\t{x.hasStop ? 'Да' : 'Нет'}\r\n\t\t{x.departureTime}\r\n\t\t{x.distanceInKilometers}\r\n\t);\r\n\tconst printButton = () => {\r\n\t\tvar mywindow = window.open('', 'PRINT', 'height=400,width=600');\r\n\t\tconst element = document.getElementById(\"train-info\");\r\n\t\tmywindow.document.write('');\r\n\t\tmywindow.document.write(element.innerHTML);\r\n\t\tmywindow.document.write('');\r\n\t\tmywindow.document.close(); // necessary for IE >= 10\r\n\t\tmywindow.focus(); // necessary for IE >= 10*/\r\n\t\tmywindow.print();\r\n\t\tmywindow.close();\r\n\r\n\t\treturn true;\r\n\t}\r\n\tconst returnButton = Назад;\r\n\treturn (\r\n\t\t\r\n\t\t\t{returnButton}\r\n\t\t\t
\r\n\t\t\t\t

Расписание поезда

\r\n\t\t\t\t

{trainData.number}, {trainData.name} на {stringDate.replace(/-/g, '.')} г.

\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
ПеревозчикОА \"Экспресс Приморья\"
Тип поезда {trainTypes[trainData.trainType]}
Дни следования{trainData.period}
\r\n\t\t\t\t
\r\n\t\t\t\t\t

Время отправления и прибытия местное

\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{stationRows}\r\n\t\t\t\t\t\r\n\t\t\t\t
СтанцияВремя прибытияСтоянкаВремя отправленияРасстояние, км
\r\n\t\t\t
\r\n\t\t\t{returnButton}\r\n\t\t\tРаспечатать\r\n\t\t
\r\n\t);\r\n}","import React, { Component } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Layout } from './components/Layout';\r\nimport { Home } from './Pages/Home';\r\nimport TrainInfo from './Pages/TrainInfo';\r\nimport './custom.css'\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport ru from \"date-fns/locale/ru\"\r\nimport { registerLocale } from \"react-datepicker\";\r\nregisterLocale(\"ru\", ru);\r\nexport default class App extends Component {\r\n static displayName = App.name;\r\n\r\n render () {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nregisterServiceWorker();\r\n\r\n"],"sourceRoot":""}