{"version":3,"sources":["context/GlobalContext.jsx","services/usersAPI.js","services/reservationAPI.js","polyfill.js","containers/PrivateRouteLayout.jsx","App.js","serviceWorker.js","index.js","services/loginAPI.js","services/api.js"],"names":["GlobalContext","createContext","GlobalContextProvider","props","_useState","useState","_useState2","Object","C_Users_Viper_source_repos_Gamalek_React_Gamalek_React_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__","workersReport","setWorkersReport","_useState3","_useState4","currentPage","setCurrentPage","_useState5","_useState6","searchText","setSearchText","_useState7","_useState8","user","setUser","_useState9","_useState10","users","setUsers","_useState11","_useState12","reservationsBystatus","setReservationsByStatus","_useState13","_useState14","reservations","setReservations","getReservationByStatus","_ref","C_Users_Viper_source_repos_Gamalek_React_Gamalek_React_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__","C_Users_Viper_source_repos_Gamalek_React_Gamalek_React_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","a","mark","_callee","wrap","_context","prev","next","reservationAPI","getreservationsByStatus","then","res","data","console","log","stop","apply","this","arguments","useEffect","_callee2","_context2","loginAPI","isAuthenticated","currentUser","length","usersAPI","getUsers","react__WEBPACK_IMPORTED_MODULE_3___default","createElement","Provider","value","children","_api__WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","__webpack_exports__","api","get","getUserById","id","concat","editUser","model","post","addUser","deleteUser","delete","getreservations","getreservationCode","edit","add","del","window","CustomEvent","event","params","bubbles","cancelable","detail","undefined","evt","document","createEvent","initCustomEvent","prototype","Event","PrivateRouteLayout","Component","component","rest","objectWithoutProperties","react_default","react_router","assign","render","to","loading","className","DefaultLayout","Loadable","loader","Promise","all","e","bind","Login","theme","createMuiTheme","palette","type","primary","main","App","ThemeProvider","react_router_dom","exact","path","name","containers_PrivateRouteLayout","Boolean","location","hostname","match","ReactDOM","src_App_0","getElementById","navigator","serviceWorker","ready","registration","unregister","checkLogin","username","password","localStorage","getItem","JSON","parse","apisauce__WEBPACK_IMPORTED_MODULE_0__","create","baseURL"],"mappings":"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","file":"static/js/main.5b987db3.chunk.js","sourcesContent":["import React, { createContext, useEffect, useState } from \"react\";\r\nimport loginAPI from \"../services/loginAPI\";\r\nimport reservationAPI from \"../services/reservationAPI\";\r\nimport usersAPI from \"../services/usersAPI\";\r\n\r\nexport const GlobalContext = createContext();\r\n\r\nexport const GlobalContextProvider = (props) => {\r\n const [workersReport, setWorkersReport] = useState([]);\r\n const [currentPage, setCurrentPage] = useState([]);\r\n const [searchText, setSearchText] = useState([]);\r\n const [user, setUser] = useState({});\r\n const [users, setUsers] = useState([]);\r\n\r\n const [reservationsBystatus, setReservationsByStatus] = useState([]);\r\n const [reservations, setReservations] = useState([]);\r\n const getReservationByStatus = async () => {\r\n await reservationAPI.getreservationsByStatus().then((res) => {\r\n setReservationsByStatus(res.data);\r\n console.log(\"CONTEXT\", res.data);\r\n });\r\n };\r\n useEffect(async () => {\r\n if (loginAPI.isAuthenticated) {\r\n setUser(loginAPI.currentUser());\r\n }\r\n if (users.length <= 0) {\r\n await usersAPI.getUsers().then((res) => {\r\n setUsers(res.data.users);\r\n });\r\n }\r\n\r\n getReservationByStatus();\r\n }, [users]);\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default GlobalContextProvider;\r\n","import api from \"./api\";\r\n\r\nconst users = \"/users/users\";\r\nconst user = \"/users/usersbyid\";\r\nconst edit = \"/users/edit\";\r\nconst add = \"/users/add\";\r\nconst del = \"/users/delete=\";\r\n\r\nconst getUsers = () => api.get(users);\r\n\r\nconst getUserById = (id) => api.get(`${user}/${id}`);\r\n\r\nconst editUser = (model) => api.post(edit, model);\r\nconst addUser = (model) => api.post(add, model);\r\nconst deleteUser = (id) => api.delete(del + id);\r\n\r\nexport default {\r\n getUsers,\r\n getUserById,\r\n editUser,\r\n addUser,\r\n deleteUser,\r\n};\r\n","import api from \"./api\";\r\n\r\nconst Reservations = \"/reservations/reservations\";\r\nconst ReservationsByStatus = \"/reservations/reservationsbystatus\";\r\nconst ReservationCode = \"/reservations/getreservationcode\";\r\nconst Add = \"/reservations/add\";\r\nconst Edit = \"/reservations/edit\";\r\nconst Del = \"/reservations/delete=\";\r\nconst getreservations = () => api.get(Reservations);\r\nconst getreservationCode = () => api.get(ReservationCode);\r\nconst getreservationsByStatus = () => api.get(ReservationsByStatus);\r\n\r\nconst edit = (model) => api.post(Edit, model);\r\nconst add = (model) => api.post(Add, model);\r\nconst del = (id) => api.delete(Del + id);\r\n\r\nexport default {\r\n getreservations,\r\n getreservationCode,\r\n getreservationsByStatus,\r\n edit,\r\n add,\r\n del,\r\n};\r\n","/*\n* required polyfills\n*/\n\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\n// import 'core-js/es6/symbol'\n// import 'core-js/es6/object'\n// import 'core-js/es6/function'\n// import 'core-js/es6/parse-int'\n// import 'core-js/es6/parse-float'\n// import 'core-js/es6/number'\n// import 'core-js/es6/math'\n// import 'core-js/es6/string'\n// import 'core-js/es6/date'\nimport 'core-js/es6/array'\n// import 'core-js/es6/regexp'\nimport 'core-js/es6/map'\n// import 'core-js/es6/weak-map'\nimport 'core-js/es6/set'\nimport 'core-js/es7/object'\nimport 'core-js/es6/promise'\n\n/** IE10 and IE11 requires the following for the Reflect API. */\n// import 'core-js/es6/reflect'\n\n/** Evergreen browsers require these. **/\n// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.\n// import 'core-js/es7/reflect'\n\n// CustomEvent() constructor functionality in IE9, IE10, IE11\n(function () {\n\n if ( typeof window.CustomEvent === \"function\" ) return false\n\n function CustomEvent ( event, params ) {\n params = params || { bubbles: false, cancelable: false, detail: undefined }\n var evt = document.createEvent( 'CustomEvent' )\n evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail )\n return evt\n }\n\n CustomEvent.prototype = window.Event.prototype\n\n window.CustomEvent = CustomEvent\n})()\n","import React from \"react\";\r\nimport {\r\n\r\n Route,\r\n\r\n Redirect,\r\n\r\n} from \"react-router-dom\";\r\n\r\nimport loginAPI from \"../services/loginAPI\";\r\n\r\nconst PrivateRouteLayout = ({ component: Component, ...rest }) => (\r\n {\r\n let authenticated = loginAPI.isAuthenticated();\r\n if (authenticated === true) return ;\r\n else return ;\r\n }}\r\n />\r\n);\r\n\r\nexport default PrivateRouteLayout;\r\n","import React from \"react\";\nimport { BrowserRouter, Route, Switch } from \"react-router-dom\";\n\nimport { ThemeProvider, createMuiTheme } from \"@material-ui/core/styles\";\n\nimport Loadable from \"react-loadable\";\nimport \"./App.scss\";\n\nimport GlobalContextProvider from \"./context/GlobalContext\";\nimport loginAPI from \"./services/loginAPI\";\nimport PrivateRouteLayout from \"./containers/PrivateRouteLayout\";\nconst loading = () => (\n
\n
\n
\n);\n\n// Containers\nconst DefaultLayout = Loadable({\n loader: () => import(\"./containers/DefaultLayout\"),\n loading,\n});\n\n// Pages\nconst Login = Loadable({\n loader: () => import(\"./views/Pages/Login\"),\n loading,\n});\n\nconst theme = createMuiTheme({\n palette: {\n type: \"dark\",\n\n primary: {\n // light: will be calculated from palette.primary.main,\n main: \"#20a8d8\",\n // dark: will be calculated from palette.primary.main,\n // contrastText: will be calculated to contrast with palette.primary.main\n },\n },\n});\n\nconst App = (props) => {\n const user = loginAPI.currentUser();\n console.log(user);\n if (user !== null) {\n }\n return (\n \n \n \n \n \n\n \n \n \n \n \n );\n};\n\nexport default App;\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\n );\n });\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n\n // Execute callback\n if (config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import \"react-app-polyfill/ie9\"; // For IE 9-11 support\nimport \"react-app-polyfill/ie11\"; // For IE 11 support\nimport \"./polyfill\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nReactDOM.render(, document.getElementById(\"root\"));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","import api from \"./api\";\r\n\r\nconst Login = \"/login/checklogin/\";\r\nconst isAuthenticated = () => {\r\n return localStorage.getItem(\"user\") && localStorage.getItem(\"user\") !== \"null\"\r\n ? true\r\n : false;\r\n};\r\nconst currentUser = () => {\r\n return JSON.parse(localStorage.getItem(\"user\"));\r\n};\r\n\r\nconst checkLogin = (username, password) =>\r\n api.post(Login + `username=${username}&password=${password}`);\r\n\r\nexport default {\r\n checkLogin,\r\n isAuthenticated,\r\n currentUser,\r\n};\r\n","import { create } from \"apisauce\";\r\n//https://gamalekreact.azurewebsites.net\r\nconst api = create({\r\n baseURL: \"https://gamalekreact.azurewebsites.net/\",\r\n});\r\n\r\nexport default api;\r\n"],"sourceRoot":""}