{"version":3,"sources":["images/fruits-group.png","images/logo-nombre.png","images/microsoft.svg","images/playStore.png","images/appStore.png","images/login-footer.png","images/footer-app.png","config/colors.js","utils/utils.js","config/credentials.js","api/api.js","constants/constants.js","components/Login.js","components/DownloadApp.js","components/Background.js","components/ForgotResponse.js","components/ChangePasswordResponse.js","views/Home.js","views/Forbidden.js","views/NotFound.js","views/Forgot.js","views/ChangePassword.js","views/Logout.js","views/index.js","config/routes.js","App.js","serviceWorker.js","index.js"],"names":["module","exports","colors","WHITE","LIGHT","MID","DARK","CHERRY","APPLE","getParameterByName","name","url","window","location","href","replace","results","RegExp","exec","decodeURIComponent","clientId","process","redirectUrl","scope","baseUrlForgot","baseUrl","getAuthorizationUrl","getLogoutUrl","errorCode","newRedirectUrl","encodeURIComponent","getPortalUrl","token","API","axios","create","baseURL","USER_TOKEN","GET_JWT","localStorage","getItem","REMOVE_JWT","removeItem","networkStatus","Login","props","handleLogin","setState","loading","renderButtonText","state","waiting","error","jwt","this","getAccess","getErrors","code","post","then","res","data","setItem","catch","errCode","response","status","loggedin","logoutUser","parseInt","classes","Grid","item","xs","className","errorContainer","errorText","CardContent","card","container","style","textAlign","alt","src","logo","welcomeText","fruits","contentText","renderError","contentButton","Button","variant","type","color","onClick","disabled","backgroundColor","CircularProgress","icon","size","thickness","microsoft","height","width","marginRight","contentForgot","forgotText","Component","withStyles","spacing","createStyles","paddingRight","paddingLeft","paddingBottom","fontSize","fontWeight","display","justifyContent","paddingTop","oldAccess","oldAccessLink","downloadAppContainer","minWidth","downloadText","storesContainer","margin","alignItems","flexDirection","storeLogo","padding","rel","target","playStore","appStore","screenWidth","screen","screenHeight","innerHeight","imageFooter","loginFooter","footerApp","footerHeight","backgroundContainer","minHeight","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","children","ForgotResponse","goBackToLogin","redirect","to","maxWidth","titleMessage","marginTop","marginLeft","marginBottom","cardContent","Card","zIndex","ForbiddenStyle","styled","div","ForbiddenView","NotFoundStyle","NotFoundView","cardContainer","ChangePasswordResponse","Logout","logout","contentLoading","Home","Forbidden","NotFound","Forgot","ChangePassword","routes","home","forgot","changePassword","App","exact","path","component","Views","Boolean","hostname","match","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.0f0713fd.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logo-nombre.b0abbc18.png\";","module.exports = __webpack_public_path__ + \"static/media/microsoft.bb606d99.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM4AAABICAYAAAC+9soBAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAzqADAAQAAAABAAAASAAAAACuQRg1AAAbcElEQVR4Ae09CXQUVbZVvaWTdNIhCWsCCWuAoMGFTZDF3XEccfzM9pVF8aOOC6MsOup3QQQVlT86OnxHEXU8fAERnOMgjpDEAAmgBCFAEjahkSVbd6e703v9e1/6FdXV1Z1OurqTaNU53fWW++6771bd9+67771bLCNxcRw3C5Knwm904Ac35VI48LPhgBlaWhn4rWFZFsNBFyuMgcBMhfhq+OXDT7kUDigcaOVAMdz+JBQgXnBAaGZDJgqNcikcUDgQygEchaZR4SGCA0IzHRI3hsIqKQoHFA4IOIDCMxCEx6wKJL4uyFSCCgcUDkhzIAOSV2IWq6ho0hxSUhUOROBADxxxpkYAULIUDigcCOXAdBScotB0JUXhgMKBCBzIR8EZHQFAyVI4oHBAggMoON3u8uw5WtM896/FLSs27eh2xCsE/yQ4gMYBrru0BAXF/uqmPMbryw3QbM2uW5PeXehX6PzJcOA5TXdoCme2W5vGLTrub7RNFNKrykw9AXFljiZkihJOCAe6vKqGalnD0D9yIDQhczG2T5YtIVxSKlE4IOJAlxYc//ELZyy/eKE3w3BGEd0kqr/1SqlkJU3hQNw50KUFp3Hqk/ZwQgOcsernXjcq7hxSKlA4IMGBLis4xGLW4h4mQTNJSvrVmH1sRqrkSBSuzE8xHed/7i/3VSaibagBuP65tywRdUVTB6rxSFM0sHLDdFnjgH3FZ/lhG6tWnTG8OidkzhMWvgMZxCAx7enD/nPmHGLFS9FVq/S6Ft308ZaUeTcOUQ3qldMBtLIX8ZRXn7De9T+j0z98ZL/upsvjaiixL/3kqGvznilJdWtkb0dHEFpueaGvqkfK8czqtxL+LLrkiOPe8t1+xucPy4z01Q/WxXu0wRfSb2oYl/S7ST9mVr9R2aN0mTll4e0W99f7hzSOXZjqeHH9Vx152EqZjnHA+cH23dbfrKgIKs1xaUHxBEa65IjjWrfTHI4HqYtvL9PdfMWkcPlyp6c+PSNJlZlWxGQyjHrudQzMqxjbsg07HK9tvp7VaXckL7htotx1KvhCOWB7Zm2WSqfuMlbULik4nrJDGaGsY6yGV2cf1s+cljChkaCBJBmeuGOi79Cp/faXNo4CweHBUL1reXtLue/YOR0mpv55xlCq0mGPqR7RP0M7Zgg/b0P93FtjqheqWBRHyhN33IA6vDorPRVxYHlP6SEHm5XOpj7x68tgxI248EvhkQ7tlMJk/V1Tx2GYXq7P9+xwb9rtwXg4nDjyu9bvatKM6K/R33PtpbRsW3fnu//e7tlVTc566efd2E/YZmyft/bsOUzDeaz3iMkTrn5aD5nv2pwT/QxraXl1cxnbM00H78FYmo93SqtUWzGf1oVh4XPBeEeuLik4ooZY4YX7PmPzE5fAyxL08EVwCY2mLr7DZt5SacQHhi8+3q13/SVfNbhX/5S5N1xwbtjRt3HcIgOMkGRUcrz+OQPzpZTss+/xdJpvfrbe32gvyqx45QwVMPuyDZXO976+Qf/7yVbn37acxTkFvNoWRs3mqNKT6/xN9tGQb8mq/atVSnjI3Kx1sXi4Or/XUc7j9bg27R7neGFdZY+KlwdhGc+e2urme9/K144bdhSJ8fxz7xDn2tKz2T+8wwtj05Snd0DnMJFJ1tV4Sqsc9uUbEBRoCX9hR9A47Ukbq9FckXzP9d9zF8xayy+WDNNOGl5i3PgEKWt7bPU+1+a9oxmNysRwXD7fprWl1Vn7VzJSbWr5qDjwnnJGx1tfJKtysltAcAghfqszq77v3SZVmp7zOz39oK3DXBvKS42fPT4ZAZAfDUXzz6p6GvNBe6j1VZ3RgKptMLw2e7dY+MK3TCIHt9x0tct37Pxpxysbv3F9sXdfZ9Hm+te3lXXZMzlfg7VSigZMx3x44db7m2yWuuxZZuv8dyuEsBjHdGiPyfHKZ2UEH4QRprXMTA7SLM2L1pTQcg3D7q9sGP0ngsd69xvFWKZx8lNlNB95gmm0DKUT7whDy7h311bTMu7dNUewDObRNOEdaDFjvn3puq2YTmmldWAaxYFw4S5C+xWPmfx+v5nCuEurSrAM4sQ0Sp/5tmV8m8VtomWFd8Rd138u3ybMQ7z4Q9ooLPIO05C/mIb1NABNNB/vrTTNMlMYYV6U4WfjbxxocTMtr23eYbn5+fKGoQ9U1fWe7ajvPcdSP/C+45C2y71pzwGxPEPvm5u8YPokmMvwljP/qfoz9v/+eHvjqEfK6vvdUwMvZEN9z1lMffasMw158w5Cz/aV+9PynWJccY+n6PvgKIHrTYZXZgUZNCDeD9Mdq7Yco2tOrk93nUSanH//9wEGrIPaiSMq3Z+VE7M69o44AiX/5xSiQiEcXsbVD+W1hhiG8ATKcfVWjqYJ7zhCAc5SoXqkHTO0QJWbtZv09AJgrA9N2aC2HcFkz+6jSXhvef9rqEhz1vDSTNJrYxrBkZm6H8NSF442SHva63cfg6PF/DKB9uqRk1V5Pc+0vPOlQVgu7bW7B9F44Dlb3Vsr9TRN6q5K1raI02Hb1X6kjaYblt1J2oDGHUzz7Dg8GmjgTdac13eG7dcDjAqckcLQsu25x01V859tbLbe+/Yxz+6aApZj+Ak0UXwZeOa2FqNn77FBnrlvMsxc1qIpyvsOzLx6deEAtXpkboHvVN0h/8k6fcvqbWfdW/flM27vSGgY/2KyrYhAi2FyOIczB+YDo+DHMPevOpf6zG+qkx+4eUp7GNFeWE/ZYWLA0Bbm5Tnf3nIYy7MaNU9fIJ6Ld095rRpUECOqPc7P9zI4L2r5R4lWO77gWPJ9NxjBnFyEL7Fr8258gcdSIcOyeGFH0hpq/VcZk+uFcRoOrGnkaMcOcdE0etdePqjFZWrgBdQ8fdn3vqrTk4CmFJVeS8B8h0+RfFAHM9VD+h2HxL60PN7VIwZY/DtIU4XJJIxzNQjkqAv780JDgdQjcuo9W/bn0zjeQ9qE+w4dTvLSC+FiDFugvNH1UclY+FFU+IzIc2Kz0iIKKi0gdY+L4Lg+LT/RfP+qTMbvH03fb6nKL6ZxRu/+k9OsD6y6mMQwEwKRy4SJbYb9/j72Z9b2cbzxxd6sPSuGMYYkXm9vs2yUADCcW+1L1g3GEQNfAFXfHsciFdUM6e3FfP3vrz7nfG8bERIwdY9N+9/7qwO9pRVHIBQqFC4QMt6AEA6vlAGFzUwlvTo1TgjL+hts/KMw37b8gO/Q6UuNXzxF62fqB9xbw8PrNDruXAPBxadBQJVlkBzlhDBhw8na85AXIlRh4WXIgM6IYMERmM55RGj5kUqU3mZUdlXNvnT9geZ5bw8EoUkok8QtBVXmyobCh05jTy7OizVuX/7pAf/JC7mGl2eaEBdanfDuPXgq6HwQjdP8lHk3gXrCGa2z36gkalpAxVCPHHAARyBftSkfhQtxdeQioxrLnobRMIT3oJYMRrUG8eKkH+sUqjiMYJeGumc6qIyOfDHvXF/tDxqBhDTC6JmPcceqrUEmY1SNvDtr8tUD+9QJ4RMRJvyAzg1GULXc9ckqOJ6KmpqWlZ9fIjeRHcXHOVyFYNmKOBq0hduz40gTwuAL4DvdUNE4ZqHJ+drmibieBFYZYuUjazkwUlhuWzYKYRDed6p+N8bxZaVrPUQ9gQcJOItQTUM4vJLvuUbrNzUW4KJvq3C1pnfk37Bi1o+4k7xp6lNlZN4Bcw8MI27DyntaRwyg1VdzJg8FA38kX1CZce3CnijgaI3CORCaxQmMQLgE4CSILylsgypB3oDg4sTfijwz37rUxlkdrHCeJi4bTRx3wuMcyvlhcYVYoCOVN7zwh2rsKPDgY0CVZbA9NBypbKQ8+VQ1u9tqueOl5EiVdUaeul+mvyP1kh4UXvLmu9+c2tyKIAfUKLs6v/dJMB+jjj5JiDfr+5W9zb9adqDp8kdp+nDtVcP3pa95mDdwIHzSLVfgtpXLhJNjNIvaHnvfikIGeIsoXjY7HdUrHDGD1c0UvUtTOAAFuojq6fQeEOYK26IPBjaOW9g65wK60z94uJIaW4wbFnGWW19kwVhD8IK5n9HPubaEGhxQwGHNrMK2YM1I650rcXXemnTrmB+hs6i0zvwLTuqD6YEEvNLefXAKu+iDEsvty1G9Rph0VU5mBfAL16LIPC1SmxBHuMuwYmY27JS32h5dDab1T/bDNpsiMoICL4RlNMNysyBu5fkx9/prOLvrOzDgDAVTNZ2DDtOMHrQn46tnaFyIIqqwbCdALTNe2eYpPnhNVLUmCEidm1WVUfFyIauTr39IEOkJqQZ6XRN9oRNSYSdXAiOVhTM7WFV+T0nBbwd58pwAhYmuyV188Cp+9tkOCuIFChP26oxdyxWhicDgn5PQIBtQnYRfBI5EnyXLHKf5wXeOg9B02LQXPbnRQbLJOlNm+csFrF4XXQEFSuFAOzkQs+Bwfj8sMh3h9fJ21i8/OMxKjesWqZgURWjkZ66CkXIgZsGBfU7fowWGIuzsO0z6tmvGDYUVe+VSOBA/DsQsOO5/7Uu4fT4SO1Kf/S2x3kSCUfIUDsTKgZjNTZ5vj7bu14iVEjnKq1V12kkj2lx1l6MqxGFb/EEp19BMzN2GFbMvh4lnrNYauUjrEB5c27C/uK7W883FYx2w/cmim1SoxmMF3b19HWJKmEIxCw5ncXSZl0WVnYbbRmDxLv4XLqLB9n5+EySsG5QKN0XGnwJ5a7BMX14KGyKxPUFrG/6yI4wHft5Dp0pwnUbeWrsvttgFx+ePGYdc7GOzEjfVcixdj1tj+NHNufab3iA4cjUloXgCZ29IJwCLoWXJc6/Vqnqmkw2XztXbnN7KE3r9fTf2EROFB9ZsT308VD0s54ceJUsmivN/ynEZXnp+n3Kn8wm2nTsSRQTu/cK6cLs+bthkHO4CVHVgbSSox04UPR2tB2kmB9YAgf7ua0NGTdhtEBa14+VPM9GRiapH6vGwQD/RjJiNA3CSL+SMRGfxymeqT0lE3aimUWciPbYvGQ51ko2keO4mEfXLWQd6rqH4OqpqwpaWLrfVirYpXveYRxxWq3Z0fK+5vM3yX7AOkBejNDbYw4WWxGE42sCEeSzsNCbHjNtS17B399aeqdPdeBm/fw3TXBvLT3gPn/bSs/3hJuFEYKFi4SE1etYeKQ133h7z5LyQDt8RUxPsoMZOgwFVbhhuvlT1MiaxmWkpQvqE9WI58GFwlmuwcuhnIOk/JvQNB4vlxO1FXjlWfXlUU5ibLHXsGeG9pYcuUF4m3T5+YLw0gJj3qplvfmGnd2/tVUIGdWa4R+lScIqRG+TIQW564OQp2XiZuvjXxJ8AOsaATZqkzowvnzmruXyQ5PZ7cuYFdhijDzTYjJhtvmO5CV1QBdPHWmAz5UG6o1qYhyde8TJ+8XSN7/Bps23xh/0EX24IgLKW9A8fPil0ABLIkLyhEwv7S5+S+Qls7IzqHD5tvyRCSMz89lVGNSCbzyb8kaQVQMBfnXH9YlZKgGh7s2rfIueVKJ24uRM3edIKUGCa73zdIeVfXOjvgMLLcH8uZlVNM7h362khGaiRA0XzI+8GNjPLgS0UB74EkEosiUm/npCPEIHej6hr9uc/qcU0ycvtJRul4DxPMzryAKEZgZNx2HlcDDupS6AM4OCM+IIQzy6SSBim+b/eaiKC6vWlYzksj7uQaXk8URqgMwyGi8kgoIUMyxKe2R5bU9A8/70tkIsnJ8NesJN6H9ItBKDtQDqEQoPtCNCai2eQkFbcec23F+aG6NAjEr3o4IMKDdRp1U4c2UTrxhEX/Yuj0ODIj7vA8RfAjxbBKWgxpPBy3WMecVxry6qaH3qnUC6CYsXDMVxL9uE362H7ev9YcUmVF3p/yT71Dm9V4825GrUJPNlILsI2FjywH8+UELxwJgaPIoBaxpsCcfduw6Xzz9NDZdjTCtU22gOHK4/ea+AlwtEunVGxp7LPv4+4efyknMRfUDnMh7Lwgh9va22KtkfV27gj8+BfQqxqOBKgUCBKfKkzNj0+StheUu+tLxpa54sseu5hw7YXBCbgHowfofFcTsOIh6w46koZNkAYK0BoCbzQkxDSE+MV+4gDQ2ybDyZGIttVnGXY5Mbxi01QKGKv2S6kAmCwQJGDeuKTmilP3tGbgMFDpLq5oFhI0LhhMdmtK8zAlyp91X28ZbDVCYgQ4mI4s3hpqvAlxBw80Qnq4wEC5ecG2J/++OJx6ItFQ0JYDl4sK87ZaFk4uzIVP68SzQgEbqa8IUghAUZG4pcBglax0CA8oXfB9JMYJiMtcXrSGhP/I32Bs0Z8FuEPWvVAdZMybBB46KCwQPOj78lquIlZVVMN7pPLwYo935ouEIBF2QnWGa8Uy02KUE3TTRsV1GGQY8hwbBnrDKzxhK8eHqaUTo8FyGGzwMOm3m/EiAIH3iTN3oG5EVEb3f/+PugYsxiPMI5HDDL3vTYW1ZyLahhndP2j5Kb6vHvPRTp1Cab5ixOaAFKEJ2Z6iKMnH7GQ07oJvaDCYbyN9oaM4q71O4nqq500kgooRcvftZcPxvU2hjoi4TNiDMRsVcP6NQW5NdATJ2TFPtr2urcf+BWoCVuNGx8fxyRpg17yaHGI4Vre3eahabYnPnJq1+8qpnF/g5UFB3tkZR2OkA+i6VJ3KTdHQjjd+IImoJ/h1TphJoQjvSgICoJ1AstyjdZMUdE2oyi4uHYDFiwTGC9+pGtU8EW8yszqv/LWwCBEXl/IiBNwvVSEcOqCfkHg4gh67QF6c9DPgTgP4+Hay1lbyCITur3yFPyxUqos5SHX4nZK5Xc0TRbBSZ4zTWdbuKajNMSnHDj3ApXphvoh9x/tsfVZO1jaIj+9KKigahqCojUM3C1Jlwqoa+FGFTbbGNF5BJuml/UhSxMZOTUwAuXSOR1Ovv1Hzx1WDekzInLJ0Fzx6CyGuOh2qqO77DmjlEVNWI9qYN8Q4Rbmtzcsi+Dof3f1GPD6aAf/aWTobC8RcYV3eoY0TX7Slrn/dZOqX2bIcB9t3QE1jZicUVVKeXKGk25LQRzu7VUW96byDNrDoboGLol444GwHnDH2iiMi8MCV06ocnXqXkDjmocvaRyzgJDoeGdrHcwl2i044vaJ47wXmlaVTVIFFZcRxtFJSBT76EKMF0Ic7Q3LIjgMOLTTjBhQSbdutJeIBMAbvFWnj+piEBxeTYOHK1xDoLSTrSkvz2z1TwZrNZHUtbb0bc93x/ogXlWvdJwzhVgsvUfPR3xuVHjl+Eaq8Hw+fB+oiba3rTt1F4VwLX/baoF1pbBF0C0WZsJxd5zrRC84OBcEXgs6GkSTkCtm4wCl0rDk911qjkPpIne16rx22ihp/TwIMHyEqmnopSY8FHjCf/iXrYYSUNdwjUEKFl9sXAWXyiNlAm6YkudcJznpBWeCo8JN1oXrP+h2SqqO9qQJ11c044fmRVsWjQE4MiM8diLh6CXtDXwLSez6t626dJMLT7SFvy0cHc2XTXC0k0cOY9OSaztKSDzLgSpZCe5pO1yF0JomtUtYiFjovta+bGNYq5b55ufqxC8Txq3z3tYH8EX4xilnRBe24vJoBsdPj5Dy0BtLbUsR0ophLIO7nMXpNI/sTsAIjLTE4icAxLkJRvGLAYJkPsj7cYNOpAm+bsdnBAJYN37hgUSBXqndEuIywrjh+T/gaEzWcdAHnJgfQli5wxGH/PZWlvr0bzy2RV3LSMCxTL3hxTvHt7ctQnihmkbMzsJMUZj0tIEd0zgyiLJpFDxl2kbD4p1JO37oPlVWOodWOU9ZNYyKHHHLCmbh44Ar3ChpRb/PsM5i0U4qKMHy3qNnNb4qE6wxkQm2FX2n0coi3XGtBQwd02yPf2RBaxw4KCejnKe8RuM/b54UKGs1fv7nkE4g6dYrfXCGBzar+XLBZF2ddP3os7gHzfDSXVOwHAoaOm4EYZ6ExhT8HAeO2AjjqzHBqj5pL1o8o6Y3QA+5oQEDnKxvAwvnNbg7HfmhLswt0wy5aAjwfHssmXG4ksJaBIUI2xGWVXD0c64ZaV/ySS3X3DK0HTTEFTRlzjUVsB/qlo5Wgr0YFYCAmtamDg4+oY3oPA9fYhytxD0/fvgXNmTqwWlgLm4JCaINenb8VKO4dxfCkA8HZ6UzztVfXyYuj+pRxr+ezYKXKiq/yEm3XMm0rPqS0IrCDAufwqrA0Xr/MsOrs3pKdRj6e66b5njzC/5YBZQldYLg8DjwqxNsLyM6SMxFAQOYIAMN0pv20Z/0UvgBCTGOBJwY8jiFAT04HIRtPpXWeX9LwfkOdijwE4IQf9zBCbHHYt5yIyYB3J/WgCdHSWuSGDbecVDPTmaa/p7PqmPTSN3w7Rl4eMlhHq5kM3AdxFt9ul47YfhAuvhHt6gIrUC47cS1btc59KKZNGNCRiSBoVtuaHkQaovz718d8B4yefHlSrnvpsHYC0sS1EYi0uEtqapDXAiKtGgK+mdHgw9o2ObZWU2YHKkN0IlUeIqrWhB/NPRSHkbiCeKil7gNmK6dCl+jC7gqpnAy3J+TXXCQKPN1z+yFrw9cKQOBMaFI//jRfbrriy6LCYmMhaUEpz3oxYLTnrIKrKwciH2vmhQ56f+3YCjsuI3adCmFI9Y0+B5MeVcSmljbo5TvWhyITYcJ0xZVVpox7Y17icUlDEh8k3WaH9M/WSD7Ql18iVawdycOxEVwkAFJv52Yr3/kl7sSzwzWkrF9iZk1Xtyun3gaItfoPfBDp+4GiEydkhsNB+ImOFi54akZE/R/uLoyGkLkgMGzOMaP58Ppyn4j5cAnNw48gAWOLSqTH/yFuyO48XAWlm9rLakjuJUy7eNAXIwDYhJs89+tdP6jNNyaRCs4xzSrhvb5SnfFEA5OEPrVOZlq38kLnO+HBo37m4MpXH3z9WK8onhz2lvzdibNuOpGUboSVTggNwfiY1WTotK791g1fBXrR9+ZhmlB+XrdsZS519WnLLx9OKy34GKY5OU/ccHU/OSH9Z6vDw6GzySm8UAc16S5JG+H8ZMFRWxPY1xOffJ1KQGFA60cSJzgCDh+0rOrup4z2+Abzdm91JfmtXu7v6ekqha+NG1X5Wa7QGhw0S1DgF8JKhyINwc6RXDi3SgFv8KBeHMgPus48aZawa9woLM5gFa1ks4mQqlf4UB34wAKDtkN290IV+hVONCJHKhEwfmsEwlQqlY40N04YAF3Fp9Rwfmhu1Gv0KtwoJM4sBLrVYH0oKo2v5OIUKpVONCdOIBHwVsFB6nGoQduz2FYuRQOKByQ5ABuWp4dGGgYVggCXzqfDXGUqLAr+EJ4Jaxw4GfCAbQ8T6dCg20OEhxMAOHJgNts+E2F32j45cFPuRQO/Nw4gGpZJfzeB4EpFjf+/wHR6EFn/F+/fwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/login-footer.2029e1ce.png\";","module.exports = __webpack_public_path__ + \"static/media/footer-app.664db44a.png\";","const colors = {\n WHITE: \"#ffffff\",\n LIGHT: \"#F5F5F5\",\n MID: \"#B9B9B9\",\n DARK: \"#464646\",\n CHERRY: \"#EB175E\",\n APPLE: \"#93B724\",\n}\n\nexport default colors;","export const getParameterByName = (name, url) => {\n if (!url) url = window.location.href;\n name = name.replace(/[[]]/g, \"\\\\$&\");\n const regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return \"\";\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n};\n","const policyName = process.env.REACT_APP_POLICY_NAME || \"B2C_1_signin\";\nconst forgotPolicy =\n process.env.REACT_APP_FORGOT_POLICY_NAME || \"b2c_1_forgot_password\";\nconst tenantName = process.env.REACT_APP_TENANT_NAME || \"copefrutoctano\";\nconst appName = process.env.REACT_APP_APP_NAME || \"MiCopefrut\";\nconst clientId =\n process.env.REACT_APP_CLIENT_ID || \"7126a121-15de-407a-b826-634201516b69\";\nconst redirectUrl =\n process.env.REACT_APP_REDIRECT_URL || \"http://localhost:3000\";\nconst redirectUrlForgot =\n process.env.REACT_APP_REDIRECT_URL_FORGOT || \"http://localhost:3000/forgot\";\nconst portalUrl =\n process.env.REACT_APP_PORTAL_URL || \"http://localhost:8000?key=\";\nconst oldPortalUrl = process.env.REACT_APP_OLD_PORTAL_URL;\n\nconst scope = `https://${tenantName}.onmicrosoft.com/${appName}/openid offline_access`;\nconst baseUrlForgot = `https://${tenantName}.b2clogin.com/${tenantName}.onmicrosoft.com/${forgotPolicy}/oauth2/v2.0`;\nconst baseUrl = `https://${tenantName}.b2clogin.com/${tenantName}.onmicrosoft.com/b2c_1_signin/oauth2/v2.0/`;\n\nexport const getApiUrl = () => {\n return process.env.REACT_APP_API_URL || \"http://localhost:5000\";\n};\n\nexport const getAuthorizationUrl = () => {\n return (\n `https://${tenantName}.b2clogin.com/${tenantName}.onmicrosoft.com/` +\n `${policyName}/oauth2/v2.0/authorize?client_id=${clientId}&` +\n `nonce=12345&redirect_uri=${redirectUrl}&` +\n `scope=${scope}&response_type=code`\n );\n};\n\nexport const getForgotUrl = () => {\n return (\n `${baseUrlForgot}/authorize?client_id=${clientId}&` +\n `response_type=code&response_mode=query&` +\n `redirect_uri=${encodeURIComponent(redirectUrlForgot)}&` +\n `scope=${encodeURIComponent(scope)}&nonce=12345`\n );\n};\n\nexport const getLogoutUrl = (errorCode = null) => {\n const newRedirectUrl = errorCode\n ? `${redirectUrl}?errorCode=${errorCode}`\n : redirectUrl;\n return `${baseUrl}/logout?post_logout_redirect_uri=${encodeURIComponent(\n newRedirectUrl\n )}`;\n};\n\n/**\n * Obtiene la url del portal de productores donde se redireccionará\n * con el token del usuario autenticado.\n * @param {*} token\n * @returns\n */\nexport const getPortalUrl = (token) => {\n return `${portalUrl}${token}`;\n};\n\n/**\n * Obtiene la url del portal de productores antiguo\n * @returns\n */\nexport const getOldPortalUrl = () => {\n return oldPortalUrl ?? null;\n};\n","import axios from \"axios\";\nimport { getApiUrl } from \"../config/credentials\";\n\n/**\n * Se define objeto de conexión\n */\nexport const API = axios.create({\n baseURL: getApiUrl()\n});\n","const USER_TOKEN = \"jwt_key_authorization\";\n\nexport const SET_JWT = (jwt) => {\n localStorage.setItem(USER_TOKEN, jwt);\n};\n\nexport const GET_JWT = () => {\n return localStorage.getItem(USER_TOKEN);\n};\n\nexport const REMOVE_JWT = () => {\n localStorage.removeItem(USER_TOKEN);\n};\n\nexport const networkStatus = {\n OK: 200,\n UNAUTHORIZED: 401,\n INTERNAL_SERVER_ERROR: 500,\n};\n","import React, { Component } from \"react\";\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport Button from \"@material-ui/core/Button\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Grid from \"@material-ui/core/Grid\";\nimport fruits from \"../images/fruits-group.png\";\nimport logo from \"../images/logo-nombre.png\";\nimport microsoft from \"../images/microsoft.svg\";\nimport colors from \"../config/colors\";\nimport { getParameterByName } from \"../utils/utils\";\nimport { API } from \"../api/api\";\nimport {\n getAuthorizationUrl,\n getPortalUrl,\n getForgotUrl,\n getOldPortalUrl,\n getLogoutUrl,\n} from \"../config/credentials\";\nimport { SET_JWT, GET_JWT, networkStatus } from \"../constants/constants\";\n\nconst styles = ({ spacing }) =>\n createStyles({\n logo: {\n width: \"200px\",\n },\n icon: {\n color: colors.WHITE,\n marginRight: \"10px\",\n },\n card: {\n paddingRight: \"20px\",\n paddingLeft: \"20px\",\n paddingBottom: \"4rem\",\n },\n welcomeText: {\n fontSize: \"30px\",\n textAlign: \"center\",\n fontWeight: 300,\n },\n fruits: {\n width: \"80px\",\n },\n contentText: {\n fontSize: \"14px\",\n textAlign: \"center\",\n paddingBottom: \"20px\",\n fontWeight: 300,\n },\n contentButton: {\n display: \"flex\",\n justifyContent: \"center\",\n },\n contentForgot: {\n textAlign: \"center\",\n paddingTop: \"10px\",\n paddingBottom: \"10px\",\n },\n forgotText: {\n fontSize: \"12px\",\n color: colors.CHERRY,\n },\n errorContainer: {\n paddingBottom: \"5px\",\n textAlign: \"center\",\n },\n errorText: {\n fontSize: \"12px\",\n color: \"red\",\n },\n oldAccess: {\n fontSize: \"11px\",\n },\n oldAccessLink: {\n fontSize: \"11px\",\n color: colors.CHERRY,\n },\n });\n\nclass Login extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n waiting: false,\n error: false,\n errorCode: null,\n };\n }\n\n componentDidMount() {\n const jwt = GET_JWT();\n\n //Si existe jwt se redirecciona al portal de productores.\n if (jwt) {\n window.location.href = getPortalUrl(jwt);\n }\n\n this.getAccess();\n this.getErrors();\n }\n\n /**\n * Función que solicita acceso utilizando accessCode\n * Si el usuario tiene acceso lo redirige al portal de productores,\n * si pudo iniciar sesión pero no tiene acceso (errorCode === networkStatus.UNAUTHORIZED)\n * se cierra la sesión utilizando la función logoutUser\n * de lo contrario se entrega un mensaje de error genérico.\n *\n * @memberof Login\n */\n getAccess() {\n //Se obtienen los codigos retornados por signinpolicy\n const code = getParameterByName(\"code\", window.location.href);\n const errorCode = getParameterByName(\"error\", window.location.href);\n\n //Si se obtiene code significa que vengo desde azure y debo obtener un access token\n //a partir del codigo recibido.\n if (code && code !== \"\") {\n this.setState({ loading: true, waiting: true });\n API.post(\"/access\", { code })\n .then((res) => {\n //Si recibo el token lo redirijo al portal de productores\n //la url del portal incluye el token (uuid) recibido\n if (res && res.data && res.data.token) {\n SET_JWT(res.data.token);\n window.location.href = getPortalUrl(res.data.token);\n } else {\n //Si no recibo el token despliego un mensaje de error\n this.setState({ loading: false, error: true, waiting: false });\n }\n })\n .catch((error) => {\n //Si ocurre un error al solicitar el token despliego un mensaje de error.\n const errCode =\n error.response && error.response.status\n ? error.response.status\n : null;\n\n //Si se inició la sesión debo hacer logout entregando un mensaje de error apropiado\n if (\n error.response &&\n error.response.data &&\n error.response.data.loggedin\n ) {\n if (errCode === networkStatus.UNAUTHORIZED) {\n this.logoutUser(networkStatus.UNAUTHORIZED);\n } else {\n this.logoutUser(networkStatus.INTERNAL_SERVER_ERROR);\n }\n } else {\n this.setState({\n loading: false,\n error: true,\n waiting: false,\n });\n }\n });\n } else if (errorCode) {\n //Si recibo un error desde el retorno del sign in de azure\n //despliego un mensaje de error.\n this.setState({ loading: false, error: true });\n }\n }\n\n /**\n * Función para detectar errores informados a traves de la url\n * (redirección de logout)\n * utilizando queryargs errorCode\n *\n * @memberof Login\n */\n getErrors() {\n const errorCode = getParameterByName(\"errorCode\", window.location.href);\n if (errorCode) {\n this.setState({ error: true, errorCode: parseInt(errorCode) });\n }\n }\n\n /**\n * Función que cierra la sesión del usuario y redirecciona nuevamente al inicio de sesión\n * con un código de error para desplegar mensaje al usuario (No tiene acceso)\n *\n * @memberof Login\n */\n logoutUser(errorCode = null) {\n window.location.href = getLogoutUrl(errorCode);\n }\n\n /**\n * Función que realiza la acción de Iniciar sesión\n *\n * @memberof Login\n */\n handleLogin = () => {\n this.setState({ loading: true });\n window.location.href = getAuthorizationUrl();\n };\n\n /**\n * Función que retorna el mensaje que se desplegará en el botón para iniciar sesión\n *\n * @memberof Login\n */\n renderButtonText = () => {\n const { waiting, loading } = this.state;\n if (waiting) return \"CARGANDO SESIÓN\";\n else if (loading) return \"INICIANDO SESIÓN\";\n return \"INICIAR SESIÓN\";\n };\n\n renderError() {\n const { classes } = this.props;\n const { loading, error, errorCode } = this.state;\n\n if (error && !loading && errorCode !== networkStatus.UNAUTHORIZED) {\n return (\n \n

\n Ha ocurrido un error al iniciar sesión.
Por favor intenta\n nuevamente.\n

\n
\n );\n } else if (error && !loading && errorCode === networkStatus.UNAUTHORIZED) {\n return (\n \n

\n Tu acceso al portal de productores web no está habilitado.
\n Por favor comunícate con un ejecutivo Copefrut o tu agrónomo\n asignado.\n

\n
\n );\n }\n }\n\n render() {\n const { loading } = this.state;\n const { classes } = this.props;\n\n return (\n \n \n \n \"logo\"\n \n \n

Bienvenido

\n
\n \n \"logo\"\n \n \n

\n Ingresa en el portal para recibir información clave de tu proceso\n productivo desde cualquier lugar.\n

\n
\n\n {this.renderError()}\n\n \n \n {loading ? (\n \n ) : (\n \n )}\n {this.renderButtonText()}\n \n \n\n \n \n ¿Olvidaste tu contraseña?\n \n \n\n {getOldPortalUrl() && (\n \n

\n Si aún no tienes cuenta puedes usar el anterior acceso al portal\n

\n \n Acceso anterior al portal\n \n
\n )}\n
\n
\n );\n }\n}\n\nexport default withStyles(styles)(Login);\n","import React from \"react\";\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport playStore from \"../images/playStore.png\";\nimport appStore from \"../images/appStore.png\";\nimport colors from \"../config/colors\";\n\nconst styles = ({ spacing }) =>\n createStyles({\n downloadAppContainer: {\n minWidth: \"200px\",\n backgroundColor: colors.CHERRY\n },\n downloadText: {\n fontSize: \"12px\",\n color: colors.WHITE,\n textAlign: \"center\"\n },\n storesContainer: {\n margin: \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexDirection: \"row\",\n paddingBottom: 10\n },\n storeLogo: {\n width: \"90px\",\n padding: \"5px\"\n }\n });\n\nconst DownloadApp = props => {\n const { classes } = props;\n\n return (\n \n

\n ¡Recuerda que ya puedes descargar la app Mi Copefrut!\n

\n \n \n \"Play\n \n \n \"App\n \n \n
\n );\n};\n\nexport default withStyles(styles)(DownloadApp);\n","import React from \"react\";\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\nimport DownloadApp from \"./DownloadApp\";\nimport loginFooter from \"../images/login-footer.png\";\nimport footerApp from \"../images/footer-app.png\";\nimport colors from \"../config/colors\";\n\nconst screenWidth = window.screen.width > 768 ? window.screen.width : 1000;\nconst screenHeight = window.innerHeight;\nconst imageFooter = window.screen.width > 768 ? loginFooter : footerApp;\nconst footerHeight = window.screen.width > 768 ? 300 : 240;\n\nconst styles = ({ spacing }) =>\n createStyles({\n backgroundContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"column\",\n backgroundColor: colors.LIGHT,\n minHeight: screenHeight,\n width: \"100%\",\n backgroundImage: `url(${imageFooter})`,\n backgroundPosition: \"center bottom\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: `${screenWidth}px ${footerHeight}px`,\n justifyContent: \"space-between\"\n }\n });\n\nconst Background = props => {\n const { classes } = props;\n\n return (\n
\n {props.children}\n \n
\n );\n};\n\nexport default withStyles(styles)(Background);\n","import React, { Component } from \"react\";\nimport { Redirect } from \"react-router-dom\";\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport Button from \"@material-ui/core/Button\";\nimport Grid from \"@material-ui/core/Grid\";\nimport fruits from \"../images/fruits-group.png\";\nimport logo from \"../images/logo-nombre.png\";\nimport colors from \"../config/colors\";\nimport { getParameterByName } from \"../utils/utils\";\n\nconst styles = ({ spacing }) =>\n createStyles({\n logo: {\n width: \"200px\"\n },\n icon: {\n color: colors.WHITE,\n marginRight: \"10px\"\n },\n card: {\n maxWidth: \"320px\",\n paddingRight: \"20px\",\n paddingLeft: \"20px\",\n paddingBottom: \"4rem\"\n },\n welcomeText: {\n fontSize: \"30px\",\n textAlign: \"center\",\n fontWeight: 300\n },\n fruits: {\n width: \"80px\",\n paddingBottom: \"30px\"\n },\n contentText: {\n fontSize: \"16px\",\n textAlign: \"center\",\n paddingTop: \"30px\",\n paddingBottom: \"20px\",\n fontWeight: 300\n },\n contentButton: {\n display: \"flex\",\n justifyContent: \"center\",\n paddingBottom: \"50px\"\n }\n });\n\nclass ForgotResponse extends Component {\n constructor(props) {\n super(props);\n this.state = {\n redirect: null,\n code: null,\n error: null\n };\n }\n\n componentDidMount() {\n const code = getParameterByName(\"code\", window.location.href);\n const error = getParameterByName(\"error\", window.location.href);\n\n this.setState({ code, error });\n if (!code && !error) {\n this.goBackToLogin();\n }\n }\n\n goBackToLogin = () => {\n this.setState({ redirect: \"/\" });\n };\n\n render() {\n const { classes } = this.props;\n const { redirect, code, error } = this.state;\n if (redirect) return ;\n else\n return (\n \n \n \n \"logo\"\n \n \n

\n {code && code !== \"\"\n ? \"Su contraseña ha sido cambiada con éxito\"\n : error !== \"\" &&\n \"Ha ocurrido en error al cambiar su contraseña\"}\n

\n
\n \n \n VOLVER\n \n \n \n \"logo\"\n \n
\n
\n );\n }\n}\n\nexport default withStyles(styles)(ForgotResponse);\n","import React, { Component } from \"react\";\nimport { Redirect } from \"react-router-dom\";\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport Grid from \"@material-ui/core/Grid\";\nimport fruits from \"../images/fruits-group.png\";\nimport logo from \"../images/logo-nombre.png\";\nimport colors from \"../config/colors\";\nimport { getParameterByName } from \"../utils/utils\";\n\nconst styles = ({ spacing }) =>\n createStyles({\n logo: {\n width: \"200px\"\n },\n icon: {\n color: colors.WHITE,\n marginRight: \"10px\"\n },\n card: {\n maxWidth: \"320px\",\n paddingRight: \"2rem\",\n paddingLeft: \"2rem\",\n paddingBottom: \"4rem\"\n },\n welcomeText: {\n fontSize: \"30px\",\n textAlign: \"center\",\n fontWeight: 300\n },\n fruits: {\n width: \"80px\",\n paddingBottom: \"30px\"\n },\n titleMessage: {\n paddingTop: \"30px\",\n fontSize: \"16px\",\n textAlign: \"center\",\n fontWeight: 500\n },\n contentText: {\n fontSize: \"16px\",\n textAlign: \"center\",\n paddingBottom: \"20px\",\n fontWeight: 300\n },\n contentButton: {\n display: \"flex\",\n justifyContent: \"center\",\n paddingBottom: \"50px\"\n }\n });\n\nclass ForgotResponse extends Component {\n constructor(props) {\n super(props);\n this.state = {\n redirect: null,\n code: null,\n error: null\n };\n }\n\n componentDidMount() {\n const code = getParameterByName(\"code\", window.location.href);\n const error = getParameterByName(\"error\", window.location.href);\n\n this.setState({ code, error });\n if (!code && !error) {\n this.goBackToLogin();\n }\n }\n\n goBackToLogin = () => {\n this.setState({ redirect: \"/\" });\n };\n\n render() {\n const { classes } = this.props;\n const { redirect, code, error } = this.state;\n if (redirect) return ;\n else\n return (\n \n \n \n \"logo\"\n \n \n {code && code !== \"\" && (\n <>\n

\n Su contraseña ha sido cambiada con éxito.\n

\n

\n Ya puedes cerrar esta ventana y volver a tu aplicación.\n

\n \n )}\n\n {error && error !== \"\" && (\n

\n Ha ocurrido en error al cambiar su contraseña.\n

\n )}\n
\n\n \n \"logo\"\n \n
\n
\n );\n }\n}\n\nexport default withStyles(styles)(ForgotResponse);\n","import React from \"react\";\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\nimport { Login, Background } from \"../components\";\nimport Card from \"@material-ui/core/Card\";\n\nconst styles = ({ spacing }) =>\n createStyles({\n card: {\n marginTop: \"30px\",\n marginLeft: \"10px\",\n marginRight: \"10px\",\n marginBottom: \"30px\",\n width: window.screen.width > 500 ? 400 : window.screen.width - 20\n },\n cardContent: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexDirection: \"column\",\n marginTop: \"10px\"\n }\n });\n\nconst HomeView = props => {\n const { classes } = props;\n\n return (\n \n \n
\n \n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(HomeView);\n","import React from 'react';\nimport styled from 'styled-components';\n\nconst ForbiddenView = (props) => {\n return(\n \n

Forbidden

\n

This page require authorization

\n
\n );\n}\n\nconst ForbiddenStyle = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100%;\n`;\n\nexport default ForbiddenView;","import React from 'react';\nimport styled from 'styled-components';\n\nconst NotFoundView = (props) => {\n return(\n \n

Error 404

\n

Page not found

\n
\n );\n}\n\nconst NotFoundStyle = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100%;\n`;\n\nexport default NotFoundView;","import React from \"react\";\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\nimport { Background, ForgotResponse } from \"../components\";\nimport Card from \"@material-ui/core/Card\";\n\nconst styles = ({ spacing }) =>\n createStyles({\n card: {\n marginTop: \"30px\",\n marginLeft: \"10px\",\n marginRight: \"10px\"\n },\n cardContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexDirection: \"column\",\n marginTop: \"20px\"\n }\n });\n\nconst Forgot = props => {\n const { classes } = props;\n\n return (\n \n \n
\n \n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(Forgot);\n","import React from \"react\";\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\nimport { Background, ChangePasswordResponse } from \"../components\";\nimport Card from \"@material-ui/core/Card\";\n\nconst styles = ({ spacing }) =>\n createStyles({\n card: {\n marginTop: \"30px\",\n marginLeft: \"10px\",\n marginRight: \"10px\"\n },\n cardContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexDirection: \"column\",\n marginTop: \"20px\"\n }\n });\n\nconst Forgot = props => {\n const { classes } = props;\n\n return (\n \n \n
\n \n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(Forgot);\n","import React, { Component } from \"react\";\nimport { Redirect } from \"react-router-dom\";\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\nimport Button from \"@material-ui/core/Button\";\nimport Card from \"@material-ui/core/Card\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Background } from \"../components\";\nimport fruits from \"../images/fruits-group.png\";\nimport logo from \"../images/logo-nombre.png\";\nimport { getLogoutUrl } from \"../config/credentials\";\nimport { GET_JWT, REMOVE_JWT } from \"../constants/constants\";\nimport colors from \"../config/colors\";\n\nconst styles = ({ spacing }) =>\n createStyles({\n card: {\n marginTop: \"30px\",\n marginLeft: \"10px\",\n marginRight: \"10px\",\n },\n cardContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexDirection: \"column\",\n marginTop: \"20px\",\n },\n logo: {\n width: \"200px\",\n },\n cardContent: {\n maxWidth: \"320px\",\n paddingRight: \"20px\",\n paddingLeft: \"20px\",\n paddingBottom: \"4rem\",\n },\n fruits: {\n width: \"80px\",\n paddingBottom: \"30px\",\n },\n contentText: {\n fontSize: \"15px\",\n textAlign: \"center\",\n paddingTop: \"5px\",\n paddingBottom: \"40px\",\n fontWeight: 300,\n },\n errorText: {\n fontSize: \"13px\",\n textAlign: \"center\",\n paddingTop: \"30px\",\n fontWeight: 300,\n color: \"red\",\n },\n contentLoading: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n paddingTop: \"40px\",\n },\n contentButton: {\n display: \"flex\",\n justifyContent: \"center\",\n paddingTop: \"20px\",\n paddingBottom: \"40px\",\n },\n });\n\nclass Logout extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n loading: true,\n error: null,\n redirect: false,\n };\n }\n\n componentDidMount() {\n this.logout();\n }\n\n /**\n * Función que elimina el token del localStorage y cierra la sesión del usuario en azure.\n *\n * @memberof Logout\n */\n logout = () => {\n this.setState({ loading: true, error: null }, () => {\n const token = GET_JWT();\n if (token) {\n REMOVE_JWT();\n window.location.href = getLogoutUrl();\n } else {\n this.setState({ redirect: true });\n }\n });\n };\n\n render() {\n const { classes } = this.props;\n const { redirect, loading, error } = this.state;\n if (redirect) return ;\n else\n return (\n \n \n
\n \n \n \n \"logo\"\n \n\n {loading && (\n \n
\n \n
\n

Cerrando Sesión...

\n
\n )}\n {error && (\n <>\n \n

\n Ha ocurrido un error al cerrar su sesión.
\n Por favor intente nuevamente.\n

\n
\n \n \n REINTENTAR\n \n \n \n )}\n\n \n \"logo\"\n \n
\n
\n
\n
\n
\n );\n }\n}\n\nexport default withStyles(styles)(Logout);\n","import Home from \"./Home\";\nimport Forbidden from \"./Forbidden\";\nimport NotFound from \"./NotFound\";\nimport Forgot from \"./Forgot\";\nimport ChangePassword from \"./ChangePassword\";\nimport Logout from \"./Logout\";\n\nexport default {\n Home,\n Forbidden,\n NotFound,\n Forgot,\n ChangePassword,\n Logout\n};\n","const routes = {\n home: \"/\",\n forgot: \"/forgot\",\n changePassword: \"/change-password\",\n logout: \"/logout\"\n};\n\nexport { routes };\n","import React from \"react\";\nimport { BrowserRouter, Switch, Route } from \"react-router-dom\";\nimport Views from \"./views\";\nimport \"./App.css\";\nimport { routes } from \"./config/routes\";\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\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 subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\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.0/8 are 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.href);\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://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. 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 if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && 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 && 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 headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.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 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: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}