{"version":3,"sources":["assets/images/Isotipo.svg","assets/images/logo-pichincha.png","assets/theme/components/Loader/index.tsx","assets/theme/components/MessageBar/index.tsx","hooks/useFirstLogin.tsx","hooks/useGetPath.tsx","hooks/useIsMobile.tsx","container/index.tsx","serviceWorker.ts","context/index.tsx","assets/theme/components/Typography/index.js","assets/theme/components/Link/index.js","assets/theme/components/Input/index.js","assets/theme/components/FormControl/index.js","assets/theme/index.js","index.tsx","context/reducer/app/index.ts","utils/fujo.js","utils/index.tsx","utils/encrypt.js","constants/index.tsx","context/reducer/quota/index.ts","utils/global.ts","components/header/index.tsx"],"names":["module","exports","Loader","text","className","id","size","border","style","width","display","variant","color","class","align","undefined","MessageBar","open","setOpen","status","autoClose","adjustin","useEffect","interval","setTimeout","clearTimeout","classname","getMsgContainerClassname","Grid","alignItems","container","direction","item","Typography","DoneOutline","ErrorOutline","ReportProblem","Info","getIcon","IconButton","key","aria-label","data-testid","onClick","allowedFlows","useFirstLogin","flujo","includes","window","location","replace","setFlujo","useGetPath","pathname","isFirstLoad","useSelector","state","app","dispatch","useDispatch","useState","path","setPath","newpath","navigate","URL_PATH","setFirtsLoad","useIsMobile","breakpoint","innerWidth","mobile","setMobile","addEventListener","a","removeEventListener","setIsMobile","ProblemsPage","React","lazy","Container","props","isMobile","problem","alert","useOnlineStatus","clickLogin","e","obj","cellphone","encrypt","detail","phone","code","comment","comments","email","experience","emoticon","identification","type","reference","fetch","process","body","JSON","stringify","headers","Accept","method","mode","then","response","json","document","estado","setAlert","is-mobile","message","children","Boolean","hostname","match","store","configureStore","reducer","appSlice","quota","quotaSlice","breakpoints","createBreakpoints","MuiTypography","h1","fontSize","fontFamily","fontWeight","fontStyle","fontStretch","letterSpacing","down","h2","lineHeight","h3","h4","h5","h6","subtitle1","body1","body2","caption","subtitle2","MuiLink","root","cursor","underlineHover","textDecoration","MuiInput","borderRadius","underline","borderBottom","MuiFormControl","padding","theme","createTheme","palette","primary","light","main","dark","contrastText","secondary","error","shadows","Array","fill","danger","overrides","MuiCssBaseline","Prelo","PreloBold","typography","join","Login","OtpContainer","ImmediateSolicitude","Error404","ReactDOM","render","StrictMode","ThemeProvider","Suspense","fallback","default","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","console","createSlice","name","initialState","login","firstName","fullName","adviser","remainingTime","phoneInput","emailInput","urlImmediateSolicitude","reducers","action","payload","setProblem","setLogin","setUrlImmediateSolicitude","actions","sessionStorage","setItem","getFlujo","getItem","onLine","onlineStatus","setOnlineStatus","goOnline","goOffline","capital_letter","str","split","map","strWord","charAt","toUpperCase","toLowerCase","substring","forge","require","publicKey","pki","publicKeyFromPem","msg","encrypted","md","sha256","create","mgf1","util","encode64","DEBOUNCE_TIMER","INTEREST_RATE","RECAPTCHA_TOKEN","amount","quotas","fee","term","rate","destination","fetchLog","createAsyncThunk","_","thunkAPI","Authorization","getState","loanDestination","setAmount","parseInt","toLocaleString","setQuotas","setInitialQuota","setTermState","setDestinationState","button$","Subject","Header","isSolicitude","subscription","pipe","take","subscribe","unsubscribe","maxWidth","justifyContent","history","back","src","clientWidth","isotipo","images","alt","xs"],"mappings":"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","file":"static/js/main.2f95bd4f.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/Isotipo.57d5fbec.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAArCAYAAAA9iMeyAAAAAXNSR0IArs4c6QAAFtVJREFUeAHtXQl4VEW2rrrdHRK2dAIRQVQImMVoQFHHcUEQEUVl3AcxGy44LqjoqE+/J+Iu8hQc9amMDwJBxQXFYXBFQcdxQ1yAEBIJ4MgiBLKQkKW77633n5vU7bqd7k43JAhJ6vs6VXXOqVPLrVN1qupUhYuN7EN2sDvBZvNBbFG0xYxPzXoeaQaHTserNMY2CU0U9h6Q8PqG959tCE3rx8Sn5I5iXL+bIJzzn5087tFdRbO3+ymah5Iy8g73+HzzLIxgu53MOXN3Sf5KC6YE4tOy/soEGy1B3bp3vWTbqtm1Mh7o907LSfEaRi5KNAq4gYyzBPi7weM/nLGlMTHaKzvXzisNTBcY75OZfZjHw64VhjhPcJ4CfC/GRBX4/gKeHzsNxzyUeX1guvYa56IUTXjwuzshIE9HW0x3atYqIdiJkaTjnG3TmGNKefG8N1qid6dm/0MIcZGkg5B8VllcMELGg/nxqdkDmcBwpDh03D1OHpO+q3jONgVsBt0pWfn4MOjwjU7r0dVdsWo2Oqrd9Rs2qWttTe0zqOdEYBx2rBLj3Iv8ph/hHPRwYeE0j4Kxgijj3aCZirp1s4DNA7rG+Jy4HnG3hxPY5skOTQgG0E5HLYAO1k9nekFiWtZp4Vqkd+o1/dCBxqo0iJ/lzsgaosIiCUMAenqZd0YktMFoaLSvran7CmW/DvjQwkGJhXChnP+91Vu6KCNjWozK74or3nDEp2S9CprpLQgHJXMYTFxfW133Rb+USb1VPu0x3IEEhDdgpF8if9CNPsDvO6gNPuvDChajG/xBKx4koHNfHsDNO6NXo04avRNigjs9d3i0CQefP7lLfb14Fx06U02L+m1GvV7F71H8XseMsEXFCybO32psOlWFfbx6yf8gfpUKQ9rd+H3ANczcnL0BvptUPPicUMvr3gkUNpWmPYSd7aESkdVBVFYWLxgXSOtOyxsgmG8lFE1zNESHOgmdDv2BY4C3O4K7U3OusUMbY4IbVw8YkXfX5hX59cHwYWGG/hxG8RPefPNKPSydgizbVDEZUX9HJxVKsEeG9h302IoV0yyhpw6MWeNmwcV9nPFqzBJ3VBbN+1yySkzPO1XXfbfLOPmoe4GTuW6G6lct4Wbd03LuQvwRmo0IDtgZW3wbb0Nwn2dB4nMwuw40gwT/DJXr8zcD870fK7qMHPlg8xkCBAlpuSPQLQZJWnSktTIMAUuo2u67zIpHEYCKdPzHa/55U6RJSCVCfveo9BDsv1aWFDykCgfhab0B+MzK9QWHVayfP6iyZMFiNZ1u+KaqcdRpDtZTOapwEJ4GjKrigiexVpuk0jNm3EuzmR3WfmIdXkASj83N4IKfYn1Szr8N7GQSB7VCUaO44XCxK9Fx9vrx/FoZbtEnFY9x/66ZIR6iNUWL6UCwbPXSU+WM10T/NTr/s+HSUgenn0qTlHFTd8RHSRhmmMrYrs7/kvFgPgQtH3w+s3AYGMo37TnLirezQKurWJ/91HfthGlnBR2Bw7Xd+HM27nzq5m/bsKG5GztD/5RlQG9xcCEO1306La4xAJtO1zh7vCls8+KPvzGBNdRcagG5WLZ77YIi8HwLsFyCQ+UYcdhxuYMi2U7FSIwtV7ESs8f9Zlom3A0NnPJuUcgEM06mNNJxrr0X2PklLpzvNfaeCEHzL9g5W/HbD3PLwqUhnOAMC3pmfStDiD8A/FFL6Q5FfKsLSHlVbMPeeuewaBtj47aeO6JNEx296CIYu8BKg56JuN1pfEb5+oKg50Kat/pqg7FYmUDT+FwzTL4hcpvgvMFjUAe/T9KF87snJj1eU16Wg6IcTXQQsIm9js2evXtdwTfh0oHePtNwURiOPhROGEYfFYf816nxUGEH42t0tfW4sPEJle5QhHd4FUv9aFBAbk5IzT1dhcmwMLilXpEqEt/HYeryFUXzacFrnW9Ai8k11wgyYRh/y1cz65imTVFIuE9nz02bNi3sd8EsF/UMreRhBR0MnBSHWQhjQMuOO5htMwGCZePTModDhyLshzh0qtFySfHxq3HAdYv109hkqCZTaStTpsaH7iGEvjBw0dk7NfskzDfWOQfUs9fkbhWpNuCT7+fB+i1bs8R2TiJxwfzKovnvoAz+WUuIk2YuLA2rZqE77rTxEjzDFo8wYnDDPmsLdmwkSXVd2OgwsNjLEwmTQ4Sm1VWsg7Xe6Py12MF5Plj54tOyH4eaZC5OoXb131VacT7orN0eb7N1gXEtTtNzJC/wtrUj4jTbLJH4lnwX57d6mVhjrQeEeAxC8xV0rqBJIZE/QSFTcMYYRB5WABEFebe4H0VNrQ+szPJjK3i4e2ieu/LH/MqwDAT7k4rHam6lGm9P4Q4zg4T7aGiEL214jQ+ScTLlwGJ+goybPha2EIJu8ofO2kXFo+uO7Z0+qa8KCxfetX5+CQTCb0qDMxnwvjBUmqQB8f+iGVHiIUenQ8ivl/FgfuJxE490p2U/rapvZLoCdfFzi57Ogmr1h6x4kEBiWu65KNvFEkXl6ObuvVzG25tvG/lao3JDU3f1yRu7YUUoXguXJR9R79GOCYU/0PARI6Y5f9xemqvmC3Vqs4zX7q2/Ah2+p4xH5GNE1vV64vlERPQgio1hjzTUsyzk1b8pTUi9nowq0dlnYuSfKvlzQzyDQ8yut1+V/CyEwLaW6JWRc4rP43sVgjxo5msbuiLNX2Q6bOA9AvjZMo66T4YNm9E7OeGeQOPNxNTcKw1Dny1pTV+Ip8y1lA3YfiKtLiAD+1T3nzX5a/mRm7XU8lX9vvllB32jA+14PNSi+f5cocljD/+HbaXYMhXKrhDON5zOby26RnVJRnWu8es0g9dJgPSFxjVh6P+HDh5HMNgr0ToiYgHZsbpgLzrgnbrQX5c8w/kuR48ZXmPP5cjvWKIz8xXGrFmvbpiUkJL9b8H4esYNNwRguM9rDAdJo8AJdgPaYQsOAyEYjFUWz18OwZorhDGR4uQwI922a2PFxbDP+hIzxDoITV/s7Q5D2Wg713KYfX7q2iNuRnh9zCI/JAOtLiAHbyuIWHz47OblQ9dSHATg4fK1c38lEAwTU73Cc4ZEo0O8TwdlMh7oo6ONZlZHE4Mxyp8F+s8C6ULFyZIYo/cklHNUKBoJLyv83xqYyVzAhb5cCDFAwklg0KEhNAiZVQuoH2fbYUbypqQnv3dy/I1lGyuOAP25Eo4yHI3w0eDdBJK+pOClWozzovZu0avJ6nZ4n2yZND7z9vHJlg6uMw/NAn7Htb/7I81DDod4yQa1zz42VKiIw8UnY6z3hMKrcDKTETHdT8ShIx1Wtuw4DvO48zSYkRSrxKRKnZs5biw2fWdgLYQ9ifAOA8XbrEv3k+VAEp760Ma28xmEFzIMsaE+EXQOdES+GSNnSYyr8ULRtGl+amzvpyO9uUMD2j2jMy9Y+mbxPD9BQIgO+KC+LMIIfpSJEuwoMhYkeygXczV4ucfa7QHvXwKSm9HdawuKElJyLoaKNgV5Q0VqdDHeOssAUcLIr1rzQgW8K9wZeUOZV78G08YoqFfJ8GOps6Pc21G/TzWNLQx1CEp8mgwl744//poXNY/nL5gvzkMZsVYkPrB4xsUrtNUyh8Mxt7wo/2tK0xHcAb8wNSTvUlqD2HRZauiRJ/624p1Hl40I0ej7dGEqBK8OAabdt63fvVRH5zT7U+HW4rM/Zfg902q/Z+adebddC9DaYH+Fg0rXWnzarqZty7lTQNq2fTu5H+ItcMBVLK/X4fEJ3mxd4NIMp9NpmBdxgrRpp4oVpFE6QW3fAgd8ke5y6TGhpKDtq9uZQ2cLRNcCnSpWdO3VSd3BWuCAzyAHsn3jU3Nwkm0MDJYnbHBrsX1Zqgn+cyyL/WRbyexdweiwbfswtm1TCAfaqoqSgknB6CSMDhd9wvtnbNGOxDYpWRT0xDnFTmyXbgSHd3n32EXBnu+h9OZTP7zxJB4L7PU4ZHxA8g306fZhg0fcg3O8/jiXKMHJ+P0qjTsl5w7ck7d2C6dcNfgq1QQlIT17rOG/x0LH7MVduvDpdKKv8pFhtAOsBER3imNfbB0MPx+UuGA+mbcYPnGZwdiZ4N0XW2mxsGn7rfGEny9KSo5fEmjKQnz6Z1ybWO1reMHiyfknVesL7OYtFhKHnPQemMCWOBOJsNReXlFc8KKCDhpMSMu5zxDGELQbbETZh7iSXBCUEMB2LSCcGaPRgYK+i4WPjTZluNggWC2rrcIjc48nJSfMCvxoOEk+B+10KjUgPjY6euCdbMLgvvqwSfGiuu5vXuHNAmONeJsZ0N/GC07HgcM40DyRkJpzR0Xx/AVEYXOcXwriHo0w8W/4D9jwSqShXsxBFhcQCHWhcwmbgAB6OhDWDcjCwmMnKMkZTodSEb9Swqi4DQ2mSb/NUtePF5eAX0JT/HP4QQWEjCJ1r282zFvO86dtDCGPw1Guoajj+LLSylI8wHdDVcm8TyQd+XVObxzz+ssFe6A9AIcUEK8h3gPPQZQWVs4k3GEF5Ii0nF41hpgKOlygo1qzqxNTcjzlJfODmvh0qlhoITRTPP48gY+WTy0WraNH4Yya2pVo8Bxwa6FNRRJGrwLYOT0abT4qPTpD1Lc21fTBwhDkcQlp2daDeMFowsHMF1K83u8hAJZwhKanTm185E7LyVVpeL3T7LUqLFSYBiUpHKFoAuF7BaMBzGZ9rXPjzkA6GW/hY0qyduDTqTLnXzT9vsQp83qEa+01E+NbMhu300Mtwv0JCNdS/I5RcZi+t4L/YuTzIvzl+AWoLvzOpIyswWqaqMKCtcm3g9o1K/DCWCTlorv4eCFlCdoh4DE5vgFK2UKomS+jDajdFVMWPPpqGNObHo8wsxGxPmhkkTnD49iHNjCvRNszEOxkzOqZdmBjjFQsmsKiM+cOxulghwlRDr35TLWYdEq8t6Z2Ms0eEg49mUa0sDZXktb063zT4Kf7YXiphLOpozMvekp95+qw467r4/E13I9RehJG2F8dmnZjWeE8dJ59deDUNi5518aqu8H64WjYN3iN52zCwVmFxrRbA1XJpPS8Y7yG7zGU/jJIwk+4jZlLhpcyr8YZBBZAbeBMs3+vcXww1lClrwP81kAc1jVsWyCwo8TplLiqeMF0fKjPlToPUS8VKfBmwcNPmJiEXnqjDcF5Fr0fpQoH4XeufXkHFt23dOse5z53yLiU8vXzPrKlizqCMbmtnDDudadfe3Sk7Hul5J1sU6vIdktznRMoHMSvrCj/ZzzgdwXv6kzEgHUCaFar+UQzg6jpIgkbXvXZJkrBS2U6XH64OtjMSYvJrZKoo/ro5FYbYGTrNnvJtthI2qKhVh+D9ouRtGTlWlU8P6xlLQlloPDI9NH5rTyDkKVvk0N7xDHd87SMt+T7uG5f2As+o6po7vfh0oW61hvNGiQc/0Acdv26QQjGS7g5KGrsSRmHgCfu3rTH2tSQcCdmkBX4yKMkoKP5jbtPtWeiUzQ6zjZQJ5bRcD7ucNMDbpaDXeDbVmT/A0PiU7K/CcmGi15q3iHpIkTgGaNnDJ0diQWsqS5iw+HSxPSs0eVFCz5ukYVg1nYy0bo4a7V2wFb5n9AOmcHKwD3VEa/osUN3JYaUph1CcMNzTVq3uHdEde0sc0AACJfGSM16Tc0L/6ICjxN4o9M3VQaHTBhP5SRmXtefyit0j2YYjt5c+DLxaMEdaCAT3liXyB8gQIMfptZfOJ2Fanx/wuCNMwdxSkgeimCGpIkCge1ULJ4dk7HxvUwmw0Pefxs2bFLmqlWzlYW1xPp9DAx9lPkMV1Ti1vmx+xsSSeBAv2ZOybMZrjmAnm1qbDQopzW4kflW2SpcOkvNfhuScTXRYx0yEub+yVVr5myU6TV+FFuLWcSmB0pku/Kxu6LX1/9KP8Nr/MJ07yr8k5i5aGT/og0XlbAomx5pvTFNW+oVpUHatlldRlqg/aQzzyQ49982FCJtQ0397S2xxeGfS6ExEur7+ZT47x7sdVx2Ojr/aVZBBH9LbgwIoc214FiUMI/3GiXedFCosXtxYrZURXS0MI0q2DmdGLhoDNcO9B6UOpDrPl8G6Ftr9NyBbdGQ3wSCPQFjXkRrpXB1CMQ5unS5w2hoGIsO1Y1wOGydCuuAV7xhLjli568M7ZDWxMuxTd9Mh5BrmuL753FegoHoi+BMBF6XoXON8E7Hf8yyUTj8QlFZnP8pzn5+AZ+jiQbfNA8P/z0g14lOEziAvYf/NPUpwmdTvGM5Xo8PsNDldNxbVpj/WzR1x6JvbcA6gNrPPwJHwyyAFgK7AeYj9g+r0OCg8QJEW11Ayle/vAUd5lF0mMcoO/jdvTz8P/kRXEM7GNYWOh7fozVtqwgIVL/Pset1PZUl0DW+l1wdVkCgIro2VNfhAFdxuv4KzHpMQEJqNvm9JBZrryOWrV16HuLm4KRJBB6zpBTWbo4FbycBCAHegGKXyJ9Dc4zhmnPglAmDusEWZ2K0wkHN4tIc79uaB2cceFvXtmC14REhWy1cqb0pEH4wxfs5Bj2FA70Sq0z0LpjgOLUO7nCX/T0bRogH5XrPBlcisD44G530YgXUJkGoiNhhM9cxFn/Mdv0DfnEWEgEcXtJi3XSWgPABuLvsYhdjTt3bhGtXHhqkHvvui+WPziHo0QPVgC/aCtOePtSgd/3phKb7xFv0uJof5g9BMM7wCc8ygxnPR3ti7+fS9iG6Q+/ggYdmoU1obhuf/B4GHku1RFv3hJq21LwnH6S4MCK9HPSLsXZZGJ+ec04QklYEmc8vRcUPs8iFdLBLiUwVS6bGgv07sYmdAbWBPvpREt7ph24BzCJ3eXXfCHQKc4SlkUk39A8xQn4ANelbaLUb8e8KkpjBx+AhBlLBGgclg72IEbSMBDY093AYcA/Q78JRR4ujBx6ww7MYa5EWR3kaZPDk0S1kW4UimX0K6TKZz7cSzxgtxmn5D2iXrVir9Ddg74Uh+hTETYfnshfHp08cLs9NzIPCumhLG5w+ISPnKBwOWoMVzql+wI7b34NRQ1iHocyNKi3q0OBtyAXdkzYBoYR8IPsRhtmnIPgSKms/ACKCTmdrAZpFIAyXorfSf741F7YmAQz2oL9Dl5VdQfoyudjMXVrYwzRJGdwH97Z23DEFW+FjkJFNBQmWbdMDdDdgMJgNvMOkQUdD2stxvnA5xYMVGLDVjp7dN5j0+NOapibCaz6G59eSuHiqonjBKzIv1TcNH2vqrsI37NoEJ2F50kqsEuPRmB34kbo1HL/P8AtWNzVJhw7DtORTzaH9AepWZNvlnL3vjNOGVxTO/8/B3HDmv6fj2uORlhFCMgdrl3MxUv8aQRoYJPM5eA5pTPk3z+6JgD4qEtNciJv/GrsxHefl8X2di0Ixabqjs9DCC5FC/1y12QxiESAAIfkXvBFQuw6HkIzDhYg/wu8HcaGHmaWkqUnaJsxZ1T4y3oJayMXlrn3hAUVmC05zpc3O7lA8ytfNK8ToM9SdlnsZFwa2YPlI6LJuix7Ge2i3DzQHX1BRVGBf1FpEbBPSmbMQ0rawYcI3I5lp5IcyNqPFKf9vWFjLcrOMjHXiTXV/jYtKFS8MrdZfDH9odOaFj3285h9utMFYlN9FGIyW2/wU9hANFngLbPAWHe8dC4G1Bj9DGZUhP2w7eC0J9b6W5tLwXp+/3Jgny+w5+GOOrngCucFPi3Hcon32jdKTkY8P1GYbAPeq/JcVfg72EIThBS/jZ0mo0PUx0Aw6XVu1AHasehgu4XZpvvJQN/XaKu+DhS+EgyecMDFe8/EeiUd23xl4Ie1gKWeocvw/XZPQ1cgbeckAAAAASUVORK5CYII=\"","import React from 'react'\nimport './index.css'\n\nconst Loader: React.FC<{ text?: string }> = ({ text }) => {\n return (\n
\n
\n \n
\n \n {text !== undefined ? text : 'Cargando...'}\n \n
\n )\n}\n\nexport default Loader\n","import React, { useEffect } from 'react'\nimport Container from '@mui/material/Container'\nimport Grid from '@mui/material/Grid'\nimport Typography from '@mui/material/Typography'\nimport IconButton from '@mui/material/IconButton'\nimport './messageBar.css'\nimport {\n DoneOutline,\n ErrorOutline,\n Info,\n ReportProblem,\n} from '@mui/icons-material'\n\ninterface Props {\n id?: string\n open: boolean\n setOpen: (estado: boolean) => void\n status: number\n text: string | JSX.Element\n autoClose?: number\n adjustin: boolean\n}\n\nconst MessageBar: React.FC = ({\n id,\n open,\n setOpen,\n status,\n text,\n autoClose,\n adjustin,\n}) => {\n useEffect(() => {\n if (open && autoClose) {\n const interval = setTimeout(() => {\n setOpen(false)\n }, autoClose)\n return () => clearTimeout(interval)\n }\n }, [open, autoClose, setOpen])\n\n const getMsgContainerClassname = (): string => {\n let classname = ''\n switch (status) {\n case 0:\n classname = 'success'\n break\n case 1:\n classname = 'error'\n break\n case 2:\n classname = 'warning'\n break\n default:\n classname = 'info'\n break\n }\n\n return `${classname} ${\n adjustin ? 'containerMessageBoxAdj' : 'containerMessageBox'\n }`\n }\n\n const getIcon = () => {\n const className = adjustin ? 'iconMessageAdj' : 'iconMessage'\n switch (status) {\n case 0:\n return \n case 1:\n return \n case 2:\n return \n\n default:\n return \n }\n }\n\n if (open) {\n return (\n \n \n \n \n \n {getIcon()}\n {text}\n \n\n {\n setOpen(false)\n }}\n />\n \n \n \n \n )\n }\n return null\n}\n\nexport default MessageBar\n","import { setFlujo } from 'utils/fujo'\n\nconst allowedFlows = ['autogestion', 'agencia', 'fvt']\nconst useFirstLogin = (flujo: string) => {\n if (!allowedFlows.includes(flujo)) {\n window.location.replace('/autogestion/login/')\n }\n // Guardar Flujo de ingreso\n setFlujo(flujo)\n}\n\nexport default useFirstLogin\n","import { navigate } from '@reach/router'\nimport { RootState } from 'context'\nimport { setFirtsLoad } from 'context/reducer/app'\nimport { useEffect, useState } from 'react'\nimport { URL_PATH } from 'utils/global'\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AppState } from 'interfaces/app'\n\ninterface Props {\n flujo: string\n pathname: string\n}\n\nconst useGetPath = ({ flujo, pathname }: Props) => {\n const { isFirstLoad } = useSelector(state => state.app)\n const dispatch = useDispatch()\n const [path, setPath] = useState('')\n useEffect(() => {\n const newpath = pathname\n .replace(`/${flujo}/login/`, '')\n .replace(`/${flujo}/login`, '')\n if (['otp', 'otp/', 'solicitud'].includes(newpath) && isFirstLoad) {\n navigate(URL_PATH())\n } else {\n dispatch(setFirtsLoad())\n }\n setPath(newpath)\n }, [dispatch, flujo, pathname, isFirstLoad])\n return path\n}\n\nexport default useGetPath\n","\nimport { setIsMobile } from 'context/reducer/app'\nimport { useEffect, useState } from 'react'\nimport { useDispatch } from 'react-redux'\n\nconst useIsMobile = (breakpoint = 600) => {\n const dispatch = useDispatch()\n const [mobile, setMobile] = useState(window.innerWidth < breakpoint)\n useEffect(() => {\n window.addEventListener('resize', async () => {\n setMobile(window.innerWidth < breakpoint)\n })\n return () => {\n window.removeEventListener('resize', async () => {\n setMobile(window.innerWidth < breakpoint)\n })\n }\n }, [breakpoint])\n useEffect(() => {\n dispatch(setIsMobile(mobile))\n }, [mobile, dispatch])\n}\n\nexport default useIsMobile\n","import { RouteComponentProps } from '@reach/router'\nimport MessageBar from 'assets/theme/components/MessageBar'\nimport { RootState } from 'context'\nimport useFirstLogin from 'hooks/useFirstLogin'\nimport useGetPath from 'hooks/useGetPath'\nimport React, { useEffect } from 'react'\nimport { useOnlineStatus } from 'utils'\nimport encrypt from '../utils/encrypt'\nimport useIsMobile from '../hooks/useIsMobile';\nimport { useDispatch, useSelector } from 'react-redux'\nimport { AppState } from '../interfaces/app/index';\nimport { setAlert } from 'context/reducer/app'\nimport Header from 'components/header'\nconst ProblemsPage = React.lazy(() => import('components/problemPage'))\n\ninterface Props {\n flujo: string\n}\n\nconst Container: React.FC> = (props) => {\n const { isMobile, problem, alert } = useSelector((state) => state.app)\n const dispatch = useDispatch()\n // Verifica si el usuario tiene conexión a internet\n useOnlineStatus()\n // Revisa el flujo y el reload\n useFirstLogin(props.flujo as string)\n \n useIsMobile()\n useGetPath({\n flujo: props.flujo as string,\n pathname: props.location!.pathname,\n })\n\n\n useEffect(() => {\n const clickLogin = async (e: any) => {\n const obj = {\n cellphone: encrypt(e.detail.phone),\n code: problem.code,\n comment: e.detail.comments,\n email: encrypt(e.detail.email),\n experience: e.detail.emoticon,\n identification: encrypt(e.detail.identification),\n type: props.location!.pathname,\n reference: 'FRONTEND-LOGIN',\n }\n fetch(`${process.env.REACT_APP_URL_UTIL}/insert`, {\n body: JSON.stringify(obj),\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n mode: 'cors',\n }).then((response) => response.json())\n }\n document.addEventListener('eventClickSendFeedBack', clickLogin)\n return () =>\n document.removeEventListener('eventClickSendFeedBack', clickLogin)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [problem])\n return (\n
\n \n dispatch(setAlert({\n status: alert.status,\n open: estado,\n text: alert.text,\n }))\n }\n />\n \n {problem.open ? (\n <>\n
\n \n \n ) : (\n props.children\n )}\n
\n )\n}\n\nexport default Container\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]\\d|[01]?\\d\\d?)){3}$/\n )\n)\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void\n onUpdate?: (registration: ServiceWorkerRegistration) => void\n}\n\nexport function register(config?: 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\nconst checkCachedContent = (\n config: Config | undefined,\n registration: ServiceWorkerRegistration\n) => {\n if (!navigator.serviceWorker.controller) {\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\nconst checkUpdatedContent = (\n config: Config | undefined,\n registration: ServiceWorkerRegistration\n) => {\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 }\n}\n\nfunction registerValidSW(swUrl: string, config?: 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') return\n checkCachedContent(config, registration)\n checkUpdatedContent(config, registration)\n }\n }\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: 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\n .then((registration) => {\n registration.unregister()\n })\n .catch((error) => {\n console.error(error.message)\n })\n }\n}\n","import { configureStore } from '@reduxjs/toolkit'\nimport appSlice from './reducer/app'\nimport quotaSlice from './reducer/quota/index'\n\nexport const store = configureStore({\n reducer: {\n app: appSlice,\n quota: quotaSlice\n },\n})\n\nexport type RootState = ReturnType\nexport type AppDispatch = typeof store.dispatch","import createBreakpoints from \"@mui/system/createTheme/createBreakpoints\";\r\n\r\nconst breakpoints = createBreakpoints({})\r\n\r\nconst MuiTypography = {\r\n h1: {\r\n fontSize: 40,\r\n fontFamily: 'PreloSlab',\r\n fontWeight: 'normal',\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n color: '#1b2d54',\r\n [breakpoints.down('sm')]: {\r\n fontSize: 32\r\n }\r\n },\r\n h2: {\r\n fontSize: 32,\r\n fontFamily: 'PreloSlab',\r\n fontWeight: 'normal',\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n lineHeight: '38px',\r\n [breakpoints.down('sm')]: {\r\n fontSize: 28\r\n }\r\n },\r\n h3: {\r\n fontFamily: 'PreloSlab',\r\n fontSize: 28,\r\n fontWeight: 'normal',\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n [breakpoints.down('sm')]: {\r\n fontSize: 24\r\n } \r\n },\r\n h4: {\r\n fontFamily: 'PreloSlab',\r\n fontSize: 24,\r\n fontWeight: 'normal',\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n [breakpoints.down('sm')]: {\r\n fontSize: 22\r\n } \r\n },\r\n h5: {\r\n fontFamily: 'Prelo',\r\n fontSize: 20,\r\n fontWeight: 'bold',\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n\r\n },\r\n h6: {\r\n fontFamily: 'Prelo',\r\n fontSize: 18,\r\n fontWeight: 'bold',\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n color: '#4a4a4a',\r\n\r\n },\r\n subtitle1: {\r\n fontFamily: 'Prelo',\r\n fontSize: 16,\r\n fontWeight: 600,\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal'\r\n },\r\n body1: {\r\n fontFamily: 'Prelo',\r\n fontSize: 16,\r\n fontWeight: 500,\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n color: '#4a4a4a',\r\n [breakpoints.down('sm')]: {\r\n fontSize: 14\r\n } \r\n },\r\n body2: {\r\n fontSize: 14,\r\n fontFamily: 'Prelo',\r\n fontWeight: 500,\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n lineHeight: '1.6',\r\n [breakpoints.down('sm')]: {\r\n fontSize: 12\r\n } \r\n },\r\n caption: {\r\n fontFamily: 'Prelo',\r\n fontSize: 12,\r\n fontWeight: 500,\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n color: '#4a4a4a',\r\n\r\n },\r\n subtitle2: {\r\n fontFamily: 'Prelo',\r\n fontSize: 12,\r\n fontWeight: 500,\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n letterSpacing: 'normal',\r\n [breakpoints.down('sm')]: {\r\n fontSize: '10px '\r\n }\r\n },\r\n}\r\n\r\nexport default MuiTypography\r\n","const MuiLink = {\r\n root: {\r\n fontFamily: 'Prelo',\r\n fontSize: '16px',\r\n fontWeight: '500',\r\n fontStyle: 'normal',\r\n fontStretch: 'normal',\r\n lineHeight: 'normal',\r\n letterSpacing: 'normal',\r\n color: '#2f7abf !important',\r\n cursor: 'pointer',\r\n },\r\n underlineHover:{\r\n textDecoration: 'none',\r\n '&:hover': {\r\n textDecoration: 'underline', \r\n color: '#2f7abf !important',\r\n cursor: 'pointer'\r\n }\r\n }\r\n}\r\n\r\nexport default MuiLink\r\n","const MuiInput = {\n root: {\n '& input': {\n border:'none !important',\n borderRadius: '0px 4px 4px 0px !important',\n },\n },\n underline: {\n '&&&&:hover:before': {\n borderBottom: '1px solid rgba(0, 0, 0, 0)'\n },\n '&&&&:hover:after': {\n borderBottom: '1px solid rgba(0, 0, 0, 0)'\n },\n '&&&&:before': {\n borderBottom: '1px solid rgba(0, 0, 0, 0)'\n },\n '&&&&:after': {\n borderBottom: '1px solid rgba(0, 0, 0, 0)'\n },\n }\n}\n\nexport default MuiInput\n","const MuiFormControl = {\n root: {\n width: '100%',\n padding: '0 8px'\n }\n}\n\nexport default MuiFormControl\n","import MuiTypography from './components/Typography/index'\nimport MuiLink from './components/Link'\nimport MuiInput from './components/Input'\nimport MuiFormControl from './components/FormControl'\nimport PreloBold from '../fonts/Prelo/Prelo-Bold/styles.css'\nimport Prelo from '../fonts/Prelo/Prelo-Medium/styles.css'\nimport { createTheme } from '@mui/material'\n\nconst theme = createTheme({\n palette: {\n primary: {\n light: '#FFFFFF',\n main: '#FFDD00',\n dark: '#FFCC00',\n text: 'var(--greyish-brown)',\n contrastText: '#0F265C'\n },\n secondary: {\n light: '#FFFFFF',\n main: '#ffffff',\n dark: '#0f265c',\n contrastText: '#0F265C'\n },\n error: {\n main: '#ff604f'\n },\n text: {\n secondary: '#0f265c',\n primary: '#4a4a4a'\n }\n },\n shadows: Array(25).fill('none'),\n status: {\n danger: '#FFDD00'\n },\n overrides: {\n MuiCssBaseline: {\n '@global': {\n '@font-face': [Prelo, PreloBold]\n }\n },\n MuiTypography,\n MuiLink,\n MuiInput,\n MuiFormControl\n },\n typography: {\n fontFamily: ['Prelo'].join(',')\n }\n})\n\nexport default theme\n","import React from 'react'\nimport Container from 'container'\nimport { Router } from '@reach/router'\nimport ReactDOM from 'react-dom'\nimport './index.css'\nimport 'assets/theme/css/App.css'\nimport * as serviceWorker from './serviceWorker'\nimport { store } from 'context'\nimport { Provider } from 'react-redux'\nimport Loader from 'assets/theme/components/Loader'\nimport theme from 'assets/theme'\nimport { ThemeProvider } from '@mui/material/styles';\nconst Login = React.lazy(() => import('pages/Login'))\nconst OtpContainer = React.lazy(() => import('pages/Otp/otpContainer'))\nconst ImmediateSolicitude = React.lazy(() => import('pages/ImmediateSolicitude'))\nconst ProblemsPage = React.lazy(() => import('components/problemPage'))\nconst Error404 = React.lazy(() => import('pages/404'))\n\n\n/* Typescript allow design system */\ndeclare global {\n export namespace JSX {\n // tslint:disable-next-line: no-empty-interface\n export interface Element {\n [tagName: string]: any\n }\n export interface IntrinsicElements {\n [tagName: string]: any\n }\n }\n}\n\nReactDOM.render(\n \n \n \n }>\n \n \n \n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n)\n\n// serviceWorker\nserviceWorker.unregister()\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport { Alert, AppState, Login, Problem } from 'interfaces/app'\n\nconst initialState: AppState = {\n isMobile: false,\n alert: { open: false, text: '', status: 0 },\n problem: { open: false, code: '', message: '' },\n login: {\n email: '',\n firstName: '',\n fullName: '',\n identification: '',\n phone: '',\n adviser: '',\n remainingTime: '',\n phoneInput: '',\n emailInput: '',\n },\n urlImmediateSolicitude: '',\n isFirstLoad: true,\n}\n\nexport const appSlice = createSlice({\n name: 'appStore',\n initialState,\n reducers: {\n setIsMobile: (state, action: PayloadAction) => {\n state.isMobile = action.payload\n },\n setAlert: (state, action: PayloadAction) => {\n state.alert = action.payload\n },\n setProblem: (state, action: PayloadAction) => {\n state.problem = action.payload\n },\n setLogin: (state, action: PayloadAction) => {\n state.login = action.payload\n },\n setUrlImmediateSolicitude: (state, action: PayloadAction) => {\n state.urlImmediateSolicitude = action.payload\n },\n setFirtsLoad: (state) => {\n state.isFirstLoad = false\n },\n },\n})\n\nexport const {\n setIsMobile,\n setAlert,\n setProblem,\n setLogin,\n setUrlImmediateSolicitude,\n setFirtsLoad\n} = appSlice.actions\n\nexport default appSlice.reducer\n","export const setFlujo = flujo => {\n sessionStorage.setItem('flujo', flujo)\n}\n\nexport const getFlujo = () => {\n return sessionStorage.getItem('flujo') || 'autogestion'\n}\n","import { setAlert } from 'context/reducer/app'\nimport { useEffect, useState } from 'react'\nimport { useDispatch } from 'react-redux'\n\nfunction getOnlineStatus() {\n return typeof navigator !== 'undefined' &&\n typeof navigator.onLine === 'boolean'\n ? navigator.onLine\n : true\n}\nexport function useOnlineStatus() {\n const [onlineStatus, setOnlineStatus] = useState(getOnlineStatus())\n const dispatch = useDispatch()\n\n const goOnline = () => {\n dispatch(setAlert({\n open: true,\n status: 2,\n text: 'No podemos conectarnos a una red; verifica tu conexión a internet.',\n }))\n setOnlineStatus(false)\n }\n const goOffline = () => setOnlineStatus(false)\n\n useEffect(() => {\n window.addEventListener('online', goOnline)\n window.addEventListener('offline', goOffline)\n\n return () => {\n window.removeEventListener('online', goOnline)\n window.removeEventListener('offline', goOffline)\n }\n // eslint-disable-next-line\n }, [])\n\n return onlineStatus\n}\n\nexport function capital_letter(str: string) {\n const strCapitalize = str.split(' ')\n return strCapitalize\n .map(\n (strWord) =>\n strWord.charAt(0).toUpperCase() + strWord.toLowerCase().substring(1)\n )\n .join(' ')\n}\nconst identifitacionNotAllowed = [\n '0000000000',\n '1111111111',\n '2222222222',\n '3333333333',\n '4444444444',\n '5555555555',\n '6666666666',\n '7777777777',\n '8888888888',\n '9999999999',\n]\nexport function validateEmailPhone(value: string, type: string) {\n if (type === 'email') {\n return value.match(/^([\\w.%+-]+)@([\\w-]+\\.)+([\\w]{2,})$/i)\n }\n if (+value.substring(0, 1) === 0 && value.length === 10) {\n return true\n }\n return false\n}\nexport function validateIdentification(value: string) {\n if (value.length !== 10) {\n return false\n }\n if (identifitacionNotAllowed.includes(value)) {\n return false\n }\n let digit: string\n /* convert to array of int for simplicity */\n // tslint:disable-next-line: prefer-array-literal\n const digits: number[] = new Array(value.length - 1)\n for (let i = 0; i < value.length - 1; i += 1) {\n digits[i] = +value.charAt(i)\n }\n\n /* double every other starting from right - jumping from 2 in 2 */\n for (let i = digits.length - 1; i >= 0; i -= 2) {\n digits[i] += digits[i]\n /* taking the sum of digits grater than 10 - simple trick by substract 9 */\n if (digits[i] >= 10) {\n digits[i] -= 9\n }\n }\n let sum = 0\n digits.forEach((item: number) => {\n sum += item\n })\n /* multiply by 9 step */\n sum *= 9\n /* convert to string to be easier to take the last digit */\n digit = sum.toString()\n const lastDigit = digit.substring(digit.length - 1)\n return value.substring(value.length - 1) === lastDigit\n}\n","const forge = require('node-forge')\n\nconst publicKey = forge.pki.publicKeyFromPem(process.env.REACT_APP_KEY_PUBLIC)\n\nexport default msg => {\n const encrypted = publicKey.encrypt(msg, 'RSA-OAEP', {\n md: forge.md.sha256.create(),\n mgf1: forge.mgf1.create()\n })\n return forge.util.encode64(encrypted)\n}","export const DEBOUNCE_TIMER = 700\nexport const INTEREST_RATE = '15.60'\nexport const RECAPTCHA_TOKEN = '2c17b72cc7f79e2e243c1fb6356ffd3c0eb3fdfff409b57f04c0735bde30f65c'\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit'\nimport { INTEREST_RATE, RECAPTCHA_TOKEN } from 'constants/index'\nimport { QuotaState, IQuota } from 'interfaces/quota'\n\nconst initialState: QuotaState = {\n amount: '',\n quotas: [],\n fee: '0',\n term: '0',\n rate: INTEREST_RATE,\n destination: [],\n}\n\nexport const fetchLog = createAsyncThunk('quota/log', async (_, thunkAPI: any) => {\n const headers = {\n Accept: 'application/json',\n Authorization: RECAPTCHA_TOKEN,\n 'Content-Type': 'application/json',\n }\n\n const { quota } = thunkAPI.getState()\n\n const body = {\n amount: quota.amount,\n term: quota.term,\n fee: quota.fee,\n rate: quota.rate,\n loanDestination: quota.destination,\n }\n await fetch(\n `${process.env.REACT_APP_URL_AUTH}/simulation/logger`,\n {\n body: JSON.stringify(body),\n headers,\n method: 'POST',\n mode: 'cors',\n }\n )\n }\n)\n\nexport const quotaSlice = createSlice({\n name: 'quotaState',\n initialState,\n reducers: {\n setAmount: (state, action: PayloadAction) => {\n state.amount = parseInt(action.payload,10).toLocaleString('de-DE')\n },\n setQuotas: (state, action: PayloadAction) => {\n state.quotas = action.payload\n },\n setInitialQuota: (state, action: PayloadAction) => {\n state.fee = action.payload\n },\n setTermState: (state, action: PayloadAction) => {\n state.term = action.payload\n },\n setDestinationState: (state, action: PayloadAction) => {\n state.destination = action.payload\n },\n },\n})\n\nexport const {\n setAmount,\n setQuotas,\n setInitialQuota,\n setTermState,\n setDestinationState,\n} = quotaSlice.actions\n\nexport default quotaSlice.reducer\n","import { getFlujo } from 'utils/fujo'\n\nexport const URL_PATH = () => `/${getFlujo()}/login/`\nexport const FORMAT_EMAIL = /[ !#$%^&*()+=\\][¨/{};':\"\\\\|<>?]/\n","import React from 'react'\nimport Container from '@mui/material/Container';\nimport Grid from '@mui/material/Grid';\nimport { navigate } from '@reach/router'\nimport isotipo from 'assets/images/Isotipo.svg'\nimport images from 'assets/images/logo-pichincha.png'\nimport { Subject } from 'rxjs'\nimport { take } from 'rxjs/operators'\nimport { capital_letter } from 'utils'\nimport './header.css'\nimport { KeyboardArrowLeft, LockOutlined } from '@mui/icons-material';\nimport { useSelector } from 'react-redux';\nimport { RootState } from 'context';\nimport { AppState } from 'interfaces/app';\nconst button$ = new Subject()\n\nconst Header: React.FC = () => {\n const { login } = useSelector(state => state.app)\n const isSolicitude = window.location.pathname.includes('/solicitud')\n\n React.useEffect(() => {\n const subscription = button$.pipe(take(1)).subscribe(() => {\n navigate('https://bancopichincha.optimalworkshop.com/questions/n27s1687')\n })\n return () => subscription.unsubscribe()\n }, [])\n\n return (\n
\n \n \n \n {!isSolicitude && (\n window.history.back()}\n >\n \n \n )}\n \n \n \n \n \n \n \n \n {capital_letter(login.fullName)}\n \n \n \n \n \n \n \n
\n )\n}\n\nexport default Header\n"],"sourceRoot":""}