{"version":3,"sources":["app/Header/index.jsx","utils.js","app/Slider/index.jsx","loader_1.gif","app/Spinner/index.jsx","app/Reservation/index.jsx","App.jsx","serviceWorkerRegistration.js","reportWebVitals.js","index.js"],"names":["Header","className","width","height","viewBox","version","xmlns","id","stroke","strokeWidth","fill","fillRule","transform","d","formatDate","date","date_object","Date","moment","utcOffset","format","addCheckInTimeInFormattedDate","checkInDate","addCheckOutTimeInFormattedDate","checkOutDate","Component","Spinner","src","loader","alt","Field","label","type","placeholder","required","autoComplete","value","onChange","maxLength","inputMode","htmlFor","Dropdown","data","map","reservation","i","reservation_id","room_no","Reservation","props","useState","setReservation","authenticated","setAuthenticated","logout","setLogout","selectReservation","setSelectReservation","secretKey","setSecretKey","error","setError","showQrCode","setShowQrCode","cardLastfour","setCardLastfour","lastname","setLastname","phoneLastfour","setPhoneLastfour","imageStr","setImageStr","loading","setLoading","checkInDateTime","setCheckInDateTime","checkOutDateTime","setCheckOutDateTime","hotelName","setHotelName","setRoomNumber","reservations","setReservations","useEffect","authenticatedLocalStorage","localStorage","getItem","handleAuthenticate","a","getSecretKeyKiosk","length","setItem","console","log","handleLogout","removeItem","handleFindReservation","getReservationKiosk","getKeyImageKiosk","qrImage","room_qr_image","checkin_date","checkout_date","property_name","setTimeout","window","addEventListener","event","onafterprint","print","handleSelectReservation","reservationId","key","axios","method","url","process","headers","Accept","property","image","handleBack","err","Fragment","e","target","onClick","App","isLocalhost","Boolean","location","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","state","controller","onUpdate","onSuccess","catch","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","queryClient","QueryClient","defaultOptions","queries","refetchOnWindowFocus","ReactDOM","render","StrictMode","client","document","getElementById","URL","href","origin","fetch","response","contentType","get","status","indexOf","ready","unregister","reload","checkValidServiceWorker","serviceWorkerRegistration"],"mappings":"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","file":"static/js/main.49d208c0.chunk.js","sourcesContent":["import React from \"react\";\r\nimport \"./styles.css\";\r\n\r\nexport const Header = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n Group 30 Copy\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n","import moment from \"moment\";\r\n\r\n/** to know\r\n * whether app is running as standalone\r\n * or via web-browser\r\n */\r\nexport const isAppRunningAsPwa = () => {\r\n\tif (window.matchMedia(\"(display-mode: standalone)\").matches) {\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n};\r\n\r\n/** format time */\r\nexport const formatDate = (date) => {\r\n\tconst date_object = new Date(date);\r\n\treturn moment(date_object).utcOffset(0).format(\"MM/DD/YYYY\");\r\n};\r\n\r\n/** get formatted date and append checkin time */\r\nexport const addCheckInTimeInFormattedDate = (checkInDate) => {\r\n\tconst date = formatDate(checkInDate);\r\n\treturn `${date} : 04:00 PM`;\r\n};\r\n\r\n/** get formatted date and append checkout time */\r\nexport const addCheckOutTimeInFormattedDate = (checkOutDate) => {\r\n\tconst date = formatDate(checkOutDate);\r\n\treturn `${date} : 11:00 AM`;\r\n};\r\n\r\n/** to know whether chrome is used as browser on iOS */\r\nexport const isChromeOnIos = () => {\r\n\treturn (\r\n\t\t/CriOS/i.test(navigator.userAgent) &&\r\n\t\t/iphone|ipod|ipad/i.test(navigator.userAgent)\r\n\t);\r\n};\r\n","import React, { Component } from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport \"./styles.css\";\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport ScreenIcon from \"../../logo-1.png\";\r\nimport { ShareIcon } from \"../ShareIcon\";\r\n\r\nexport default class DemoCarousel extends Component {\r\n render() {\r\n return (\r\n \r\n
\r\n 1. Tap on the share icon\r\n
\r\n 2. Scroll down to click on “Add to Home Screen”\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","export default __webpack_public_path__ + \"static/media/loader_1.2724750a.gif\";","import React from \"react\";\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\r\nimport loader from \"../../loader_1.gif\";\r\nimport \"./styles.css\";\r\n\r\nexport const Spinner = () => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\"loader\"\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useQuery } from \"react-query\";\r\nimport { Header } from \"../Header\";\r\nimport axios from \"axios\";\r\nimport queryString from \"query-string\";\r\nimport \"./styles.css\";\r\nimport { Spinner } from \"../Spinner\";\r\nimport {\r\n addCheckInTimeInFormattedDate,\r\n addCheckOutTimeInFormattedDate,\r\n} from \"../../utils\";\r\n\r\nconst Field = ({\r\n label,\r\n id,\r\n type,\r\n placeholder,\r\n required,\r\n autoComplete,\r\n value,\r\n onChange,\r\n maxLength,\r\n inputMode,\r\n}) => (\r\n
\r\n \r\n \r\n
\r\n);\r\n\r\nconst Dropdown = ({ label, id, value, onChange, maxLength, data }) => (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n);\r\n\r\nconst Reservation = (props) => {\r\n const [reservation, setReservation] = useState(null);\r\n const [authenticated, setAuthenticated] = useState(false);\r\n const [logout, setLogout] = useState(false);\r\n const [selectReservation, setSelectReservation] = useState(false);\r\n const [secretKey, setSecretKey] = useState(\"\");\r\n const [error, setError] = useState(null);\r\n const [showQrCode, setShowQrCode] = useState(false);\r\n const [cardLastfour, setCardLastfour] = useState(\"\");\r\n const [lastname, setLastname] = useState(\"\");\r\n const [phoneLastfour, setPhoneLastfour] = useState(\"\");\r\n const [imageStr, setImageStr] = useState(null);\r\n const { loading, setLoading } = props;\r\n const [checkInDateTime, setCheckInDateTime] = useState(null);\r\n const [checkOutDateTime, setCheckOutDateTime] = useState(null);\r\n const [hotelName, setHotelName] = useState(null);\r\n const [roomNumber, setRoomNumber] = useState(null);\r\n const [reservations, setReservations] = useState();\r\n\r\n useEffect(() => {\r\n const authenticatedLocalStorage = localStorage.getItem(\"auth\");\r\n if (authenticatedLocalStorage) {\r\n setAuthenticated(authenticatedLocalStorage);\r\n }\r\n }, []);\r\n\r\n const handleAuthenticate = async () => {\r\n try {\r\n setLoading(true);\r\n setError(\"\");\r\n\r\n const data = await getSecretKeyKiosk(secretKey);\r\n if (secretKey && data.length > 0) {\r\n setAuthenticated(true);\r\n localStorage.setItem(\"auth\", true);\r\n setSecretKey(\"\");\r\n } else {\r\n setError(\"Please use a valid secret key\");\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n setError(\"Unable to authenticate\");\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const handleLogout = async () => {\r\n try {\r\n setLoading(true);\r\n setError(\"\");\r\n\r\n const data = await getSecretKeyKiosk(secretKey);\r\n if (secretKey && data.length > 0) {\r\n setAuthenticated(false);\r\n setLogout(false);\r\n localStorage.removeItem(\"auth\");\r\n setSecretKey(\"\");\r\n } else {\r\n setLogout(false);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n setError(\"Unable to logout\");\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const handleFindReservation = async () => {\r\n try {\r\n setLoading(true);\r\n setError(\"\");\r\n\r\n if (lastname && cardLastfour && phoneLastfour) {\r\n const data = await getReservationKiosk();\r\n console.log(data);\r\n if (data.length === 1) {\r\n const qrImage = await getKeyImageKiosk(data[0].id);\r\n if (qrImage && qrImage.room_qr_image) {\r\n setImageStr(\"data:image/png;base64, \" + qrImage.room_qr_image);\r\n }\r\n\r\n setCheckInDateTime(\r\n addCheckInTimeInFormattedDate(qrImage.checkin_date)\r\n );\r\n setCheckOutDateTime(\r\n addCheckOutTimeInFormattedDate(qrImage.checkout_date)\r\n );\r\n\r\n setHotelName(qrImage.property_name);\r\n setRoomNumber(qrImage.room_no);\r\n\r\n setReservation(data[0].id);\r\n setShowQrCode(true);\r\n\r\n setTimeout(() => {\r\n window.addEventListener(\"afterprint\", function (event) {\r\n setLastname(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setReservation(null);\r\n setShowQrCode(false);\r\n setSelectReservation(false);\r\n setError(\"\");\r\n });\r\n window.onafterprint = function (event) {\r\n setLastname(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setReservation(null);\r\n setShowQrCode(false);\r\n setSelectReservation(false);\r\n setError(\"\");\r\n };\r\n\r\n window.print();\r\n }, 1000);\r\n\r\n // go to find reservations after x seconds\r\n setTimeout(() => {\r\n if (reservation && setShowQrCode) {\r\n setLastname(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setReservation(null);\r\n setShowQrCode(false);\r\n setSelectReservation(false);\r\n setError(\"\");\r\n }\r\n }, 10000);\r\n } else if (data.length >= 1) {\r\n setReservations(data);\r\n setSelectReservation(true);\r\n // go to find reservations after x seconds\r\n setTimeout(() => {\r\n if (!reservation) {\r\n setLastname(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setReservation(null);\r\n setReservations();\r\n setShowQrCode(false);\r\n setSelectReservation(false);\r\n setError(\"\");\r\n }\r\n }, 30000);\r\n } else {\r\n setError(\"Reservation not found or key expired\");\r\n }\r\n } else {\r\n setError(\"Please fill all required fields\");\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n setError(\"Key Expired. Please contact the front desk\");\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const handleSelectReservation = async (reservationId: string) => {\r\n try {\r\n setLoading(true);\r\n setError(\"\");\r\n const qrImage = await getKeyImageKiosk(reservationId);\r\n if (qrImage && qrImage.room_qr_image) {\r\n setImageStr(\"data:image/png;base64, \" + qrImage.room_qr_image);\r\n }\r\n\r\n setCheckInDateTime(addCheckInTimeInFormattedDate(qrImage.checkin_date));\r\n setCheckOutDateTime(\r\n addCheckOutTimeInFormattedDate(qrImage.checkout_date)\r\n );\r\n\r\n setHotelName(qrImage.property_name);\r\n setRoomNumber(qrImage.room_no);\r\n\r\n setReservation(reservationId);\r\n setShowQrCode(true);\r\n\r\n setTimeout(() => {\r\n window.addEventListener(\"afterprint\", function (event) {\r\n setLastname(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setReservation(null);\r\n setReservations();\r\n setShowQrCode(false);\r\n setSelectReservation(false);\r\n setError(\"\");\r\n });\r\n window.onafterprint = function (event) {\r\n setLastname(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setReservation(null);\r\n setReservations();\r\n setShowQrCode(false);\r\n setSelectReservation(false);\r\n setError(\"\");\r\n };\r\n\r\n window.print();\r\n }, 1000);\r\n\r\n // go to find reservations after x seconds\r\n setTimeout(() => {\r\n if (reservation) {\r\n setLastname(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setReservation(null);\r\n setReservations();\r\n setShowQrCode(false);\r\n setSelectReservation(false);\r\n setError(\"\");\r\n }\r\n }, 10000);\r\n } catch (err) {\r\n console.log(err);\r\n setError(\"Key Expired. Please contact the front desk\");\r\n setTimeout(() => {\r\n setLastname(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setReservation(null);\r\n setReservations();\r\n setShowQrCode(false);\r\n setSelectReservation(false);\r\n setError(\"\");\r\n }, 10000);\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n async function getSecretKeyKiosk(key: string) {\r\n try {\r\n const property = await axios({\r\n method: \"get\",\r\n url: `${process.env.REACT_APP_API_BASE_URL}reservationKey/getSecretKeyKiosk?secretKey=${key}`,\r\n headers: {\r\n Accept: \"application/ecmascript\",\r\n },\r\n });\r\n\r\n return property.data;\r\n } catch (error) {\r\n console.log(\"Error while getting a key:\", error);\r\n throw error;\r\n }\r\n }\r\n\r\n async function getReservationKiosk() {\r\n try {\r\n const reservation = await axios({\r\n method: \"get\",\r\n url: `${process.env.REACT_APP_API_BASE_URL}reservationKey/getReservationKiosk?lastname=${lastname}&cardLastfour=${cardLastfour}&phoneLastfour=${phoneLastfour}`,\r\n headers: {\r\n Accept: \"application/ecmascript\",\r\n },\r\n });\r\n\r\n return reservation.data;\r\n } catch (error) {\r\n console.log(\"Error while getting a reservation:\", error);\r\n throw error;\r\n }\r\n }\r\n\r\n async function getKeyImageKiosk(reservationId) {\r\n try {\r\n const image = await axios({\r\n method: \"get\",\r\n url: `${process.env.REACT_APP_API_BASE_URL}reservationKey/getRoomKeyImageKiosk?reservationId=${reservationId}`,\r\n headers: {\r\n Accept: \"application/ecmascript\",\r\n },\r\n });\r\n\r\n return image.data;\r\n } catch (error) {\r\n console.log(\"Error while getting QR image:\", error);\r\n throw error;\r\n }\r\n }\r\n\r\n const handleBack = async () => {\r\n try {\r\n setLastname(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setReservation(null);\r\n setShowQrCode(false);\r\n setSelectReservation(false);\r\n setError(\"\");\r\n } catch (err) {\r\n console.log(err);\r\n } finally {\r\n }\r\n };\r\n\r\n return (\r\n \r\n {loading && }\r\n
\r\n
\r\n\r\n {!reservation && !authenticated ? (\r\n
\r\n
\r\n {\r\n setSecretKey(e.target.value);\r\n }}\r\n />\r\n
\r\n {error ?
{error}
: null}\r\n\r\n
\r\n {\r\n handleAuthenticate();\r\n }}\r\n >\r\n Authenticate\r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n {logout && authenticated ? (\r\n
\r\n
\r\n {\r\n setSecretKey(e.target.value);\r\n }}\r\n />\r\n
\r\n {error ?
{error}
: null}\r\n\r\n
\r\n {\r\n handleLogout();\r\n }}\r\n >\r\n LOGOUT\r\n \r\n
\r\n\r\n
\r\n {\r\n setLogout(false);\r\n }}\r\n >\r\n FIND RESERVATION\r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n {!reservation && !selectReservation && authenticated && !logout ? (\r\n
\r\n PRINT YOUR KEY\r\n
\r\n {\r\n setLastname(e.target.value);\r\n }}\r\n inputMode=\"text\"\r\n />\r\n
\r\n\r\n
\r\n {\r\n setCardLastfour(e.target.value);\r\n }}\r\n inputMode=\"numeric\"\r\n />\r\n
\r\n
\r\n {\r\n setPhoneLastfour(e.target.value);\r\n }}\r\n inputMode=\"numeric\"\r\n />\r\n
\r\n {error ?
{error}
: null}\r\n\r\n
\r\n {\r\n handleFindReservation();\r\n }}\r\n >\r\n FIND RESERVATION\r\n \r\n
\r\n
\r\n {\r\n setSecretKey(\"\");\r\n setCardLastfour(\"\");\r\n setPhoneLastfour(\"\");\r\n setLogout(true);\r\n }}\r\n >\r\n LOGOUT\r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n {!reservation && reservations && selectReservation && authenticated ? (\r\n
\r\n
\r\n {\r\n console.log(e.target.value);\r\n handleSelectReservation(e.target.value);\r\n }}\r\n data={reservations && reservations}\r\n />\r\n
\r\n\r\n {error ?
{error}
: null}\r\n\r\n {error ? (\r\n
\r\n {\r\n handleBack();\r\n }}\r\n >\r\n BACK\r\n \r\n
\r\n ) : null}\r\n
\r\n ) : null}\r\n\r\n {reservation && showQrCode ? (\r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n \r\n {hotelName}\r\n
\r\n
\r\n \r\n {process.env.REACT_APP_ENV === \"dev\"\r\n ? \"117 - Accessible\"\r\n : roomNumber}{\" \"}\r\n
\r\n
\r\n \r\n \r\n {checkInDateTime} - {checkOutDateTime}\r\n \r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Reservation;\r\n","import { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport queryString from \"query-string\";\r\nimport Android from \"./app/pages/android\";\r\nimport IOS from \"./app/pages/ios\";\r\nimport ExpireState from \"./app/ExpireState\";\r\nimport Reservation from \"./app/Reservation\";\r\nimport { Spinner } from \"./app/Spinner\";\r\nimport \"./App.css\";\r\nimport ScreenIcon from \"./logo-1.png\";\r\nimport { isAppRunningAsPwa } from \"./utils\";\r\nimport { useQuery } from \"react-query\";\r\nimport Popup from \"reactjs-popup\";\r\nimport \"reactjs-popup/dist/index.css\";\r\n\r\nfunction App() {\r\n const [loading, setLoading] = useState(false);\r\n const [imageStr, setImageStr] = useState(null);\r\n const [reservation, setReservation] = useState(null);\r\n const [isError, setError] = useState(false);\r\n\r\n return (\r\n
\r\n
\r\n {}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\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 subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://cra.link/PWA\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.0/8 are 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 function register(config) {\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.href);\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/facebook/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. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n \"This web app is being served cache-first by a service \" +\r\n \"worker. To learn more, visit https://cra.link/PWA\"\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n \"New content is available and will be used when all \" +\r\n \"tabs for this page are closed. See https://cra.link/PWA.\"\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\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 // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\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, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { \"Service-Worker\": \"script\" },\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.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, config);\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\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","const reportWebVitals = (onPerfEntry) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import(\"web-vitals\").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport * as serviceWorkerRegistration from \"./serviceWorkerRegistration\";\r\nimport reportWebVitals from \"./reportWebVitals\";\r\nimport { QueryClient, QueryClientProvider } from \"react-query\";\r\n\r\n// Query client for React-Query\r\nconst queryClient = new QueryClient({\r\n\tdefaultOptions: {\r\n\t\tqueries: {\r\n\t\t\trefetchOnWindowFocus: false,\r\n\t\t},\r\n\t},\r\n});\r\n\r\nReactDOM.render(\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t,\r\n\tdocument.getElementById(\"root\"),\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://cra.link/PWA\r\nserviceWorkerRegistration.register();\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}