{"version":3,"sources":["components/commons/GoogleReCaptcha/index.js","utils/index.js","config/env.js","config/constants.js","providers/resources/index.js","providers/resources/wallets.js","providers/resources/transactions.js","providers/resources/banks.js","providers/resources/requests.js","providers/resources/rules.js","providers/rest/index.js","providers/auth/index.js","resources/wallets/List.js","resources/wallets/Create.js","resources/wallets/index.js","resources/wallets/Show.js","resources/transactions/List.js","services/wallets.js","hooks/useWallets.js","components/commons/WalletSelect/index.js","components/commons/ValidationInput/index.js","services/rules.js","hooks/useCountries.js","components/commons/CountrySelect/index.js","components/commons/ValidationSelect/index.js","services/prices.js","hooks/useInterval.js","services/vita.js","hooks/useVita.js","hooks/usePrices.js","components/commons/ReceiveAmount/index.js","components/commons/VitaEmail/index.js","components/commons/WhenValidation/index.js","components/commons/Rules/index.js","components/commons/WithdrawalTitle/index.js","resources/transactions/Create.js","resources/transactions/index.js","resources/transactions/Show.js","resources/banks/List.js","resources/banks/index.js","resources/requests/index.js","resources/requests/List.js","resources/requests/Show.js","resources/rules/index.js","resources/rules/List.js","resources/index.js","hooks/useLogin.js","scenes/auth/login.js","app/index.js","reportWebVitals.js","index.js"],"names":["useGoogleRecaptcha","isValidRecaptcha","setValidRecaptcha","useState","validateRecaptcha","rejectRecaptcha","HackToRecaptcha","props","children","reload","setReload","stop","setStop","useEffect","isRefresh","undefined","global","grecaptcha","render","propTypes","PropTypes","any","defaultProps","_jsx","_Fragment","styles","box","width","display","justifyContent","alignItems","paddingTop","GoogleReCaptcha","isLeft","captchaRef","useRef","onloadCallback","current","reset","loadReCaptcha","style","ReCaptcha","ref","verifyCallback","token","size","sitekey","GOOGLE_RECAPTCHA","expiredCallback","window","location","TRANSACTION_STATUS","completed","denied","started","pending","processed","TRANSACTION_CATEGORY","withdrawal","vita_sent","TRANSACTION_TYPE","id","name","CURRENCIES","isValidEmail","email","test","getRequestsFromStorage","fromStorage","requests","req","localStorage","getItem","JSON","parse","deleteRequestFromStorage","ids","arguments","length","aux","map","request","includes","push","setItem","stringify","returnError","error","console","log","message","Promise","reject","HttpError","code","CREDENTIALS","RECAPTCHA","prod","stage","qa","dev","local","resources","wallets","getList","async","pagination","page","perPage","params","response","Business","get","count","data","wallet","uuid","resolve","total","getOne","create","transactions","filter","filters","transaction","transactions_type","transactionWallet","recharge","redirect_url","send","purchase","vitaSend","Error","banks","bank","bank_code","deleteMany","rules","rulesProvider","getWithdrawalRules","Object","keys","key","toUpperCase","fields","dataProvider","resource","authProvider","login","isCredentials","checkAuth","getPermissions","logout","config","checkError","status","Wallets","List","title","_jsxs","Datagrid","TextField","source","DateField","label","BooleanField","ShowButton","Wallet","Create","SimpleForm","TextInput","list","show","Show","SimpleShowLayout","Transactions","alwaysOn","FunctionField","record","category","service","getWallets","useWallets","setWallets","isFetch","walletService","item","WalletSelect","isReceived","isValidation","validationKey","validationValue","values","useFormState","SelectInput","choices","ValidationInput","validationSecondKey","validationSecondValue","min","max","fontSize","marginTop","concat","getRules","useCountries","countries","setCountries","rulesService","CountrySelect","ValidationSelect","useMemo","hasOwnProperty","visible","value","isFind","find","i","getPrices","updatePrices","prices","useInterval","callback","delay","isInterval","savedCallback","setInterval","tick","clearInterval","getVitaEmail","vitaProvider","getBeneficiary","useVita","user","setUser","vita_user","vitaService","attributes","is_received","Swal","fire","text","icon","confirmButtonText","isEmailExist","countryIsoCode","country_iso_code","usePrices","country","currency","amount","setPrices","pricesService","valid_until","moment","diff","utc","receivePrices","toLowerCase","price","fixedCost","Math","floor","receiveAmount","ReceiveAmount","currencyRecipient","className","disabled","flexDirection","Hoc","validationValues","VitaEmail","WhenValidation","rule","fieldItem","isValidate","field","when","array","shape","Rules","changeRule","changeCurrencyRecipient","currency_iso_code","WithdrawalTitle","paddingLeft","VerifyBeneficiary","payload","document_number","beneficiary","Transaction","setRule","setCurrencyRecipient","Box","xs","sm","mr","NumberInput","pt","pb","gridTemplateColumns","type","options","option","UrlField","JsonField","jsonString","reactJsonOptions","collapsed","enableClipboard","displayDataTypes","theme","Countries","isDevelopment","headers","result","ArrayField","credentials","useLogin","history","replace","useLoginAdmin","recaptchaHook","xLogin","setXLogin","xTransKey","setXTransKey","secret","setSecret","isValidForm","onSubmit","useCallback","changeXLogin","event","target","changeXTransKey","changeSecret","container","separator","marginLeft","Form","src","height","component","sx","m","noValidate","autoComplete","variant","onChange","Button","onClick","Login","hook","createHistory","createMuiTheme","palette","primary","main","secondary","light","contrastText","contrastThreshold","tonalOffset","typography","Administrator","Admin","loginPage","Resource","reportWebVitals","onPerfEntry","Function","then","_ref","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","React","StrictMode","App","document","getElementById"],"mappings":"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","file":"static/js/main.1081d46b.chunk.js","sourcesContent":["import React, {useEffect, useState, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {loadReCaptcha, ReCaptcha} from 'react-recaptcha-google';\n\nimport {GOOGLE_RECAPTCHA} from '../../../config/constants';\n\nexport const useGoogleRecaptcha = () => {\n const [isValidRecaptcha, setValidRecaptcha] = useState(false);\n\n const validateRecaptcha = () => {\n setValidRecaptcha(true);\n };\n\n const rejectRecaptcha = () => {\n setValidRecaptcha(false);\n };\n\n return {\n isValidRecaptcha,\n validateRecaptcha,\n rejectRecaptcha,\n };\n};\n\nconst HackToRecaptcha = (props) => {\n const {children} = props;\n const [reload, setReload] = useState(false);\n const [stop, setStop] = useState(false);\n\n useEffect(() => {\n let isRefresh = true;\n\n if (!stop && isRefresh) {\n if (!(global.grecaptcha === undefined || !global.grecaptcha.render)) {\n isRefresh = false;\n setStop(true);\n }\n setReload(!reload);\n }\n\n return () => {\n isRefresh = false;\n setStop(true);\n };\n }, [reload, stop]);\n\n if (global.grecaptcha && global.grecaptcha.render) {\n return children;\n }\n\n return null;\n};\n\nHackToRecaptcha.propTypes = {\n children: PropTypes.any,\n};\n\nHackToRecaptcha.defaultProps = {\n children: <>,\n};\n\nconst styles = {\n box: {\n width: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n paddingTop: 20,\n },\n};\n\nconst GoogleReCaptcha = (props) => {\n const {validateRecaptcha, rejectRecaptcha, isLeft} = props;\n const captchaRef = useRef(null);\n\n const onloadCallback = () => {\n if (captchaRef.current) {\n captchaRef.current.reset();\n }\n };\n\n const verifyCallback = (token) => {\n if (token) {\n validateRecaptcha();\n } else {\n rejectRecaptcha();\n }\n };\n\n useEffect(() => {\n loadReCaptcha();\n onloadCallback();\n }, []);\n\n return (\n
\n \n \n \n
\n );\n};\n\nGoogleReCaptcha.propTypes = {\n size: PropTypes.string,\n render: PropTypes.string,\n sitekey: PropTypes.string,\n rejectRecaptcha: PropTypes.func,\n validateRecaptcha: PropTypes.func,\n expiredCallback: PropTypes.func,\n isLeft: PropTypes.bool,\n};\n\nGoogleReCaptcha.defaultProps = {\n size: 'normal',\n render: 'explicit',\n sitekey: GOOGLE_RECAPTCHA,\n rejectRecaptcha: () => {},\n validateRecaptcha: () => {},\n expiredCallback: () => {\n window.location.reload();\n },\n isLeft: false,\n};\n\nexport default GoogleReCaptcha;\n","import { HttpError } from 'react-admin';\n\nexport const TRANSACTION_STATUS = {\n completed: 'Completado',\n denied: 'Rechazado',\n started: 'Iniciado',\n pending: 'Pendiente',\n processed: 'Procesado',\n};\n\nexport const TRANSACTION_CATEGORY = {\n //recharge: 'Recargas',\n //purchase: 'Compras',\n //sent: 'Envíos',\n withdrawal: 'Retiros',\n vita_sent: 'Envíos a Vita Wallet'\n};\n\nexport const COUNTRIES_ISO_CODE = [\n { id: 'cl', name: 'Chile' },\n { id: 'co', name: 'Colombia' },\n { id: 'us', name: 'Estados unidos' },\n { id: 'mx', name: 'México' },\n { id: 've', name: 'Venezuela' },\n];\n\nexport const TRANSACTION_TYPE = [\n //{ id: 'recharge', name: 'Recargas' },\n //{ id: 'purchase', name: 'Compras' },\n //{ id: 'sent', name: 'Envíos' },\n { id: 'withdrawal', name: 'Retiros' },\n { id: 'vita_sent', name: 'Envíos a vita' },\n];\n\nexport const CURRENCIES = [\n { id: 'clp', name: 'Peso chileno' },\n { id: 'usd', name: 'Dólar estadounidense' },\n { id: 'cop', name: 'Peso Colombiano' },\n { id: 'mxn', name: 'Peso Mexicano' },\n { id: 'ars', name: 'Peso Argentino' },\n { id: 'btc', name: 'BTC' },\n { id: 'usdt', name: 'USDT' },\n { id: 'usdc', name: 'USDC' },\n];\n\nexport const BANK_ACCOUNT_TYPE = [\n { id: 'CA', name: 'Cuenta de ahorros' },\n { id: 'CC', name: 'Cuenta corriente' },\n];\n\nexport const DOCUMENT_TYPE_CHILE = [\n { id: 'RUT', name: 'Rol único tributario' },\n { id: 'PASS', name: 'Pasaporte' },\n { id: 'CI', name: 'Cédula de identidad' },\n];\n\nexport const DOCUMENT_TYPE_COLOMBIA = [\n { id: 'PASS', name: 'Pasaporte' },\n { id: 'CC', name: 'Cédula de ciudadanía' },\n { id: 'NIT', name: 'Numero de identificación tributaria' },\n { id: 'CE', name: 'Carnet de extranjería' },\n];\n\nexport const DOCUMENT_TYPE_MEXICO = [\n { id: 'PASS', name: 'Pasaporte' },\n { id: 'DNI', name: 'Documento nacional de identidad' },\n { id: 'CURP', name: 'Clave única de registro de población' },\n { id: 'CURPE', name: 'Clave única de registro de población para empresas' },\n { id: 'ID', name: 'Documento de identificación de empresas' },\n];\n\nexport const DOCUMENT_TYPE_VENEZUELA = [\n { id: 'PASS', name: 'Pasaporte' },\n { id: 'CC', name: 'Cédula de ciudadanía' },\n { id: 'CE', name: 'Carnet de extranjería' },\n { id: 'RIF', name: 'Registro de información fiscal' },\n];\n\nexport const DOCUMENT_TYPE_COUNTRY = {\n co: DOCUMENT_TYPE_COLOMBIA,\n cl: DOCUMENT_TYPE_CHILE,\n ve: DOCUMENT_TYPE_VENEZUELA,\n mx: DOCUMENT_TYPE_MEXICO,\n};\n\nexport const BANK_ACCOUNT_TYPE_COUNTRY = {\n co: BANK_ACCOUNT_TYPE,\n cl: BANK_ACCOUNT_TYPE,\n ve: BANK_ACCOUNT_TYPE,\n pe: BANK_ACCOUNT_TYPE,\n mx: [{ id: 'CLABE', name: 'CLABE' },]\n};\n\nexport const PURPOSE_CODE = [\n { id: 'EPFAMT', name: 'Mantenimiento familiar' },\n { id: 'ISMDCS', name: 'Pago por servicios de atención medica' },\n { id: 'ISSTDY', name: 'Pago de costos de estudio/matricula' },\n { id: 'ISCHAR', name: 'Pago por razones de caridad' },\n { id: 'EPPROP', name: 'Pago por compra de propiedad' },\n { id: 'EPSHAR', name: 'Pago de acciones' },\n { id: 'EPIVST', name: 'Pago de una inversión' },\n { id: 'ISUBIL', name: 'Pago al proveedor de servicios públicos comunes' },\n { id: 'ISTAXS', name: 'Pago de impuestos' },\n { id: 'EPTOUR', name: 'Turismo' },\n { id: 'ISSAVG', name: 'Pago a cuenta de ahorro/jubilación' },\n { id: 'ISPENS', name: 'Pago de pensión' },\n { id: 'ISPAYR', name: 'Pago de nomina' },\n { id: 'ISGDDS', name: 'Compra venta de bienes' },\n { id: 'ISSUPP', name: 'Pago del proveedor' },\n { id: 'EPREMT', name: 'Remesas' },\n { id: 'ISSCVE', name: 'Compra venta de servicios' },\n];\n\nexport const isValidEmail = (email) => {\n return /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(email);\n};\n\nexport const getRequestsFromStorage = () => {\n let fromStorage = null;\n let requests = { req: [] };\n\n try {\n fromStorage = global.localStorage.getItem('REQUESTS');\n } finally {\n if (fromStorage) {\n requests = JSON.parse(fromStorage);\n }\n }\n\n return requests.req;\n};\n\nexport const deleteRequestFromStorage = (ids = []) => {\n let fromStorage = null;\n let requests = { req: [] };\n\n try {\n fromStorage = global.localStorage.getItem('REQUESTS');\n } finally {\n if (fromStorage) {\n requests = JSON.parse(fromStorage);\n }\n\n const aux = [];\n requests.req.map((request) => {\n if (!ids.includes(request.id)) {\n aux.push(request)\n }\n\n return null;\n });\n\n requests.req = aux;\n global.localStorage.setItem('REQUESTS', JSON.stringify(requests));\n }\n\n return requests.req;\n};\n\nexport const returnError = (error) => {\n console.log('Error::::', error);\n error = JSON.parse(error.message);\n return Promise.reject(\n new HttpError(error.message, error.code)\n );\n};\n","/**\n Constante para definir el entorno en el que se encuentra la app\n Posibles valores:\n - production\n - stage\n - qa\n - dev\n - local\n **/\n\n export const ENV = 'qa';\n\n // Nota: las claves de este objeto deben coincidir\n // con el (o los) valores de la constante ENV\n export const CREDENTIALS = {\n RECAPTCHA: {\n prod: '',\n stage: '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI',\n qa: '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI',\n dev: '',\n local: '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI',\n },\n };\n\n export default {\n CREDENTIALS,\n ENV,\n };","import {ENV, CREDENTIALS} from './env';\n\nconst {RECAPTCHA} = CREDENTIALS;\n\nexport const GOOGLE_RECAPTCHA = RECAPTCHA[ENV];\n\n/*\nlogin: 22af58c20428af65f6b868542aa6c2e5c99047dd\n\ntranskey: He6WghmXPUHQIot6Hf3HlQiYQmQ=\n\nsecret:\n9a6187c0c57023ddba55653c46fde508d5fcbc75d576d3797dbfb1093b49c1ee59258cd0eabb0152595235ea2ca25cb8b541735a7bca5d575f750c5ebb5e2fc37874fbe0557b2f1dfeaa3b2d60fce4adb5ae4b6f79f2ec9833edbafdb758df7ad4c3a116a81107beadc42e6aa0a9d2508af689993438e17742f36348d1bc45db1fad97f5750c4c03611279472e2b0dba62ef012008795d13a16c7283e471c9a6c55d6e4040a17c2bf82bbf3293a8e4023f530246e03c6d471d4366af3f3ccc71f0855bc54358a2a808799b5cce78132e26f5b1315fa0bfad8a1b98f63db4cd52916deb52c17f2bb6899c7ac609a8da110dc9c6a9bdaf28ec2f30bfb8702b3c21f91c62807f091778d8ade848c0e48bbcb03e6cfed193f3839a1c86b926d9381e603a7426dd980587ea33f428\n */\n\n","import wallets from './wallets';\nimport transactions from './transactions';\nimport banks from './banks';\nimport requests from './requests';\nimport rules from './rules';\n\nconst resources = {\n wallets,\n transactions,\n banks,\n requests,\n rules,\n};\n\nexport default resources;\n","import Business from 'vita-business-node';\n\nimport {returnError} from '../../utils';\n\nconst getList = async (params) => {\n try {\n const {pagination: {page, perPage}} = params;\n let response = await Business.wallets().get({\n page,\n count: perPage,\n });\n\n const wallets = response.data.map(wallet => ({\n ...wallet,\n id: wallet.uuid,\n }));\n\n return Promise.resolve({\n data: wallets,\n total: response.total,\n });\n } catch (error) {\n return returnError(error);\n }\n};\n\nconst getOne = async (params) => {\n try {\n const {id} = params;\n let wallet = await Business.wallets(id).get();\n\n return Promise.resolve({data: {\n ...wallet,\n id: wallet.uuid\n }});\n } catch (error) {\n return returnError(error);\n }\n};\n\nconst create = async (params) => {\n try {\n const {data: {token}} = params;\n let wallet = await Business.wallets().create(token);\n\n wallet = {\n ...wallet,\n id: wallet.uuid,\n };\n\n return Promise.resolve({data: wallet});\n } catch (error) {\n return returnError(error);\n }\n};\n\nconst dataProvider = {\n getList,\n getOne,\n create,\n};\n\nexport default dataProvider;\n","import Business from 'vita-business-node';\n\nimport {returnError} from '../../utils';\n\nconst getList = async (params) => {\n try {\n const {pagination, filter = {}} = params;\n const {page, perPage} = pagination;\n\n const filters = {\n page,\n count: perPage,\n ...filter,\n };\n\n let response = await Business.transactions().get(filters);\n\n return Promise.resolve({\n data: response.data,\n total: response.total,\n });\n } catch (error) {\n return returnError(error);\n }\n};\n\nconst getOne = async (params) => {\n try {\n const {id} = params;\n let transaction = await Business.transactions(id).get();\n\n return Promise.resolve({data: transaction});\n } catch (error) {\n return returnError(error);\n }\n};\n\nconst create = async (params) => {\n try {\n const {data} = params;\n const {transactions_type, wallet} = data;\n const transactionWallet = Business.wallets(wallet);\n\n delete data[\"transactions_type\"];\n delete data[\"wallet\"];\n\n let response = null;\n switch (transactions_type) {\n case 'recharge':\n response = await transactionWallet.recharge(data);\n const {redirect_url} = response;\n window.location = redirect_url;\n\n break;\n case 'withdrawal':\n response = await transactionWallet.withdrawal(data);\n break;\n case 'sent':\n response = await transactionWallet.send(data);\n break;\n case 'purchase':\n response = await transactionWallet.purchase(data);\n break;\n case 'vita_sent':\n response = await transactionWallet.vitaSend(data);\n break;\n default: {\n return Promise.reject(new Error('Opration not supported'));\n }\n }\n\n return Promise.resolve({data: response});\n } catch (error) {\n return returnError(error);\n }\n};\n\nconst dataProvider = {\n getList,\n getOne,\n create,\n};\n\nexport default dataProvider;\n","import Business from 'vita-business-node';\n\nimport {returnError} from '../../utils';\n\nconst getList = async (params) => {\n try {\n const {pagination, filter} = params;\n const {page, perPage} = pagination;\n\n let response = await Business.banks(\n filter['iso_code'] ? filter['iso_code'] : 'cl'\n ).get({\n page,\n count: perPage,\n });\n\n const banks = response.data.map(bank => ({\n ...bank,\n id: bank.bank_code,\n }));\n\n return Promise.resolve({\n data: banks,\n total: banks.length,\n });\n } catch (error) {\n return returnError(error);\n }\n};\n\nconst dataProvider = {\n getList,\n};\n\nexport default dataProvider;\n","import {getRequestsFromStorage, deleteRequestFromStorage} from '../../utils';\n\nconst getList = () => {\n const data = getRequestsFromStorage();\n\n return Promise.resolve({\n data,\n total: data.length,\n });\n};\n\nconst deleteMany = (params) => {\n const {ids} = params;\n const data = deleteRequestFromStorage(ids);\n\n return Promise.resolve({\n data,\n total: data.length,\n });\n};\n\nconst dataProvider = {\n getList,\n deleteMany,\n};\n\nexport default dataProvider;\n","import Business from 'vita-business-node';\n\nimport {returnError} from '../../utils';\n\nconst getList = async () => {\n try {\n let response = await Business\n .rulesProvider\n .getWithdrawalRules();\n\n const rules = Object\n .keys(response.rules)\n .map((key) => ({\n id: key.toUpperCase(),\n fields: response.rules[key].fields,\n }));\n\n return Promise.resolve({\n data: rules,\n total: rules.length,\n });\n } catch (error) {\n return returnError(error);\n }\n};\n\nconst dataProvider = {\n getList,\n};\n\nexport default dataProvider;","import resources from '../resources';\n\nconst getList = (resource, params) => {\n return resources[resource].getList(params);\n};\n\nconst getOne = (resource, params) => {\n return resources[resource].getOne(params);\n};\n\nconst create = (resource, params) => {\n return resources[resource].create(params);\n};\n\nconst deleteMany = (resource, params) => {\n return resources[resource].deleteMany(params);\n};\n\nconst dataProvider = {\n getList,\n getOne,\n create,\n deleteMany,\n};\n\nexport default dataProvider;\n","import Business from 'vita-business-node';\n\nconst authProvider = {\n login: () => {\n return Business.isCredentials() ? Promise.resolve() : Promise.reject();\n },\n checkAuth: () => {\n return Business.isCredentials() ? Promise.resolve() : Promise.reject();\n },\n getPermissions: () => {\n return Business.isCredentials() ? Promise.resolve() : Promise.reject();\n },\n logout: () => {\n Business.config({});\n return Promise.resolve('/login');\n },\n checkError: (error) => {\n if (error.status === 401 || error.status === 403) {\n Business.config({});\n return Promise.reject('/login');\n }\n\n return Promise.resolve();\n },\n};\n\nexport default authProvider;\n","import React from 'react';\nimport { List, Datagrid, TextField, DateField, BooleanField, ShowButton } from 'react-admin';\n\nconst Wallets = (props) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Wallets;\n","import * as React from \"react\";\nimport {Create, SimpleForm, TextInput} from 'react-admin';\n\nconst Wallet = (props) => (\n \n \n \n \n \n);\n\nexport default Wallet;\n","import List from './List';\nimport Create from './Create';\nimport Show from './Show';\n\nconst resource = {\n name: 'wallets',\n list: List,\n create: Create,\n show: Show,\n};\n\nexport default resource;\n","import React from 'react';\nimport { Show, SimpleShowLayout, TextField, DateField, BooleanField } from 'react-admin';\n\nconst Wallet = (props) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Wallet;\n","import React from 'react';\nimport {List, Datagrid, TextField, FunctionField, DateField, ShowButton, TextInput} from 'react-admin';\n\nimport {\n TRANSACTION_STATUS,\n TRANSACTION_CATEGORY\n} from '../../utils';\n\nconst Transactions = (props) => (\n ,\n ]}\n >\n \n \n \n \n \n \n \n \n TRANSACTION_CATEGORY[record.category]}\n />\n \n \n \n \n TRANSACTION_STATUS[record.status]}\n />\n \n \n \n);\n\nexport default Transactions;\n","import Business from 'vita-business-node';\n\nconst getWallets = () => {\n return Business.wallets().get();\n};\n\nconst service = {\n getWallets,\n};\n\nexport default service;\n","import {useState, useEffect} from 'react';\n\nimport walletService from '../services/wallets';\n\nconst useWallets = () => {\n const [wallets, setWallets] = useState([]);\n\n useEffect(() => {\n let isFetch = true;\n\n (async () => {\n try {\n const response = await walletService.getWallets();\n setWallets(response.data.map(item => ({\n id: item.uuid,\n name: item.uuid,\n })));\n\n isFetch = false;\n } catch {}\n })();\n\n return () => {\n isFetch = false;\n };\n }, []);\n\n return {\n wallets,\n };\n};\n\nexport default useWallets;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {SelectInput} from 'react-admin';\nimport {useFormState} from 'react-final-form';\n\nimport useWallets from '../../../hooks/useWallets';\n\nconst WalletSelect = (props) => {\n const {isReceived, isValidation, validationKey, validationValue, style} = props;\n const {wallets} = useWallets();\n const {values} = useFormState();\n\n if (isValidation && values[validationKey] !== validationValue) {\n return null;\n }\n\n return (\n
\n \n
\n );\n};\n\nWalletSelect.propTypes = {\n isReceived: PropTypes.bool,\n isValidation: PropTypes.bool,\n validationKey: PropTypes.string,\n validationValue: PropTypes.string,\n style: PropTypes.shape({}),\n};\n\nWalletSelect.defaultProps = {\n isReceived: false,\n isValidation: false,\n validationKey: '',\n validationValue: '',\n style: {},\n};\n\nexport default WalletSelect;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {TextInput} from 'react-admin';\nimport {useFormState} from 'react-final-form';\n\nconst ValidationInput = (props) => {\n const {\n validationKey,\n validationSecondKey,\n validationValue,\n validationSecondValue,\n style,\n min,\n max,\n } = props;\n const {values} = useFormState();\n\n if (values[validationKey] !== validationValue) {\n return null;\n }\n\n if (validationSecondKey && (values[validationSecondKey] !== validationSecondValue)) {\n return null;\n }\n\n return (\n
\n \n
\n {min ? `mínimo ${min} dígitos` : ''} {max ? `máximo ${max} dígitos` : ''}\n
\n
\n );\n};\n\nValidationInput.propTypes = {\n label: PropTypes.string.isRequired,\n source: PropTypes.string.isRequired,\n validationKey: PropTypes.string.isRequired,\n validationSecondKey: PropTypes.string,\n validationSecondValue: PropTypes.string,\n validationValue: PropTypes.string,\n style: PropTypes.shape({}),\n min: PropTypes.string,\n max: PropTypes.string,\n};\n\nValidationInput.defaultProps = {\n validationValue: '',\n validationSecondKey: '',\n validationSecondValue: '',\n style: {},\n min: '',\n max: '',\n};\n\nexport default ValidationInput;\n","import Business from 'vita-business-node';\n\nconst getRules = () => {\n return Business\n .rulesProvider\n .getWithdrawalRules();\n};\n\nconst service = {\n getRules,\n};\n\nexport default service;","import {useEffect, useState} from 'react';\n\nimport rulesService from '../services/rules';\n\nconst useCountries = () => {\n const [countries, setCountries] = useState([]);\n\n useEffect(() => {\n let isFetch = true;\n\n (async () => {\n try {\n const response = await rulesService.getRules();\n setCountries(\n Object\n .keys(response.rules)\n .map((key) => ({\n id: key.toUpperCase(),\n name: response.rules[key].name.toUpperCase(),\n }))\n );\n } catch {}\n })();\n\n return () => {\n isFetch = false;\n };\n }, []);\n\n return {\n countries,\n };\n};\n\nexport default useCountries;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {SelectInput} from 'react-admin';\nimport {useFormState} from 'react-final-form';\n\nimport useCountries from '../../../hooks/useCountries';\n\nconst CountrySelect = (props) => {\n const {isValidation, validationKey, validationValue, style} = props;\n const {values} = useFormState();\n const {countries} = useCountries();\n\n if (isValidation && values[validationKey] !== validationValue) {\n return null;\n }\n\n return (\n
\n \n
\n );\n};\n\nCountrySelect.propTypes = {\n isValidation: PropTypes.bool,\n style: PropTypes.shape({}),\n validationKey: PropTypes.string,\n validationValue: PropTypes.string,\n};\n\nCountrySelect.defaultProps = {\n isValidation: false,\n style: {},\n validationKey: '',\n validationValue: '',\n};\n\nexport default CountrySelect;\n","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport {SelectInput} from 'react-admin';\nimport {useFormState} from 'react-final-form';\n\nconst ValidationSelect = (props) => {\n const {validationKey, validationValue, style, min, max} = props;\n const {values} = useFormState();\n\n const choices = useMemo(() => props.choices.filter((item) =>\n {\n if (!item.hasOwnProperty('visible')){\n return true;\n }\n else{\n if (item.visible){\n const { visible: { key, value }} = item;\n let isFind = false;\n value.find(i => values[key] === i && ( isFind = true ));\n return isFind;\n };\n return true;\n }\n }\n ), [props.choices, values])\n\n if (values[validationKey] !== validationValue) return null;\n\n return (\n
\n \n
\n {min ? `mínimo ${min} dígitos` : ''} {max ? `máximo ${max} dígitos` : ''}\n
\n
\n );\n};\n\nValidationSelect.propTypes = {\n label: PropTypes.string.isRequired,\n source: PropTypes.string.isRequired,\n choices: PropTypes.array.isRequired,\n validationKey: PropTypes.string.isRequired,\n validationValue: PropTypes.string,\n style: PropTypes.shape({}),\n min: PropTypes.string,\n max: PropTypes.string,\n};\n\nValidationSelect.defaultProps = {\n validationValue: '',\n style: {},\n min: '',\n max: '',\n};\n\nexport default ValidationSelect;","import Business from 'vita-business-node';\n\nconst getPrices = (wallet = '') => {\n return wallet ?\n Business.wallets(wallet).updatePrices() :\n Business.prices().get();\n};\n\nconst service = {\n getPrices,\n};\n\nexport default service;\n","import {useEffect, useRef} from 'react';\n\nconst useInterval = (callback, delay, isInterval = true) => {\n const savedCallback = useRef();\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const tick = () => {\n savedCallback.current();\n };\n\n if (delay !== null && isInterval) {\n let id = setInterval(tick, delay);\n return () => {\n clearInterval(id);\n };\n }\n }, [delay]);\n};\n\nexport default useInterval;\n","import Business from 'vita-business-node';\n\nconst getVitaEmail = (email) => {\n return Business.vitaProvider.getVitaEmail(email);\n};\n\nconst getBeneficiary = (data = {}) => {\n return Business.vitaProvider.getBeneficiary(data);\n};\n\nconst service = {\n getVitaEmail,\n getBeneficiary,\n};\n\nexport default service;\n","import React, { useEffect, useState, useMemo } from 'react';\nimport { useFormState } from 'react-final-form';\nimport Swal from 'sweetalert2';\n\nimport vitaService from '../services/vita';\nimport { isValidEmail } from '../utils';\n\nconst useVita = () => {\n const [user, setUser] = useState(null);\n const { values: { email = '' } } = useFormState();\n\n useEffect(() => {\n if (isValidEmail(email)) {\n (async () => {\n try {\n const { vita_user } = await vitaService.getVitaEmail(email);\n const { attributes } = vita_user;\n\n if (attributes.status === 'banned' && !attributes.is_received) {\n Swal.fire({\n title: 'Usuario Vita baneado!',\n text: 'El usuario al cual pretende enviar dinero se encuentra baneado, por lo cual no podrá realizar la transacción',\n icon: 'error',\n confirmButtonText: 'OK'\n })\n }\n\n setUser(vita_user);\n } catch {\n setUser(null);\n }\n })();\n }\n }, [email]);\n\n const message = useMemo(() => {\n if (email) {\n if (!(!!user)) {\n return 'El Correo no existe en Vita';\n }\n\n if (user && !user.attributes.is_received) {\n return 'No puede recibir';\n }\n }\n\n return '';\n }, [email, user]);\n\n const isEmailExist = useMemo(() => {\n return !!user;\n }, [user]);\n\n const isReceived = useMemo(() => {\n if (user) {\n return user.attributes.is_received;\n }\n\n return false;\n }, [user]);\n\n const countryIsoCode = useMemo(() => {\n if (user) {\n return user.attributes.country_iso_code;\n }\n\n return null;\n }, [user]);\n\n return {\n message,\n countryIsoCode,\n isEmailExist,\n isReceived,\n };\n};\n\nexport default useVita;\n","import { useState, useEffect, useMemo } from 'react';\nimport moment from 'moment';\nimport { useFormState } from 'react-final-form';\n\nimport pricesService from '../services/prices';\nimport useInterval from './useInterval';\nimport useVita from './useVita';\n\nconst usePrices = () => {\n const {\n values: {\n wallet = '',\n country = '',\n currency = '',\n amount = 0,\n transactions_type = 'withdrawal',\n },\n } = useFormState();\n const { message, countryIsoCode } = useVita();\n const [prices, setPrices] = useState(null);\n\n const getPrices = async () => {\n try {\n console.log('Vamos por precios');\n const response = await pricesService.getPrices(wallet);\n setPrices(response);\n } catch { }\n };\n\n const delay = useMemo(() => {\n if (prices) {\n const { withdrawal = null } = prices[currency] || prices;\n if (withdrawal) {\n const { valid_until } = withdrawal['prices']['attributes'];\n\n return moment(valid_until)\n .diff(moment().utc(0), 'milliseconds');\n }\n }\n\n return null;\n }, [prices, currency]);\n\n const receivePrices = useMemo(() => {\n if (prices && transactions_type) {\n if (transactions_type === 'withdrawal') {\n const { withdrawal = null } = prices[currency] || prices;\n if (withdrawal && withdrawal['prices']['attributes'][`${currency.toLowerCase()}_sell`]) {\n const price = withdrawal['prices']['attributes'][`${currency.toLowerCase()}_sell`][country.toLowerCase()];\n const fixedCost = withdrawal['prices']['attributes'][`fixed_cost${currency.toLowerCase() === 'usd' ? '_usd' : ''}`][country.toLowerCase()];\n\n return {\n price: Math.floor(price * 100) / 100,\n fixedCost,\n total: Math.floor((amount * price - fixedCost) * 100) / 100,\n };\n }\n } else {\n if (countryIsoCode) {\n const { vita_sent } = prices[currency] || prices;\n if (vita_sent['prices']['attributes'][`${currency.toLowerCase()}_sell`]) {\n const price = vita_sent['prices']['attributes'][`${currency.toLowerCase()}_sell`][countryIsoCode.toLowerCase()] || vita_sent['prices']['attributes'][`${currency.toLowerCase()}_sell`];\n const fixedCost = vita_sent['prices']['attributes'][`fixed_cost${currency.toLowerCase() === 'usd' ? '_usd' : ''}`][countryIsoCode.toLowerCase()] || vita_sent['prices']['attributes'][`fixed_cost${currency.toLowerCase() === 'usd' ? '_usd' : ''}`];\n\n return {\n price: Math.floor(price * 100) / 100,\n fixedCost,\n total: Math.floor((amount * price - fixedCost) * 100) / 100,\n };\n }\n }\n }\n }\n\n return 0;\n }, [prices, amount, country, transactions_type, countryIsoCode, currency]);\n\n useInterval(getPrices, delay);\n\n useEffect(() => {\n let isFetch = true;\n\n if (isFetch && wallet) {\n getPrices();\n isFetch = false;\n }\n\n return () => {\n isFetch = false;\n };\n }, []);\n\n return {\n prices,\n message,\n receiveAmount: receivePrices['total'],\n price: receivePrices['price'],\n fixedCost: receivePrices['fixedCost'],\n };\n};\n\nexport default usePrices;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport TextField from '@material-ui/core/TextField';\nimport {useFormState} from 'react-final-form';\n\nimport usePrices from '../../../hooks/usePrices';\n\nconst ReceiveAmount = (props) => {\n const {style, currencyRecipient} = props;\n const {values} = useFormState();\n const {prices, receiveAmount, message, price, fixedCost} = usePrices();\n\n if (!prices || !values['amount'] || receiveAmount === 0) {\n return null;\n }\n\n if (values['transactions_type'] === 'withdrawal' && !values['country']) {\n return null;\n }\n\n return (\n
\n {message}\n \n
\n Precio: {price}, Costo fijo: {fixedCost} {currencyRecipient}\n
\n
\n );\n};\n\nReceiveAmount.propTypes = {\n label: PropTypes.string.isRequired,\n source: PropTypes.string.isRequired,\n style: PropTypes.shape({}),\n};\n\nReceiveAmount.defaultProps = {\n style: {},\n};\n\nconst styles = {\n box: {\n display: 'flex',\n flexDirection: 'column',\n },\n};\n\nconst Hoc = (props) => {\n const {validationKey, validationValue, validationValues} = props;\n const {values} = useFormState();\n\n if (\n (validationValue && values[validationKey] !== validationValue) ||\n !values['wallet']\n ) {\n return null;\n }\n\n if (\n (validationValues.length > 0 && !validationValues.includes(values[validationKey])) ||\n !values['wallet']\n ) {\n return null;\n }\n\n return ;\n};\n\nHoc.propTypes = {\n validationKey: PropTypes.string.isRequired,\n validationValue: PropTypes.string,\n validationValues: PropTypes.array,\n};\n\nHoc.defaultProps = {\n validationValue: '',\n validationValues: [],\n};\n\nexport default Hoc;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {TextInput} from 'react-admin';\nimport {useFormState} from 'react-final-form';\n\nconst VitaEmail = (props) => {\n const {validationKey, validationValue, style} = props;\n const {values} = useFormState();\n\n if (values[validationKey] !== validationValue) {\n return null;\n }\n\n return (\n
\n \n
\n );\n};\n\nVitaEmail.propTypes = {\n validationKey: PropTypes.string.isRequired,\n validationValue: PropTypes.string,\n style: PropTypes.shape({}),\n};\n\nVitaEmail.defaultProps = {\n validationValue: '',\n style: {},\n};\n\nconst styles = {\n box: {\n display: 'flex',\n flexDirection: 'column',\n },\n};\n\nexport default VitaEmail;\n","import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {useFormState} from 'react-final-form';\n\nconst WhenValidation = (props) => {\n const {\n rule, \n children,\n fieldItem,\n } = props;\n\n const {values} = useFormState();\n\n const isValidate = useMemo(() => {\n if (!rule) return false;\n \n const field = rule.find((field) => fieldItem === field) || null;\n return field && field.when && values[field.when.key] === field.when.value;\n }, [rule, fieldItem, values]);\n\n if (!!fieldItem.hasOwnProperty('when') && !isValidate) {\n return null;\n }\n\n return <>{children};\n};\n\nWhenValidation.propTypes = {\n rule: PropTypes.array, \n children: PropTypes.any,\n fieldItem: PropTypes.shape({}),\n};\n\nWhenValidation.defaultProps = {\n rule: [], \n children: <>,\n fieldItem: {},\n};\n\nexport default WhenValidation;","import React, {useEffect} from 'react';\nimport Business from 'vita-business-node';\nimport {useFormState} from 'react-final-form';\n\nconst Rules = (props) => {\n const {changeRule, changeCurrencyRecipient} = props;\n const {values} = useFormState();\n\n useEffect(() => {\n if (\n values.country &&\n values.transactions_type &&\n values.transactions_type === 'withdrawal'\n ) {\n (async () => {\n try {\n const response = await Business\n .rulesProvider\n .getWithdrawalRules();\n changeRule(response.rules[values.country.toLowerCase()].fields);\n changeCurrencyRecipient(response.rules[values.country.toLowerCase()].currency_iso_code);\n } catch {}\n })();\n }\n }, [values.country, values.transactions_type]);\n\n return null;\n};\n\nexport default Rules;","import React from 'react';\nimport {useFormState} from 'react-final-form';\n\nconst WithdrawalTitle = (props) => {\n const {values} = useFormState();\n\n if (!values['transactions_type'] || values['transactions_type'] !== 'withdrawal' || !props.rule) {\n return null;\n }\n\n return (\n
\n Formulario de retiros\n
\n );\n};\n\nexport default WithdrawalTitle;","import React, { useState, useEffect } from 'react';\nimport Box from '@mui/material/Box';\nimport { Create, SimpleForm, TextInput, SelectInput, NumberInput } from 'react-admin';\nimport { useFormState } from 'react-final-form';\nimport WalletSelect from '../../components/commons/WalletSelect';\nimport ValidationInput from '../../components/commons/ValidationInput';\nimport CountrySelect from '../../components/commons/CountrySelect';\nimport ValidationSelect from '../../components/commons/ValidationSelect';\nimport ReceiveAmount from '../../components/commons/ReceiveAmount';\nimport VitaEmail from '../../components/commons/VitaEmail';\nimport WhenValidation from '../../components/commons/WhenValidation';\nimport Rules from '../../components/commons/Rules';\nimport WithdrawalTitle from '../../components/commons/WithdrawalTitle';\nimport { TRANSACTION_TYPE, CURRENCIES } from '../../utils';\nimport vitaService from '../../services/vita';\nimport Swal from 'sweetalert2';\n\nconst VerifyBeneficiary = () => {\n const { values = {} } = useFormState();\n\n useEffect(() => {\n let isFetch = true;\n\n if (\n isFetch &&\n values[\"country\"] &&\n values[\"beneficiary_document_number\"] &&\n values[\"beneficiary_document_type\"]\n ) {\n (async () => {\n try {\n const payload = {\n document_number: values[\"beneficiary_document_number\"],\n country_iso_code: values[\"country\"],\n }\n\n if (values[\"beneficiary_type\"]) {\n payload['beneficiary_type'] = values[\"beneficiary_type\"]\n }\n\n if (!((values[\"beneficiary_type\"] || \"\").toLowerCase() === 'corporate')) {\n payload['document_type'] = values[\"beneficiary_document_type\"]\n }\n\n const { beneficiary: { attributes } } = await vitaService.getBeneficiary(payload)\n\n if (attributes.status === 'banned' && !attributes.is_received) {\n Swal.fire({\n title: 'Beneficiario baneado!',\n text: 'El beneficiario al cual pretende enviar dinero se encuentra baneado, por lo cual no podrá realizar la transacción',\n icon: 'error',\n confirmButtonText: 'OK'\n })\n }\n } catch { }\n })()\n }\n\n return () => {\n isFetch = false;\n }\n }, [\n values[\"country\"],\n values[\"beneficiary_document_number\"],\n values[\"beneficiary_document_type\"],\n values[\"beneficiary_type\"],\n ])\n\n return null;\n}\n\nconst Transaction = (props) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n props.rule.map((field) => {\n if (field.type === 'select') {\n return (\n \n {\n if (option.hasOwnProperty('visible')) {\n return {\n id: option.value,\n name: option.label,\n visible: option.visible,\n }\n } else {\n return {\n id: option.value,\n name: option.label,\n }\n }\n })}\n validationKey=\"transactions_type\"\n validationValue=\"withdrawal\"\n min={field.min}\n max={field.max}\n />\n \n );\n }\n\n return (\n \n \n \n );\n })\n }\n \n \n \n);\n\nconst Hoc = (props) => {\n const [rule, setRule] = useState([]);\n const [currencyRecipient, setCurrencyRecipient] = useState('');\n\n return (\n \n );\n};\n\nexport default Hoc;","import List from './List';\nimport Create from './Create';\nimport Show from './Show';\n\nconst resource = {\n name: 'transactions',\n list: List,\n create: Create,\n show: Show,\n};\n\nexport default resource;\n","import React from 'react';\nimport {JsonField} from 'react-admin-json-view';\nimport {Show, SimpleShowLayout, TextField, DateField, FunctionField, UrlField} from 'react-admin';\n\nimport {TRANSACTION_CATEGORY, TRANSACTION_STATUS} from '../../utils';\n\nconst Transaction = (props) => (\n \n \n \n \n \n \n \n \n TRANSACTION_CATEGORY[record.category]}\n />\n \n \n \n \n TRANSACTION_STATUS[record.status]}\n />\n \n \n \n \n \n \n);\n\nexport default Transaction;\n","import React from 'react';\nimport {List, Datagrid, TextField, SelectInput} from 'react-admin';\n\nimport useCountries from \"../../hooks/useCountries\";\n\nconst Countries = (props) => {\n const {countries} = useCountries();\n return (\n \n );\n};\n\nconst filters = [\n ,\n];\n\nconst Banks = (props) => (\n \n \n \n \n \n \n \n \n \n);\n\nexport default Banks;\n","import List from './List';\n\nconst resource = {\n name: 'banks',\n list: List,\n};\n\nexport default resource;\n","import List from './List';\nimport Show from './Show';\n\nconst resource = {\n name: 'requests',\n list: List,\n show: Show,\n};\n\nexport default resource;\n","import React from 'react';\nimport Business from 'vita-business-node';\nimport {List, Datagrid, TextField, FunctionField, BooleanField, ShowButton} from 'react-admin';\n\nconst Requests = (props) => {\n if (Business.isDevelopment()) {\n return (\n \n \n \n \n \n \n JSON.stringify(record.headers)}\n />\n \n \n \n );\n }\n\n return null;\n};\n\nexport default Requests;\n","import React from 'react';\nimport {Show, SimpleShowLayout, TextField, BooleanField, FunctionField} from 'react-admin';\n\nconst Request = (props) => (\n \n \n \n \n \n \n JSON.stringify(record.headers)}\n />\n JSON.stringify(record.params)}\n />\n JSON.stringify(record.data)}\n />\n JSON.stringify(record.result)}\n />\n \n \n);\n\nexport default Request;\n","import List from './List';\n\nconst resource = {\n name: 'rules',\n list: List,\n};\n\nexport default resource;","import React from 'react';\nimport {List, Datagrid, TextField, ArrayField, FunctionField} from 'react-admin';\n\nconst Rules = (props) => (\n \n \n \n \n \n \n \n \n \n record.when ? `Cuando ${record.when.key} sea igual a ${record.when.value}` : ''}\n />\n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Rules;","import wallets from './wallets';\nimport transactions from './transactions';\nimport banks from './banks';\nimport requests from './requests';\nimport rules from './rules';\nimport credentials from '../config/credentials.json';\n\nconst resources = [\n wallets,\n transactions,\n banks,\n rules,\n];\n\nif (credentials.isDevelopment) {\n resources.push(requests);\n}\n\nexport default resources;\n","import {useState, useMemo, useCallback} from 'react';\nimport {useLogin as useLoginAdmin} from 'react-admin';\nimport Business from 'vita-business-node';\nimport {useGoogleRecaptcha} from '../components/commons/GoogleReCaptcha';\n\nimport credentials from '../config/credentials.json';\n\nconst useLogin = (props) => {\n const {history: {replace = () => {}}} = props;\n const login = useLoginAdmin();\n const recaptchaHook = useGoogleRecaptcha();\n const {isValidRecaptcha} = recaptchaHook;\n const [xLogin, setXLogin] = useState('');\n const [xTransKey, setXTransKey] = useState('');\n const [secret, setSecret] = useState('');\n\n const isValidForm = useMemo(() => {\n return xLogin && xTransKey && secret && isValidRecaptcha;\n }, [xLogin, xTransKey, secret, isValidRecaptcha]);\n\n const changeXLogin = (event) => {\n setXLogin(event .target.value);\n };\n\n const changeXTransKey = (event) => {\n setXTransKey(event.target.value);\n };\n\n const changeSecret = (event) => {\n setSecret(event.target.value);\n };\n\n const onSubmit = useCallback(async () => {\n if (isValidRecaptcha) {\n Business.config({\n ...credentials,\n \"X_Login\": xLogin,\n \"X_Trans_Key\": xTransKey,\n \"secret\": secret,\n });\n\n try {\n await login();\n } catch {}\n\n replace('/wallets');\n }\n }, [xLogin, xTransKey, secret, isValidRecaptcha]);\n\n return {\n xLogin,\n xTransKey,\n secret,\n isValidForm,\n onSubmit,\n recaptchaHook,\n changeXLogin,\n changeXTransKey,\n changeSecret,\n };\n};\n\nexport default useLogin;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport GoogleReCaptcha from '../../components/commons/GoogleReCaptcha';\n\nimport useLogin from '../../hooks/useLogin';\n\nconst styles = {\n container: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n },\n separator: {\n marginLeft: 20,\n marginTop: 20,\n },\n};\n\nconst Form = (props) => (\n
\n
\n \n
\n
\n \n
\n \n \n \n
\n \n \n Iniciar sesión\n \n
\n \n
\n);\n\nForm.propTypes = {\n xLogin: PropTypes.string,\n xTransKey: PropTypes.string,\n secret: PropTypes.string,\n isValidForm: PropTypes.bool,\n onSubmit: PropTypes.func,\n changeXLogin: PropTypes.func,\n changeXTransKey: PropTypes.func,\n changeSecret: PropTypes.func,\n};\n\nForm.defaultProps = {\n xLogin: '',\n xTransKey: '',\n secret: '',\n isValidForm: false,\n onSubmit: () => {},\n changeXLogin: () => {},\n changeXTransKey: () => {},\n changeSecret: () => {},\n};\n\nconst Login = (props) => {\n const hook = useLogin(props);\n return
;\n};\n\nLogin.propTypes = {\n history: PropTypes.shape({\n replace: PropTypes.func.isRequired,\n }).isRequired,\n};\n\nexport default Login;\n","import React from 'react';\nimport {createBrowserHistory as createHistory} from 'history';\nimport {Admin, Resource} from 'react-admin';\nimport { createMuiTheme } from '@material-ui/core/styles';\n\nimport dataProvider from '../providers/rest';\nimport authProvider from '../providers/auth';\nimport resources from '../resources';\nimport Login from '../scenes/auth/login';\n\nconst history = createHistory();\n\nconst theme = createMuiTheme({\n palette: {\n type: \"dark\",\n primary: {\n // light: will be calculated from palette.primary.main,\n main: '#ffffff',\n // dark: will be calculated from palette.primary.main,\n // contrastText: will be calculated to contrast with palette.primary.main\n },\n secondary: {\n light: '#0066ff',\n main: '#292929',\n // dark: will be calculated from palette.secondary.main,\n contrastText: '#ffffff',\n },\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold: 3,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset: 0.2,\n typography: {\n // In Chinese and Japanese the characters are usually larger,\n // so a smaller fontsize may be appropriate.\n fontSize: 18,\n },\n },\n});\n\nconst Administrator = () => {\n return (\n \n {resources.map(resource => ())}\n \n );\n};\n\nexport default Administrator;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport App from './app';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}