{"version":3,"sources":["config/moment/index.js","config/theme/index.js","config/constants/index.js","config/aws/index.js","config/alert/index.js","config/map/index.js","utils/auth/index.js","utils/regex/index.js","utils/getFee/index.js","utils/formatAmount/index.js","utils/formatDate/index.js","utils/csv/index.js","api/fetch/config.js","api/fetch/index.js","api/data/index.js","components/CustomRoute/index.js","components/Drawer/Header.js","components/Drawer/Options.js","components/Drawer/DrawerOptions.js","components/Drawer/Content.js","components/Drawer/index.js","components/LoadingButton/index.js","components/TextField/index.js","components/Button/index.js","hooks/useSlideMessage/index.js","hooks/usePost/index.js","hooks/useMatchSizes/index.js","hooks/useQueryParameters/index.js","hooks/useViewport/index.js","hooks/useFileUpload/index.js","hooks/useSizes/index.js","hooks/useCachedData/index.js","components/Table/index.js","components/LabelValue/index.js","components/SlideMessage/index.js","components/AmountField/index.js","components/Snackbar/index.js","components/Link/index.js","components/Paper/index.js","components/FilePreview/index.js","components/FileUpload/index.js","components/MapMarker/index.js","components/Map/index.js","schemas/login/index.js","schemas/client/index.js","schemas/user/index.js","schemas/user/create/index.js","schemas/user/update/index.js","schemas/loan/create/index.js","schemas/loan/update/index.js","schemas/loan/index.js","schemas/loan/pay/index.js","schemas/payment/index.js","schemas/payment/update/index.js","schemas/location/index.js","screens/Login/index.js","screens/Clients/Add/index.js","screens/Clients/List/index.js","screens/Clients/Profile/index.js","screens/NoMatch/index.js","screens/Clients/index.js","screens/Loans/Add/index.js","screens/Loans/List/index.js","screens/Loans/Details/index.js","screens/Loans/Pay/index.js","screens/Loans/index.js","screens/Payments/List/index.js","screens/Payments/Today/index.js","screens/Payments/Personal/index.js","screens/Payments/Details/index.js","screens/Payments/index.js","screens/Users/Add/index.js","screens/Users/List/index.js","screens/Users/Profile/index.js","screens/Users/index.js","screens/Profile/index.js","screens/Welcome/index.js","screens/Locations/Add/index.js","screens/Locations/List/index.js","screens/Locations/Details/index.js","screens/Locations/index.js","screens/Home/index.js","screens/index.js","App.js","serviceWorker.js","index.js"],"names":["moment","updateLocale","weekdays","weekdaysShort","months","monthsShort","defaultFormat","createMuiTheme","palette","primary","main","process","DAILY","MONTHLY","config","s3","url","alertMessage","REACT_APP_ALERT_MESSAGE","apiKey","center","lat","lng","zoom","getToken","window","localStorage","getItem","decodedToken","jwt","decode","replace","token","setItem","verify","err","type","userType","Boolean","constants","getFee","amount","interestPercentage","capitalPercentage","periodicityTimes","penalty","periodicityFee","expectedAmount","interestAmount","capitalAmount","Math","round","formatAmount","format","style","currency","currencyDisplay","currencySymbol","Intl","NumberFormat","formatDate","date","columns","data","name","builder","CsvBuilder","exportColumns","map","columnDef","title","exportData","rowData","field","get","paydate","daysLate","diff","setColumns","addRows","exportFile","getHeaders","endpoint","method","Authorization","auth","Promise","resolve","reject","a","fetch","headers","request","json","response","ok","Error","message","post","body","JSON","stringify","fileUpload","file","status","statusText","options","userId","id","key","displayName","path","iconName","isProtected","subMenu","initialState","filter","option","CustomRoute","Component","component","isPrivate","isLogin","rest","render","props","isAuth","to","pathname","isAdminOrSupervisor","useStyles","makeStyles","theme","menuButton","marginRight","spacing","content","flex","linkText","color","common","white","Header","onClick","classes","AppBar","position","IconButton","aria-label","edge","className","Menu","Box","display","flexDirection","justifyContent","alignItems","Typography","variant","noWrap","toolbar","mixins","nested","marginLeft","text","withRouter","history","onCloseDrawer","userName","useState","open","setOpen","Divider","List","subheader","ListSubheader","ListItem","button","push","ListItemIcon","Icon","ListItemText","item","Collapse","in","timeout","unmountOnExit","disablePadding","Link","drawerPaper","width","DrawerOptions","isOpen","handleDrawerToggle","useTheme","Drawer","anchor","direction","onClose","paper","ModalProps","keepMounted","flexGrow","padding","Content","children","React","mobileOpen","setMobileOpen","wrapper","buttonProgress","green","top","left","marginTop","LoadingButton","loading","CircularProgress","size","BaseTextField","readOnly","TextField","margin","fullWidth","autoComplete","InputProps","Button","useSlideMessage","isVisible","setIsVisible","useEffect","setTimeout","usePost","useReducer","state","newState","error","setState","isSucceded","setIsSucceded","isError","setIsError","callback","useMatchSizes","xsDown","useMediaQuery","breakpoints","down","mdDown","xlDown","useQueryParameters","search","useLocation","URLSearchParams","useViewport","height","viewportSize","setViewportSize","onResize","useCallback","innerWidth","innerHeight","vw","v","vh","useLayoutEffect","addEventListener","removeEventListener","useMemo","useFileUpload","upload","throwError","useSizes","smDown","lgDown","xsUp","up","smUp","mdUp","lgUp","xlUp","loanRoutes","useCachedData","routes","cachedLoan","setCachedLoan","cache","useSWRConfig","route","routeName","includes","cachedValue","find","loan","Number","Table","filtering","isAdmin","maxBodyHeight","localization","searchTooltip","searchPlaceholder","exportTitle","exportAriaLabel","exportName","pagination","labelRowsSelect","firstAriaLabel","firstTooltip","lastAriaLabel","lastTooltip","previousAriaLabel","previousTooltip","nextAriaLabel","nextTooltip","emptyDataSourceMessage","header","actions","pageSize","pageSizeOptions","exportButton","exportCsv","csvUtils","headerStyle","backgroundColor","LabelValue","editable","label","value","Grid","sm","xs","SlideMessage","AmountField","isNumericString","thousandSeparator","customInput","prefix","allowNegative","colors","success","BaseSnackbar","Snackbar","TransitionComponent","Slide","ContentProps","LinkRef","forwardRef","ref","RouterLink","underline","root","PaperComponent","Paper","fileContainer","FileUpload","src","aws","alt","container","input","skeleton","icon","black","onChange","my","accept","htmlFor","FilePreview","Skeleton","Marker","LocationOn","grey","DeliveryMap","loadingCurrentLocation","showActions","defaultCenter","showCurrentLocation","isEditable","zIndex","bgcolor","Tooltip","undefined","disabled","MyLocation","fontSize","bootstrapURLKeys","mapConfig","defaultZoom","yesIWantToUseGoogleMapApiInternals","draggable","MapMarker","mt","mr","target","rel","href","py","ml","initialValues","password","schema","yup","shape","required","min","idNumber","phoneNumber","address","email","description","workplace","idFrontPhoto","idBackPhoto","matches","regex","nullable","validators","create","locationIds","userTypeId","userStatusId","of","update","locationId","penaltyFee","payday","loanPeriodicityId","loanTypeId","clientId","lastPayday","when","is","val","then","otherwise","balance","loanStatusId","contractPhoto","pay","notes","isTypeToCapital","isTypeField","addNotesField","penaltyAmount","currentBalanceAmount","loginScheme","paddingTop","mb","marginBottom","avatar","secondary","Login","showPassword","setShowPassword","setLoading","setError","useHistory","Container","maxWidth","Avatar","LockOutlined","validationSchema","onSubmit","values","errors","touched","as","helperText","endAdornment","InputAdornment","Visibility","VisibilityOff","clientScheme","AddClient","uploadFront","uploadFrontLoading","uploadFrontError","uploadBack","uploadBackLoading","uploadBackError","setLoadingCurrentLocation","geolocation","setGeolocation","geolocationClient","navigator","geography","coordinates","onMapClick","handleShowCurrentLocation","getCurrentPosition","coords","latitude","longitude","client","Card","CardHeader","CardContent","setFieldValue","form","validity","files","valid","newName","Date","now","toString","fileCopy","File","Map","CardActions","Save","ListClients","useSWR","align","isLoading","tooltip","hidden","disableClick","actionsContainer","Profile","useParams","setIsEditable","cachedClient","fallbackData","getError","mutate","getLoading","postIsError","postLoading","postError","resetForm","action","Close","Edit","createdAt","NoMatch","location","ClientsRouter","exact","Add","loanScheme","AddLoans","loanPropsData","setFieldTouched","submitCount","periodicity","times","select","event","locations","MenuItem","FormControl","styles","cacheOptions","placeholder","noOptionsMessage","loadingMessage","getOptionLabel","getOptionValue","loadOptions","inputValue","onBlur","FormHelperText","user","onValueChange","loanTypeSelected","loanTypes","loanType","loanInterestPercentages","percentage","loanCapitalPercentages","periodicitySelected","loanPeriodicities","lastPeriodicityId","add","DatePicker","inputVariant","isSame","startOf","ListLoans","queryParameters","tabSelected","parseInt","0","1","2","getUrls","justify","Tabs","_","newValue","set","indicatorColor","textColor","centered","Tab","components","Toolbar","totalAmount","reduce","sum","Action","loanStatus","Payment","customFilterAndSearch","term","loanPeriodicity","toUpperCase","customSort","b","Details","loanError","loanLoading","loanPropsError","loanPropsLoading","uploadLoading","uploadError","isDisabled","loanStatuses","Pay","openDialog","setOpenDialog","paymentData","setPaymentData","handleCloseDialog","details","Dialog","DialogTitle","DialogContent","payment","DialogActions","detail","loandId","FormControlLabel","control","Switch","checked","ev","formattedValue","LoansRouter","ListPayments","setUrl","from","filterValues","setFilterValues","usersData","errorUsers","loadingUsers","haveError","formValues","payments","setId","PersonalPayments","paymentScheme","PaymentsRouter","Today","Personal","userScheme","AddUsers","userError","userLoading","SelectProps","multiple","userTypes","userStatuses","ListUsers","join","locationsNames","clientValidationError","setClientValidationError","cachedUser","userPropsData","userPropsError","userPropsLoading","isCurrentUserAdmin","newType","currentLocationIds","removedLocationIds","currentLocationId","some","length","UsersRouter","payload","ALL","REPORT_TYPES","Welcome","reportType","setReportType","setLocationId","isDaily","primaryColor","secondaryColor","md","gutterBottom","chartData","locationIdValue","Object","keys","totalPayments","colorScale","labels","datum","x","y","arrow","users","userStatus","locationScheme","AddLocation","geolocationLocation","ListLocations","Detail","cachedLocation","startIcon","Home","Clients","Loans","Payments","Users","Locations","App","Root","alertConfig","alert","fetcher","ThemeProvider","utils","MomentUtils","CssBaseline","hostname","match","document","getElementById","ReactDOM","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.7c91606f.chunk.js","sourcesContent":["// @flow\nimport moment from 'moment'\nimport 'moment/locale/es'\n\nconst weekdays = [\n 'Domingo',\n 'Lunes',\n 'Martes',\n 'Miércoles',\n 'Jueves',\n 'Viernes',\n 'Sábado'\n]\n\nconst weekdaysShort = ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab']\n\nconst months = [\n 'Enero',\n 'Febrero',\n 'Marzo',\n 'Abril',\n 'Mayo',\n 'Junio',\n 'Julio',\n 'Agosto',\n 'Septiembre',\n 'Octubre',\n 'Noviembre',\n 'Diciembre'\n]\n\nconst monthsShort = [\n 'Ene',\n 'Feb',\n 'Mar',\n 'Abr',\n 'May',\n 'Jun',\n 'Jul',\n 'Ago',\n 'Set',\n 'Oct',\n 'Nov',\n 'Dic'\n]\n\nmoment.updateLocale('es', {\n weekdays,\n weekdaysShort,\n months,\n monthsShort\n})\n\nmoment.defaultFormat = 'YYYY-MM-DD'\n","import { createMuiTheme } from '@material-ui/core/styles'\n\nexport default createMuiTheme({\n palette: {\n primary: {\n main: '#130f40'\n }\n }\n})\n","export default {\n FINISHED: 'FINISHED',\n FIXED: 'FIXED',\n LOWERING: 'LOWERING',\n ADMIN: 'ADMIN',\n SUPERVISOR: 'SUPERVISOR',\n ENUM_DATA: {\n LOAN_STATUSES: {\n ACTIVE: {\n id: 1,\n value: 'Activo'\n },\n INACTIVE: {\n id: 2,\n value: 'Inactivo'\n }\n }\n },\n baseUrl: process.env.REACT_APP_API_URL || 'http://localhost:8086/api',\n ALL: 'ALL',\n REPORT_TYPES: {\n DAILY: 'Diario',\n MONTHLY: 'Mensual'\n }\n}\n","const config = {\n s3: {\n url:\n process.env.REACT_APP_S3_BUCKET_URL ||\n 'https://oro-creditos.s3.amazonaws.com/'\n }\n}\n\nexport default config\n","const config = {\n alertMessage: process.env.REACT_APP_ALERT_MESSAGE || ''\n}\n\nexport default config\n","export default {\n apiKey: process.env.REACT_APP_GOOGLE_MAPS_API_KEY || '',\n center: { lat: 9.911, lng: -84.52 },\n zoom: 12\n}\n","// @flow\nimport jwt from 'jsonwebtoken'\n\nimport { constants } from 'config'\n\nconst config = {\n key: 'token',\n publicKey: process.env.REACT_APP_PUBLIC_KEY || 'coco'\n}\n\nconst setToken = (token: Object) =>\n window.localStorage.setItem(config.key, token)\n\nconst getToken = () => window.localStorage.getItem(config.key) || ''\n\nconst cleanToken = () => window.localStorage.setItem(config.key, '')\n\nconst decodedToken = () =>\n jwt.decode(getToken().replace('Bearer ', ''), config.publicKey)\n\nconst isAdmin = () => {\n const {\n userType: { type }\n } = decodedToken()\n return Boolean(type === constants.ADMIN)\n}\n\nconst isAdminOrSupervisor = () => {\n const {\n userType: { type }\n } = decodedToken()\n return (\n Boolean(type === constants.ADMIN) || Boolean(type === constants.SUPERVISOR)\n )\n}\n\nconst isValidToken = () => {\n const token = getToken()\n\n if (token) {\n try {\n jwt.verify(token.replace('Bearer ', ''), config.publicKey)\n return true\n } catch (err) {\n return false\n }\n }\n\n return false\n}\n\nexport default {\n setToken,\n getToken,\n cleanToken,\n isValidToken,\n decodedToken,\n isAdmin,\n isAdminOrSupervisor\n}\n","// @flow\nconst onlyNumbers = /^\\d+$/\nconst onlyLetters = /^[a-zA-Z ]*$/\n\nexport default { onlyNumbers, onlyLetters }\n","// @flow\nconst getFee = (\n amount: number,\n interestPercentage: number,\n capitalPercentage: number,\n periodicityTimes: number,\n penalty: number\n) => {\n const percentageTotal = (interestPercentage + capitalPercentage) / 100\n const weekFee = amount * percentageTotal\n const periodicityFee = weekFee * periodicityTimes\n const expectedAmount = periodicityFee + penalty\n\n const interestAmount = amount * (interestPercentage / 100) * periodicityTimes\n const capitalAmount = amount * (capitalPercentage / 100) * periodicityTimes\n\n return {\n expectedAmount: Math.round(expectedAmount) || null,\n periodicityFee: Math.round(periodicityFee) || null,\n interestAmount: Math.round(interestAmount) || null,\n capitalAmount: Math.round(capitalAmount) || null\n }\n}\n\nexport default getFee\n","const formatAmount = (\n amount: number,\n format: string = 'es-419',\n style: string = 'decimal',\n currency: string = 'CRC',\n currencyDisplay: string = 'symbol',\n currencySymbol: string = '₡'\n) =>\n `${currencySymbol}${new Intl.NumberFormat(format, {\n style,\n currency,\n currencyDisplay\n }).format(amount)}`\n\nexport default formatAmount\n","import moment from 'moment'\n\nconst formatDate = (date: Date) => moment(date).format('DD/MM/YYYY')\n\nexport default formatDate\n","import { CsvBuilder } from 'filefy'\nimport get from 'lodash.get'\nimport moment from 'moment'\n\nimport { constants } from 'config'\n\nconst exportCsv = (\n columns: Array,\n data: Array,\n name: string\n) => {\n const builder = new CsvBuilder(\n `${name}-${moment().format('DD-MM-YYYY-hhmma')}`\n )\n const exportColumns = columns.map((columnDef: Object) => columnDef.title)\n\n const exportData = data.map((rowData: Object) => {\n return columns.map((columnDef: Object) => {\n switch (columnDef.field) {\n case 'createdAt':\n case 'payday':\n return moment(get(rowData, columnDef.field, '')).format('DD-MM-YYYY')\n\n case 'daysLate': {\n const paydate = moment(get(rowData, 'payday', ''))\n const daysLate = moment().diff(paydate, 'days')\n const isFinished =\n get(rowData, 'loanStatus.status', '') === constants.FINISHED\n\n const value = isFinished || daysLate < 0 ? 0 : daysLate\n\n return value\n }\n\n default:\n return get(rowData, columnDef.field, '')\n }\n })\n })\n\n builder.setColumns(exportColumns).addRows(exportData).exportFile()\n}\n\nexport default {\n exportCsv\n}\n","// @flow\nimport { auth } from 'utils'\n\nexport const getHeaders = (endpoint: string, method: string) => {\n if (method === 'GET') {\n return {\n Authorization: auth.getToken()\n }\n }\n\n if (method === 'POST' && endpoint !== 'login') {\n return {\n 'Content-Type': 'application/json',\n Authorization: auth.getToken()\n }\n }\n\n return {\n 'Content-Type': 'application/json'\n }\n}\n","// @flow\nimport { getHeaders } from './config'\nimport { constants } from 'config'\n\nconst get = (endpoint: string) =>\n new Promise(async (resolve: Function, reject: Function) => {\n try {\n const method = 'GET'\n const request = await window.fetch(`${constants.baseUrl}/${endpoint}`, {\n method,\n headers: getHeaders(endpoint, method)\n })\n\n const response = await request.json()\n\n if (!request.ok) {\n throw new Error(response.message)\n }\n\n resolve(response)\n } catch (err) {\n reject(err.message)\n }\n })\n\nconst post = (endpoint: string, data: Object) =>\n new Promise(async (resolve: Function, reject: Function) => {\n try {\n const method = 'POST'\n const request = await window.fetch(`${constants.baseUrl}/${endpoint}`, {\n method,\n body: JSON.stringify(data),\n headers: getHeaders(endpoint, method)\n })\n\n const response = await request.json()\n\n if (!request.ok) {\n throw new Error(response.message)\n }\n\n resolve(response)\n } catch (err) {\n reject(err.message)\n }\n })\n\nconst fileUpload = (endpoint: string, file: Object, method: string = 'PUT') =>\n new Promise(async (resolve: Function, reject: Function) => {\n try {\n const response = await window.fetch(endpoint, {\n method,\n body: file\n })\n\n if (!response.ok) {\n throw new Error(`${response.status}: ${response.statusText}`)\n }\n\n resolve(response)\n } catch (err) {\n reject(err.message)\n }\n })\n\nexport default {\n get,\n post,\n fileUpload\n}\n","// @flow\nimport { auth } from 'utils'\n\nconst options = (userId: number) => [\n {\n id: 1,\n key: 'clients',\n displayName: 'Clientes',\n path: '/inicio/clientes',\n iconName: 'people',\n isProtected: true,\n subMenu: [\n {\n id: 1,\n displayName: 'Agregar',\n path: '/inicio/clientes/agregar',\n iconName: 'add',\n isProtected: true\n },\n {\n id: 2,\n displayName: 'Mostrar',\n path: '/inicio/clientes/mostrar',\n iconName: 'format_list_bulleted',\n isProtected: false\n }\n ]\n },\n {\n id: 2,\n key: 'loans',\n displayName: 'Préstamos',\n path: '/inicio/prestamos',\n iconName: 'description',\n isProtected: false,\n subMenu: [\n {\n id: 1,\n displayName: 'Agregar',\n path: '/inicio/prestamos/agregar',\n iconName: 'add',\n isProtected: true\n },\n {\n id: 2,\n displayName: 'Mostrar',\n path: '/inicio/prestamos/mostrar',\n iconName: 'format_list_bulleted',\n isProtected: true\n },\n {\n id: 3,\n displayName: 'Personales',\n path: `/inicio/prestamos/mostrar?userId=${userId}`,\n iconName: 'person',\n isProtected: false\n }\n ]\n },\n {\n id: 3,\n key: 'payments',\n displayName: 'Pagos',\n path: '/inicio/pagos',\n iconName: 'work_outline',\n isProtected: false,\n subMenu: [\n {\n id: 1,\n displayName: 'Mostrar',\n path: '/inicio/pagos/mostrar',\n iconName: 'format_list_bulleted',\n isProtected: true\n },\n {\n id: 2,\n displayName: 'Hoy',\n path: `/inicio/pagos/mostrar/hoy`,\n iconName: 'filter_list',\n isProtected: true\n },\n {\n id: 3,\n displayName: 'Personales',\n path: `/inicio/pagos/mostrar/personales`,\n iconName: 'person',\n isProtected: false\n }\n ]\n },\n {\n id: 4,\n key: 'users',\n displayName: 'Usuarios',\n path: '/inicio/usuarios',\n iconName: 'supervisor_account',\n isProtected: true,\n subMenu: [\n {\n id: 1,\n displayName: 'Agregar',\n path: '/inicio/usuarios/agregar',\n iconName: 'add'\n },\n {\n id: 2,\n displayName: 'Mostrar',\n path: '/inicio/usuarios/mostrar',\n iconName: 'format_list_bulleted'\n }\n ]\n },\n {\n id: 5,\n key: 'locations',\n displayName: 'Ubicaciones',\n path: '/inicio/ubicaciones',\n iconName: 'account_balance',\n isProtected: true,\n subMenu: [\n {\n id: 1,\n displayName: 'Agregar',\n path: '/inicio/ubicaciones/agregar',\n iconName: 'add',\n isProtected: true\n },\n {\n id: 2,\n displayName: 'Mostrar',\n path: '/inicio/ubicaciones/mostrar',\n iconName: 'format_list_bulleted',\n isProtected: false\n }\n ]\n },\n {\n id: 6,\n key: 'profile',\n displayName: 'Perfil',\n path: '/inicio/perfil',\n iconName: 'person',\n isProtected: false\n },\n {\n id: 7,\n key: 'signOut',\n displayName: 'Cerrar Sesión',\n path: '/',\n iconName: 'exit_to_app',\n isProtected: false\n }\n]\n\nconst getDrawer = (userId: number) => {\n const isAdminOrSupervisor = auth.isAdminOrSupervisor()\n if (isAdminOrSupervisor) {\n const initialState = {}\n options(userId).map(\n ({ key }: { key: string }) => (initialState[key] = false)\n )\n\n return {\n options: options(userId),\n initialState\n }\n }\n\n const initialState = {}\n const filteredOptions = options(userId)\n .filter((option: Object) => !option.isProtected)\n .map((option: Object) => {\n initialState[option.key] = false\n if (option.subMenu) {\n const subMenu = option.subMenu.filter(\n (subMenu: Object) => !subMenu.isProtected\n )\n\n return {\n ...option,\n subMenu\n }\n }\n\n return option\n })\n\n return {\n options: filteredOptions,\n initialState\n }\n}\n\nexport default {\n getDrawer\n}\n","// @flow\nimport React from 'react'\nimport { Route, Redirect } from 'react-router-dom'\n\nimport { auth } from 'utils'\n\nfunction CustomRoute({\n component: Component,\n isPrivate = false,\n isLogin = false,\n isProtected = false,\n ...rest\n}: {\n component: React.Node,\n isPrivate?: boolean,\n isLogin?: boolean,\n isProtected?: boolean,\n rest?: Object\n}) {\n return (\n {\n const isAuth = auth.isValidToken()\n if (isPrivate) {\n if (!isAuth) {\n return \n }\n\n const isAdminOrSupervisor = auth.isAdminOrSupervisor()\n if (isProtected && !isAdminOrSupervisor) {\n return \n }\n }\n\n if (isLogin && isAuth) {\n return \n }\n\n return \n }}\n />\n )\n}\n\nexport default CustomRoute\n","// @flow\nimport React from 'react'\nimport {\n AppBar,\n IconButton,\n Toolbar,\n Typography,\n Box\n} from '@material-ui/core/'\nimport { Menu } from '@material-ui/icons'\nimport { makeStyles } from '@material-ui/core/styles'\nimport moment from 'moment'\n\nimport { Link } from 'components'\n\nconst Header = ({ onClick }: { onClick: Function }) => {\n const classes = useStyles()\n\n return (\n \n \n \n \n \n \n \n \n Inicio\n \n \n {/* \n Bienvenido {userName}\n */}\n \n {moment().format('DD/MM/YYYY')}\n \n \n \n \n )\n}\n\nconst useStyles = makeStyles((theme: Object) => {\n return {\n menuButton: {\n marginRight: theme.spacing(2)\n },\n content: {\n flex: 1\n },\n linkText: {\n color: theme.palette.common.white\n }\n }\n})\n\nexport default Header\n","// @flow\nimport React, { Fragment, useState } from 'react'\nimport {\n Divider,\n Icon,\n List,\n ListSubheader,\n ListItem,\n ListItemIcon,\n ListItemText,\n Collapse\n} from '@material-ui/core/'\nimport { makeStyles } from '@material-ui/core/styles'\nimport { withRouter } from 'react-router-dom'\nimport { Link } from 'react-router-dom'\n\nimport { auth } from 'utils'\nimport { data } from 'api'\n\nconst Options = ({\n history,\n onCloseDrawer = () => {}\n}: {\n history: Object,\n onCloseDrawer: Function\n}) => {\n const classes = useStyles()\n const { id, userName } = auth.decodedToken()\n const { options, initialState } = data.getDrawer(id)\n const [open, setOpen] = useState(initialState)\n\n const handleOpen = (key: number) => {\n setOpen({\n ...open,\n [key]: !open[key]\n })\n }\n\n return (\n <>\n
\n \n \n {userName}\n \n }\n >\n {options.map((option: Object) => (\n \n {\n if (!option.subMenu) {\n if (option.path === '/') {\n auth.cleanToken()\n }\n\n history.push(option.path)\n onCloseDrawer()\n }\n\n handleOpen(option.key)\n }}\n >\n \n {option.iconName}\n \n \n \n {option.subMenu &&\n option.subMenu.map((item: Object) => (\n \n \n {\n onCloseDrawer()\n }}\n >\n \n {item.iconName}\n \n \n \n \n \n ))}\n \n ))}\n \n \n )\n}\n\nconst useStyles = makeStyles((theme: Object) => ({\n toolbar: theme.mixins.toolbar,\n nested: {\n marginLeft: theme.spacing(4),\n color: theme.palette.text.primary\n }\n}))\n\nexport default withRouter(Options)\n","// @flow\nimport React from 'react'\nimport { Drawer } from '@material-ui/core'\nimport { useTheme, makeStyles } from '@material-ui/core/styles'\n\nimport Options from './Options'\n\nconst DrawerOptions = ({\n isOpen,\n handleDrawerToggle\n}: {\n isOpen: boolean,\n handleDrawerToggle: Function\n}) => {\n const classes = useStyles()\n const theme = useTheme()\n return (\n \n )\n}\n\nconst useStyles = makeStyles({\n drawerPaper: {\n width: 240\n }\n})\n\nexport default DrawerOptions\n","// @flow\nimport React from 'react'\nimport { makeStyles } from '@material-ui/core/styles'\n\nfunction Content({ children }: { children: React.Node }) {\n const classes = useStyles()\n return (\n
\n
\n {children}\n
\n )\n}\n\nconst useStyles = makeStyles((theme: Object) => ({\n content: {\n flexGrow: 1,\n padding: theme.spacing(3)\n },\n toolbar: theme.mixins.toolbar\n}))\n\nexport default Content\n","// @flow\nimport React from 'react'\n\n//Components.\nimport Header from './Header'\nimport DrawerOptions from './DrawerOptions'\nimport Content from './Content'\n\nfunction Drawer({ children }: { children: React.Node }) {\n const [mobileOpen, setMobileOpen] = React.useState(false)\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen)\n }\n\n return (\n <>\n
\n \n {children}\n \n )\n}\n\nexport default Drawer\n","// @flow\nimport React from 'react'\nimport { CircularProgress } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport { green } from '@material-ui/core/colors'\n\nfunction LoadingButton({\n loading,\n children\n}: {\n loading: boolean,\n children: React.Node\n}) {\n const classes = useStyles()\n\n return (\n
\n {children}\n {loading && (\n \n )}\n
\n )\n}\n\nconst useStyles = makeStyles(() => ({\n wrapper: {\n position: 'relative'\n },\n buttonProgress: {\n color: green[500],\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: -12,\n marginLeft: -12\n }\n}))\n\nexport default LoadingButton\n","import React from 'react'\nimport { TextField } from '@material-ui/core'\n\nfunction BaseTextField({\n readOnly = false,\n ...props\n}: {\n readOnly: Boolean,\n props?: Object\n}) {\n return (\n \n )\n}\n\nexport default BaseTextField\n","// @flow\nimport React from 'react'\nimport { Button as BaseButton } from '@material-ui/core'\n\nfunction Button({ ...props }: { props?: Object }) {\n return (\n \n )\n}\n\nexport default Button\n","// @flow\nimport { useState, useEffect } from 'react'\n\nconst useSlideMessage = (initialState: boolean = false) => {\n const [isVisible, setIsVisible] = useState(initialState)\n\n useEffect(() => {\n if (isVisible) {\n setTimeout(() => {\n setIsVisible(false)\n }, 2000)\n }\n }, [isVisible])\n\n return {\n isVisible,\n setIsVisible\n }\n}\n\nexport default useSlideMessage\n","// @flow\nimport { useReducer } from 'react'\n\nimport { fetch } from 'api'\nimport useSlideMessage from '../useSlideMessage'\n\nconst usePost = () => {\n const [state, setState] = useReducer(\n (state: Object, newState: Object) => ({ ...state, ...newState }),\n {\n loading: false,\n error: null,\n data: null\n }\n )\n\n const {\n isVisible: isSucceded,\n setIsVisible: setIsSucceded\n } = useSlideMessage()\n const { isVisible: isError, setIsVisible: setIsError } = useSlideMessage()\n\n const post = async (\n url: string,\n data: Object,\n callback?: Function = null\n ) => {\n try {\n setState({\n loading: true,\n error: null,\n data: null\n })\n\n const response = await fetch.post(url, data)\n\n setState({\n data: response,\n loading: false\n })\n\n setIsSucceded(true)\n\n if (callback && typeof callback === 'function') {\n callback(response)\n }\n } catch (error) {\n setState({\n loading: false,\n error\n })\n\n setIsError(true)\n }\n }\n\n return {\n ...state,\n post,\n isSucceded,\n isError\n }\n}\n\nexport default usePost\n","// @flow\nimport { useMediaQuery } from '@material-ui/core'\nimport { useTheme } from '@material-ui/core/styles'\n\nfunction useMatchSizes() {\n const theme = useTheme()\n\n const xsDown = useMediaQuery(theme.breakpoints.down('xs'))\n const mdDown = useMediaQuery(theme.breakpoints.down('md'))\n const xlDown = useMediaQuery(theme.breakpoints.down('xl'))\n\n return {\n xsDown,\n mdDown,\n xlDown\n }\n}\n\nexport default useMatchSizes\n","import { useLocation } from 'react-router-dom'\n\nfunction useQueryParameters() {\n const { search } = useLocation()\n\n return new URLSearchParams(search)\n}\n\nexport default useQueryParameters\n","import { useState, useCallback, useMemo, useLayoutEffect } from 'react'\n\nfunction useViewport() {\n const [viewportSize, setViewportSize] = useState({ width: 0, height: 0 })\n const { width, height } = viewportSize\n\n const onResize = useCallback(() => {\n setViewportSize({ width: window.innerWidth, height: window.innerHeight })\n }, [])\n\n const vw = useCallback((v: number) => (width * v) / 100, [width])\n const vh = useCallback((v: number) => (height * v) / 100, [height])\n\n useLayoutEffect(() => {\n onResize()\n window.addEventListener('resize', onResize)\n return () => window.removeEventListener('resize', onResize)\n }, [onResize])\n\n return useMemo(\n () => ({\n width,\n height,\n vw,\n vh\n }),\n [height, vh, vw, width]\n )\n}\n\nexport default useViewport\n","// @flow\nimport { useCallback, useReducer } from 'react'\n\nimport { fetch } from 'api'\n\nconst useFileUpload = () => {\n const [state, setState] = useReducer(\n (state: Object, newState: Object) => ({ ...state, ...newState }),\n {\n loading: false,\n error: null,\n data: null\n }\n )\n\n const upload = useCallback(\n async ({\n name,\n type,\n file,\n throwError = false\n }: {\n name: string,\n type: Object,\n file: Object,\n throwError: Boolean\n }) => {\n try {\n setState({\n loading: true,\n error: null\n })\n\n const { url } = await fetch.get(\n `s3/getSignedUrl?name=${name}&type=${type}`\n )\n\n const response = await fetch.fileUpload(url, file)\n\n setState({\n data: response,\n loading: false\n })\n\n return response\n } catch (error) {\n setState({\n error,\n loading: false\n })\n\n if (throwError) {\n throw new Error(error)\n }\n }\n },\n []\n )\n\n return {\n ...state,\n upload\n }\n}\n\nexport default useFileUpload\n","import { useMediaQuery } from '@material-ui/core'\nimport { useTheme } from '@material-ui/core/styles'\n\nconst useSizes = () => {\n const theme = useTheme()\n\n const xsDown = useMediaQuery(theme.breakpoints.down('xs'))\n const smDown = useMediaQuery(theme.breakpoints.down('sm'))\n const mdDown = useMediaQuery(theme.breakpoints.down('md'))\n const lgDown = useMediaQuery(theme.breakpoints.down('lg'))\n const xlDown = useMediaQuery(theme.breakpoints.down('xl'))\n const xsUp = useMediaQuery(theme.breakpoints.up('xs'))\n const smUp = useMediaQuery(theme.breakpoints.up('sm'))\n const mdUp = useMediaQuery(theme.breakpoints.up('md'))\n const lgUp = useMediaQuery(theme.breakpoints.up('lg'))\n const xlUp = useMediaQuery(theme.breakpoints.up('xl'))\n\n return {\n xsDown,\n smDown,\n mdDown,\n lgDown,\n xlDown,\n xsUp,\n smUp,\n mdUp,\n lgUp,\n xlUp\n }\n}\n\nexport default useSizes\n","// @flow\nimport { useEffect, useState } from 'react'\nimport { useSWRConfig } from 'swr'\n\nimport { auth } from 'utils'\n\nexport const loanRoutes = [\n 'loan/latePayment',\n 'loan/todayPayment',\n 'loan/all',\n 'loan/latePayment/{userId}',\n 'loan/todayPayment/{userId}',\n 'loan/all/{userId}'\n]\n\nconst useCachedData = (id: string, routes: Array) => {\n const [cachedLoan, setCachedLoan] = useState()\n const { cache } = useSWRConfig()\n const { id: userId } = auth.decodedToken()\n\n useEffect(() => {\n for (const route of routes) {\n const includeUserId = route?.includes('{userId}')\n const routeName = includeUserId\n ? route?.replace('{userId}', userId)\n : route\n const cachedValue = cache\n ?.get(routeName)\n ?.find((loan: Object) => Number(loan?.id) === Number(id))\n\n if (cachedValue) {\n setCachedLoan(cachedValue)\n break\n }\n }\n }, [cache, userId, id, routes])\n\n return cachedLoan\n}\n\nexport default useCachedData\n","// @flow\nimport React from 'react'\nimport MaterialTable from 'material-table'\nimport { useTheme } from '@material-ui/core/styles'\n\nimport { csvUtils, auth } from 'utils'\nimport { useViewport } from 'hooks'\n\nfunction Table({\n name,\n filtering = true,\n ...props\n}: {\n name: string,\n filtering?: Boolean,\n props?: Object\n}) {\n const theme = useTheme()\n const isAdmin = auth.isAdmin()\n const { vh } = useViewport()\n const maxBodyHeight = vh(70)\n\n return (\n , data: Array) => {\n if (isAdmin) {\n csvUtils.exportCsv(columns, data, name)\n }\n },\n headerStyle: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.common.white,\n position: 'sticky',\n top: 0\n },\n maxBodyHeight\n }}\n {...props}\n />\n )\n}\n\nexport default Table\n","// @flow\nimport React from 'react'\nimport { Grid, Typography } from '@material-ui/core'\n\nimport { TextField } from 'components'\n\nfunction LabelValue({\n editable = false,\n label,\n value,\n ...props\n}: {\n editable?: boolean,\n label: string,\n value: string,\n props?: Object\n}) {\n return (\n \n {editable ? (\n \n ) : (\n \n {label}\n {value || 'N/A'}\n \n )}\n \n )\n}\n\nexport default LabelValue\n","// @flow\nimport React from 'react'\nimport { Slide, Typography } from '@material-ui/core'\n\nfunction SlideMessage({\n type = 'success',\n message,\n ...props\n}: {\n type: 'success' | 'error',\n message: string,\n props?: Object\n}) {\n return (\n \n \n {message}\n \n \n )\n}\n\nexport default SlideMessage\n","// @flow\nimport React from 'react'\nimport NumberFormat from 'react-number-format'\n\nimport TextField from '../TextField'\n\nfunction AmountField(props?: Object) {\n return (\n \n )\n}\n\nexport default AmountField\n","// @flow\nimport React from 'react'\nimport { Snackbar, Slide } from '@material-ui/core'\n\nconst colors = {\n success: '#2ecc71',\n error: '#e74c3c'\n}\n\nfunction BaseSnackbar({\n isVisible,\n message = 'Agregado correctamente :)',\n type = 'success'\n}: {\n isVisible: boolean,\n message: string,\n type: 'success' | 'error'\n}) {\n return (\n (\n \n )}\n ContentProps={{\n style: { backgroundColor: colors[type] }\n }}\n message={{message}}\n />\n )\n}\n\nexport default BaseSnackbar\n","// @flow\nimport React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport { Link as MuiLink } from '@material-ui/core'\n\nconst LinkRef = React.forwardRef(function Link(props: Object, ref: Object) {\n return (\n \n )\n})\n\nexport default LinkRef\n","// @flow\nimport React from 'react'\nimport { Paper } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\n\nfunction PaperComponent({ children }: { children: React.Node }) {\n const classes = useStyles()\n return {children}\n}\n\nconst useStyles = makeStyles({\n root: {\n padding: 10\n }\n})\n\nexport default PaperComponent\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Box } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\n\nimport { aws } from 'config'\nimport { useMatchSizes } from 'hooks'\n\nfunction FileUpload({ value }: { value: string }) {\n const classes = useStyles()\n const { xsDown } = useMatchSizes()\n\n if (!value) {\n return null\n }\n\n return (\n \n \n \n )\n}\n\nconst useStyles = makeStyles({\n fileContainer: {\n height: 350\n }\n})\n\nFileUpload.propTypes = {\n value: PropTypes.string,\n spacing: PropTypes.bool\n}\n\nexport default FileUpload\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Box } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport Skeleton from '@material-ui/lab/Skeleton'\n\nimport { Button, FilePreview } from 'components'\n\nfunction FileUpload({\n onChange,\n value,\n label = 'Tomar Foto',\n name = 'FileUpload',\n loading = false\n}: {\n onChange: Function,\n value: string,\n label: string,\n name: string,\n loading: Boolean\n}) {\n const classes = useStyles()\n\n return (\n <>\n \n <>\n \n \n \n \n\n {value && !loading && }\n\n {loading && }\n \n )\n}\n\nconst useStyles = makeStyles((theme: Object) => ({\n container: { width: '100%' },\n input: { display: 'none' },\n label: { flex: 1 },\n skeleton: {\n height: 350\n },\n icon: {\n color: theme.palette.common.black\n }\n}))\n\nFileUpload.propTypes = {\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string,\n label: PropTypes.string,\n name: PropTypes.string,\n loading: PropTypes.bool\n}\n\nexport default FileUpload\n","// @flow\nimport React from 'react'\nimport { LocationOn as LocationOnIcon } from '@material-ui/icons'\n\nfunction Marker({ children }: { children: React.Node }) {\n return children ?? \n}\n\nexport default Marker\n","import React from 'react'\nimport { Skeleton } from '@material-ui/lab'\nimport {\n Box,\n Tooltip,\n IconButton,\n CircularProgress,\n Typography,\n Link as MuiLink\n} from '@material-ui/core'\nimport GoogleMapReact from 'google-map-react'\nimport { MyLocation as MyLocationIcon } from '@material-ui/icons'\nimport { makeStyles } from '@material-ui/core/styles'\n\nimport { MapMarker } from 'components'\nimport { mapConfig } from 'config'\nimport { useSizes } from 'hooks'\n\nconst DeliveryMap = ({\n loadingCurrentLocation,\n showActions = false,\n defaultCenter,\n center,\n onClick,\n showCurrentLocation,\n isEditable = true\n}: {\n loadingCurrentLocation?: boolean,\n showActions?: boolean,\n defaultCenter?: Object,\n center?: Object,\n onClick?: Function,\n showCurrentLocation?: boolean,\n isEditable?: boolean\n}) => {\n const { smDown } = useSizes()\n const classes = useStyles()\n\n return defaultCenter ? (\n <>\n \n \n \n \n \n {loadingCurrentLocation ? (\n \n ) : (\n \n )}\n \n \n \n \n\n \n {center ? : null}\n \n \n\n {showActions ? (\n \n \n \n \n Abrir en waze\n \n \n \n\n \n \n \n Abrir en google maps\n \n \n \n \n ) : null}\n \n ) : (\n \n )\n}\n\nconst useStyles = makeStyles((theme: Object) => ({\n icon: {\n color: theme.palette.grey[700]\n }\n}))\n\nexport default DeliveryMap\n","// @flow\nimport * as yup from 'yup'\n\nconst initialValues = {\n userName: '',\n password: ''\n}\n\nconst schema = yup.object().shape({\n userName: yup.string().required('El nombre de usuario es obligatorio.'),\n password: yup\n .string()\n .required('La contraseña es obligatoria.')\n .min(6, 'El mínimo de caracteres para la contraseña son 6.')\n})\n\nexport default {\n initialValues,\n schema\n}\n","// @flow\nimport * as yup from 'yup'\n\nimport { regex } from 'utils'\n\nconst initialValues = {\n idNumber: '',\n name: '',\n phoneNumber: '',\n address: '',\n email: '',\n description: '',\n workplace: '',\n idFrontPhoto: null,\n idBackPhoto: null\n}\n\nconst schema = yup.object().shape({\n idNumber: yup\n .string()\n .required('La cedúla es obligatoria.')\n .matches(regex.onlyNumbers, 'La cédula solo debe contener numeros.')\n .min(9, 'El mínimo de numeros para la cedúla son 9.'),\n name: yup\n .string()\n .required('El nombre es obligatorio.')\n .matches(regex.onlyLetters, 'El nombre solo puede llevar letras.'),\n phoneNumber: yup\n .string()\n .required('El teléfono es obligatorio.')\n .matches(regex.onlyNumbers, 'El teléfono solo debe contener numeros.')\n .min(8, 'El mínimo de numeros para el teléfono son 8.'),\n address: yup.string().required('La dirección es obligatoria.'),\n email: yup.string().email('Debe ser un email valido'),\n description: yup.string(),\n workplace: yup.string(),\n idFrontPhoto: yup.string().nullable(),\n idBackPhoto: yup.string().nullable()\n})\n\nexport default {\n initialValues,\n schema\n}\n","import create from './create'\nimport update from './update'\n\nconst validators = {\n create,\n update\n}\n\nexport default validators\n","// @flow\nimport * as yup from 'yup'\n\nimport { regex } from 'utils'\n\nconst initialValues = {\n locationIds: [],\n idNumber: '',\n name: '',\n userName: '',\n phoneNumber: '',\n email: '',\n password: '',\n userTypeId: '',\n userStatusId: '',\n idFrontPhoto: null,\n idBackPhoto: null\n}\n\nconst schema = yup.object().shape({\n locationIds: yup\n .array()\n .of(yup.number().required('La ubicación es requerida')),\n idNumber: yup\n .string()\n .required('La cedúla es obligatoria.')\n .matches(regex.onlyNumbers, 'La cédula solo debe contener numeros.')\n .min(9, 'El mínimo de numeros para la cedúla son 9.'),\n name: yup\n .string()\n .required('El nombre es obligatorio.')\n .matches(regex.onlyLetters, 'El nombre solo puede llevar letras.'),\n userName: yup\n .string()\n .required('El nombre es obligatorio.')\n .min(4, 'El largo minimo es de 4'),\n phoneNumber: yup\n .string()\n .required('El teléfono es obligatorio.')\n .matches(regex.onlyNumbers, 'El teléfono solo debe contener numeros.')\n .min(8, 'El mínimo de numeros para el teléfono son 8.'),\n email: yup.string().email('Este no es un correo valido'),\n password: yup\n .string()\n .required('La contraseña es obligatoria')\n .min(6, 'El largo minimo es de 6'),\n userTypeId: yup.number().required('El tipo de usuario es obligatorio'),\n userStatusId: yup.number().required('El estado del usuario es obligatorio'),\n idFrontPhoto: yup.string().nullable(),\n idBackPhoto: yup.string().nullable()\n})\n\nexport default {\n initialValues,\n schema\n}\n","// @flow\nimport * as yup from 'yup'\n\nimport { regex } from 'utils'\n\nconst initialValues = {\n locationIds: [],\n idNumber: '',\n name: '',\n phoneNumber: '',\n email: '',\n userName: '',\n password: '',\n userTypeId: '',\n userStatusId: '',\n idFrontPhoto: null,\n idBackPhoto: null\n}\n\nconst schema = yup.object().shape({\n locationIds: yup\n .array()\n .of(yup.number().required('La ubicación es requerida')),\n idNumber: yup\n .string()\n .required('La cedúla es obligatoria.')\n .matches(regex.onlyNumbers, 'La cédula solo debe contener numeros.')\n .min(9, 'El mínimo de numeros para la cedúla son 9.'),\n name: yup\n .string()\n .required('El nombre es obligatorio.')\n .matches(regex.onlyLetters, 'El nombre solo puede llevar letras.'),\n phoneNumber: yup\n .string()\n .required('El teléfono es obligatorio.')\n .matches(regex.onlyNumbers, 'El teléfono solo debe contener numeros.')\n .min(8, 'El mínimo de numeros para el teléfono son 8.'),\n email: yup.string().email('Este no es un correo valido'),\n userName: yup.string().min(4, 'El largo minimo es de 4'),\n password: yup.string().min(6, 'El largo minimo es de 6'),\n userTypeId: yup.number().required('El tipo de usuario es obligatorio'),\n userStatusId: yup.number().required('El estado del usuario es obligatorio'),\n idFrontPhoto: yup.string().nullable(),\n idBackPhoto: yup.string().nullable()\n})\n\nexport default {\n initialValues,\n schema\n}\n","// @flow\nimport * as yup from 'yup'\nimport moment from 'moment'\n\nimport { regex } from 'utils'\n\nconst initialValues = {\n locationId: '',\n amount: '',\n penaltyFee: '',\n payday: moment(),\n interestPercentage: '',\n capitalPercentage: '',\n loanPeriodicityId: '',\n loanTypeId: '',\n clientId: '',\n userId: '',\n lastPayday: moment()\n}\n\nconst schema = yup.object().shape({\n locationId: yup.number().required('La ubicación es obligatorio'),\n amount: yup\n .string()\n .required('El monto es obligatorio.')\n .matches(regex.onlyNumbers, 'El monto solo debe contener numeros.'),\n loanPeriodicityId: yup.number().required('La periodicidad es obligatorio'),\n interestPercentage: yup\n .number()\n .required('El porcentaje del préstamo es obligatorio'),\n capitalPercentage: yup.number().when(['loanTypeId'], {\n is: (val: number) => val === 1,\n then: yup.number(),\n otherwise: yup.number().required('El porcentaje al capital es obligatorio')\n }),\n payday: yup.date().required('La fecha del proximo pago es obligatorio.'),\n penaltyFee: yup\n .string()\n .matches(\n regex.onlyNumbers,\n 'El monto de penalizacion solo debe contener numeros.'\n ),\n loanTypeId: yup.number().required('El tipo es obligatorio'),\n clientId: yup.number().required('El cliente es obligatorio'),\n userId: yup.number().required('El cobrador es obligatorio')\n})\n\nexport default {\n initialValues,\n schema\n}\n","// @flow\nimport * as yup from 'yup'\nimport moment from 'moment'\n\nimport { regex } from 'utils'\n\nconst initialValues = {\n locationId: '',\n amount: '',\n balance: '',\n loanPeriodicityId: '',\n interestPercentage: '',\n capitalPercentage: '',\n payday: moment(),\n penaltyFee: '',\n loanTypeId: '',\n loanStatusId: '',\n contractPhoto: null\n}\n\nconst schema = yup.object().shape({\n locationId: yup.number().required('La ubicación es obligatorio'),\n clientId: yup.number().required('El cliente es obligatorio'),\n userId: yup.number().required('El cobrador es obligatorio'),\n amount: yup\n .string()\n .required('El monto es obligatorio.')\n .matches(regex.onlyNumbers, 'El monto solo debe contener numeros.'),\n balance: yup\n .string()\n .required('El balance es obligatorio.')\n .matches(regex.onlyNumbers, 'El balance solo debe contener numeros.'),\n loanPeriodicityId: yup.number().required('La periodicidad es obligatorio'),\n interestPercentage: yup\n .number()\n .required('El porcentaje del préstamo es obligatorio'),\n capitalPercentage: yup.number().when(['loanTypeId'], {\n is: (val: number) => val === 1,\n then: yup.number(),\n otherwise: yup.number().required('El porcentaje al capital es obligatorio')\n }),\n payday: yup.date().required('La fecha del proximo pago es obligatorio.'),\n penaltyFee: yup\n .string()\n .matches(\n regex.onlyNumbers,\n 'El monto de penalizacion solo debe contener numeros.'\n ),\n loanTypeId: yup.number().required('El tipo es obligatorio'),\n loanStatusId: yup.number().required('El estado es obligatorio'),\n contractPhoto: yup.string().nullable()\n})\n\nexport default {\n schema,\n initialValues\n}\n","import create from './create'\nimport update from './update'\nimport pay from './pay'\n\nconst validators = {\n create,\n pay,\n update\n}\n\nexport default validators\n","// @flow\nimport * as yup from 'yup'\n\nimport { regex } from 'utils'\n\nconst initialValues = {\n amount: '',\n notes: '',\n isTypeToCapital: false,\n isTypeField: false,\n addNotesField: false\n}\n\nconst schema = yup.object().shape({\n amount: yup\n .string()\n .required('El monto es obligatorio.')\n .matches(regex.onlyNumbers, 'El monto solo debe contener numeros.'),\n notes: yup.string(),\n isTypeToCapital: yup.boolean(),\n isTypeField: yup.boolean(),\n addNotesField: yup.boolean()\n})\n\nexport default {\n initialValues,\n schema\n}\n","import update from './update'\n\nconst validators = {\n update\n}\n\nexport default validators\n","// @flow\nimport * as yup from 'yup'\nimport moment from 'moment'\n\nimport { regex } from 'utils'\n\nconst initialValues = {\n amount: '',\n interestAmount: '',\n capitalAmount: '',\n penaltyAmount: '',\n currentBalanceAmount: '',\n notes: '',\n payday: moment()\n}\n\nconst schema = yup.object().shape({\n amount: yup\n .string()\n .required('El monto es obligatorio.')\n .matches(regex.onlyNumbers, 'El monto solo debe contener numeros.'),\n interestAmount: yup\n .string()\n .required('El monto es obligatorio.')\n .matches(regex.onlyNumbers, 'El monto solo debe contener numeros.'),\n capitalAmount: yup\n .string()\n .required('El monto es obligatorio.')\n .matches(regex.onlyNumbers, 'El monto solo debe contener numeros.'),\n penaltyAmount: yup\n .string()\n .required('El monto es obligatorio.')\n .matches(regex.onlyNumbers, 'El monto solo debe contener numeros.'),\n currentBalanceAmount: yup\n .string()\n .required('El monto es obligatorio.')\n .matches(regex.onlyNumbers, 'El monto solo debe contener numeros.'),\n notes: yup.string(),\n payday: yup.date().required('La fecha del proximo pago es obligatorio.')\n})\n\nexport default {\n initialValues,\n schema\n}\n","// @flow\nimport * as yup from 'yup'\n\nimport { regex } from 'utils'\n\nconst initialValues = {\n name: '',\n idNumber: '',\n phoneNumber: '',\n email: '',\n description: ''\n}\n\nconst schema = yup.object().shape({\n name: yup.string().required('El nombre es obligatorio.'),\n idNumber: yup.string(),\n phoneNumber: yup\n .string()\n .matches(regex.onlyNumbers, 'El teléfono solo debe contener numeros.')\n .min(8, 'El mínimo de numeros para el teléfono son 8.'),\n email: yup.string(),\n description: yup.string()\n})\n\nexport default {\n initialValues,\n schema\n}\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Avatar,\n Typography,\n Container,\n InputAdornment,\n IconButton\n} from '@material-ui/core'\nimport { LockOutlined, Visibility, VisibilityOff } from '@material-ui/icons'\nimport { makeStyles } from '@material-ui/core/styles'\nimport { Formik, Form, Field } from 'formik'\nimport { useHistory } from 'react-router-dom'\n\nimport { TextField, Button, LoadingButton, Snackbar } from 'components'\nimport { loginScheme } from 'schemas'\nimport { auth } from 'utils'\nimport { fetch } from 'api'\n\nconst { initialValues, schema } = loginScheme\n\nfunction Login() {\n const [showPassword, setShowPassword] = useState(false)\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState('')\n const history = useHistory()\n const classes = useStyles()\n\n return (\n \n \n \n \n \n Inicia Sesión\n \n\n \n\n {\n try {\n setLoading(true)\n setError('')\n const response = await fetch.post('login', values)\n setLoading(false)\n auth.setToken(response.token)\n history.push('/inicio')\n } catch (err) {\n setError(err)\n setLoading(false)\n }\n }}\n >\n {({ errors, touched }: { errors: Object, touched: Object }) => (\n
\n \n\n \n setShowPassword(!showPassword)}\n >\n {showPassword ? : }\n \n \n )\n }}\n />\n\n \n \n \n \n )}\n \n
\n )\n}\n\nconst useStyles = makeStyles((theme: Object) => ({\n container: {\n paddingTop: theme.spacing(12),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n mb: {\n marginBottom: 30\n },\n avatar: {\n marginBottom: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main\n }\n}))\n\nexport default Login\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid\n} from '@material-ui/core'\nimport { Save as SaveIcon } from '@material-ui/icons'\nimport { Formik, Form, Field } from 'formik'\nimport { useHistory } from 'react-router-dom'\nimport { makeStyles } from '@material-ui/core/styles'\n\nimport { TextField, Button, Snackbar, FileUpload, Map } from 'components'\nimport { clientScheme } from 'schemas'\nimport { usePost, useFileUpload } from 'hooks'\nimport { mapConfig } from 'config'\n\nconst { initialValues, schema } = clientScheme\n\nfunction AddClient() {\n const classes = useStyles()\n const history = useHistory()\n const { post, isError, loading, error } = usePost()\n const {\n upload: uploadFront,\n loading: uploadFrontLoading,\n error: uploadFrontError\n } = useFileUpload()\n const {\n upload: uploadBack,\n loading: uploadBackLoading,\n error: uploadBackError\n } = useFileUpload()\n const [loadingCurrentLocation, setLoadingCurrentLocation] = useState(false)\n const [geolocation, setGeolocation] = useState(null)\n const geolocationClient = navigator?.geolocation\n const geography = geolocation\n ? {\n type: 'Point',\n coordinates: [geolocation.lng, geolocation.lat]\n }\n : null\n\n const onMapClick = (value: Object) => {\n setGeolocation({\n lat: value.lat,\n lng: value.lng\n })\n }\n\n const handleShowCurrentLocation = () => {\n if (geolocationClient) {\n setLoadingCurrentLocation(true)\n geolocationClient.getCurrentPosition((position: Object) => {\n const { latitude: lat, longitude: lng } = position.coords\n setGeolocation({\n lat,\n lng\n })\n setLoadingCurrentLocation(false)\n })\n }\n }\n\n return (\n <>\n \n\n \n\n \n\n \n post(\n 'client/create',\n {\n ...values,\n geolocation: geography\n },\n (client: Object) => {\n history.push(`/inicio/clientes/perfil/${client.id}`, client)\n }\n )\n }\n >\n {({ errors, touched }: { errors: Object, touched: Object }) => (\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 field: { name, value },\n form: { setFieldValue }\n }: {\n field: Object,\n form: Object\n }) => {\n return (\n {\n try {\n if (validity.valid && file) {\n setFieldValue('idFrontPhoto', '')\n\n const { name, type } = file\n const newName = `${Date.now().toString()}${name}`\n\n const fileCopy = new File([file], newName, {\n type\n })\n\n await uploadFront({\n name: fileCopy.name,\n type: fileCopy.type,\n file: fileCopy,\n throwError: true\n })\n\n setFieldValue('idFrontPhoto', newName)\n }\n } catch (error) {\n setFieldValue('idFrontPhoto', '')\n }\n }}\n />\n )\n }}\n \n \n \n \n {({\n field: { name, value },\n form: { setFieldValue }\n }: {\n field: Object,\n form: Object\n }) => {\n return (\n {\n try {\n if (validity.valid && file) {\n setFieldValue('idBackPhoto', '')\n\n const { name, type } = file\n const newName = `${Date.now().toString()}${name}`\n\n const fileCopy = new File([file], newName, {\n type\n })\n\n await uploadBack({\n name: fileCopy.name,\n type: fileCopy.type,\n file: fileCopy,\n throwError: true\n })\n\n setFieldValue('idBackPhoto', newName)\n }\n } catch (error) {\n setFieldValue('idBackPhoto', '')\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\nconst useStyles = makeStyles((theme: Object) => ({\n icon: {\n marginRight: theme.spacing(1)\n }\n}))\n\nexport default AddClient\n","// @flow\nimport React from 'react'\nimport { Typography, Box, Link as MuiLink } from '@material-ui/core'\nimport useSWR from 'swr'\n\nimport { useMatchSizes } from 'hooks'\nimport { Table, Link } from 'components'\nimport { constants } from 'config'\n\nfunction ListClients() {\n const { data, error } = useSWR('client/all')\n const loading = !data && !error\n const { xsDown, mdDown } = useMatchSizes()\n\n if (error) {\n return (\n \n \n {error}\n \n \n )\n }\n\n return (\n <>\n \n Lista de clientes\n \n\n ({\n icon: 'cloud_download',\n tooltip: 'Solicitud de credito',\n onClick: () =>\n window.open(\n `${constants.baseUrl}/docs/multicreditos/request/${rowData.id}`\n )\n })\n ]\n }\n columns={[\n {\n title: 'Id',\n field: 'id',\n render: function Column(rowData: Object) {\n return (\n \n \n {rowData.id}\n \n \n )\n }\n },\n {\n title: 'Nombre',\n field: 'name'\n },\n {\n title: 'Cédula',\n field: 'idNumber',\n hidden: xsDown\n },\n {\n title: 'Dirección',\n field: 'address',\n hidden: xsDown\n },\n {\n title: 'Teléfono',\n field: 'phoneNumber',\n disableClick: true,\n render: function PhoneNumberRow(rowData: Object) {\n return (\n \n \n {rowData.phoneNumber}\n \n \n )\n }\n },\n {\n title: 'Correo',\n field: 'email',\n hidden: true\n },\n {\n title: 'Descripción',\n field: 'description',\n hidden: true\n },\n {\n title: 'Lugar de trabajo',\n field: 'workplace',\n hidden: true\n }\n ]}\n />\n \n )\n}\n\nexport default ListClients\n","// @flow\nimport React, { useState, useEffect } from 'react'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Box,\n Typography,\n Grid\n} from '@material-ui/core'\nimport {\n Edit as EditIcon,\n Close as CloseIcon,\n Save as SaveIcon\n} from '@material-ui/icons'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { makeStyles } from '@material-ui/core/styles'\nimport { Formik, Form, Field } from 'formik'\nimport { useParams } from 'react-router-dom'\nimport useSWR, { useSWRConfig } from 'swr'\n\nimport {\n TextField,\n Button,\n Snackbar,\n FilePreview,\n FileUpload,\n Map\n} from 'components'\nimport { clientScheme } from 'schemas'\nimport { usePost, useFileUpload } from 'hooks'\nimport { formatDate } from 'utils'\nimport { mapConfig } from 'config'\n\nconst { initialValues, schema } = clientScheme\n\nfunction Profile() {\n const classes = useStyles()\n const { id } = useParams()\n const [isEditable, setIsEditable] = useState(false)\n const { cache } = useSWRConfig()\n const cachedClient = cache\n ?.get('client/all')\n ?.find((client: Object) => Number(client?.id) === Number(id))\n const { data, error: getError, mutate } = useSWR(`client/${id}`, {\n fallbackData: cachedClient\n })\n const getLoading = !data && !getError\n const {\n upload: uploadFront,\n loading: uploadFrontLoading,\n error: uploadFrontError\n } = useFileUpload()\n const {\n upload: uploadBack,\n loading: uploadBackLoading,\n error: uploadBackError\n } = useFileUpload()\n const {\n post,\n isError: postIsError,\n loading: postLoading,\n error: postError\n } = usePost()\n const [loadingCurrentLocation, setLoadingCurrentLocation] = useState(false)\n const [geolocation, setGeolocation] = useState(null)\n const geolocationClient = navigator?.geolocation\n const geography = geolocation\n ? {\n type: 'Point',\n coordinates: [geolocation.lng, geolocation.lat]\n }\n : null\n\n const onMapClick = (value: Object) => {\n setGeolocation({\n lat: value.lat,\n lng: value.lng\n })\n }\n\n const handleShowCurrentLocation = () => {\n if (geolocationClient) {\n setLoadingCurrentLocation(true)\n geolocationClient.getCurrentPosition((position: Object) => {\n const { latitude: lat, longitude: lng } = position.coords\n setGeolocation({\n lat,\n lng\n })\n setLoadingCurrentLocation(false)\n })\n }\n }\n\n useEffect(() => {\n if (!data) {\n return\n }\n\n const geolocation = data?.geolocation\n\n if (geolocation) {\n setGeolocation({\n lng: geolocation?.coordinates?.[0],\n lat: geolocation?.coordinates?.[1]\n })\n }\n }, [data])\n\n if (getLoading) {\n return (\n \n } />\n \n \n \n \n \n \n )\n }\n\n if (getError) {\n return (\n \n \n {getError}\n \n \n )\n }\n\n return (\n <>\n \n\n \n\n \n\n \n post(\n 'client/update',\n {\n ...values,\n geolocation: geography\n },\n () => {\n mutate()\n setIsEditable(false)\n }\n )\n }\n >\n {({\n errors,\n touched,\n resetForm,\n values\n }: {\n errors: Object,\n touched: Object,\n resetForm: Function,\n values: Object\n }) => {\n return (\n
\n \n {\n resetForm({ ...initialValues, ...data })\n setIsEditable(false)\n }}\n >\n \n \n Cerrar\n \n \n ) : (\n setIsEditable(true)}\n >\n \n \n Editar\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 field: { name, value },\n form: { setFieldValue }\n }: {\n field: Object,\n form: Object\n }) => {\n if (!value && !isEditable) {\n return null\n }\n\n if (!isEditable) {\n return \n }\n\n return (\n {\n try {\n if (validity.valid && file) {\n setFieldValue('idFrontPhoto', '')\n\n const { name, type } = file\n const newName = `${Date.now().toString()}${name}`\n\n const fileCopy = new File([file], newName, {\n type\n })\n\n await uploadFront({\n name: fileCopy.name,\n type: fileCopy.type,\n file: fileCopy,\n throwError: true\n })\n\n setFieldValue('idFrontPhoto', newName)\n }\n } catch (error) {\n setFieldValue('idFrontPhoto', '')\n }\n }}\n />\n )\n }}\n \n \n\n \n \n {({\n field: { name, value },\n form: { setFieldValue }\n }: {\n field: Object,\n form: Object\n }) => {\n if (!value && !isEditable) {\n return null\n }\n\n if (!isEditable) {\n return \n }\n\n return (\n {\n try {\n if (validity.valid && file) {\n setFieldValue('idBackPhoto', '')\n\n const { name, type } = file\n const newName = `${Date.now().toString()}${name}`\n\n const fileCopy = new File([file], newName, {\n type\n })\n\n await uploadBack({\n name: fileCopy.name,\n type: fileCopy.type,\n file: fileCopy,\n throwError: true\n })\n\n setFieldValue('idBackPhoto', newName)\n }\n } catch (error) {\n setFieldValue('idBackPhoto', '')\n }\n }}\n />\n )\n }}\n \n \n \n \n \n \n \n {isEditable && (\n \n \n \n )}\n \n
\n )\n }}\n \n \n )\n}\n\nconst useStyles = makeStyles((theme: Object) => ({\n icon: {\n marginRight: theme.spacing(1)\n },\n actionsContainer: {\n display: 'flex',\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row'\n }\n}))\n\nexport default Profile\n","// @flow\nimport React from 'react'\nimport { Container } from '@material-ui/core'\n\nfunction NoMatch({ location }: { location: Object }) {\n return (\n \n

La ruta {location.pathname} no existe.

\n
\n )\n}\n\nexport default NoMatch\n","// @flow\nimport React from 'react'\nimport { Switch } from 'react-router-dom'\n\nimport Add from './Add'\nimport List from './List'\nimport Profile from './Profile'\nimport NoMatch from 'screens/NoMatch'\nimport { CustomRoute } from 'components'\n\nfunction ClientsRouter() {\n return (\n \n \n \n \n \n \n )\n}\n\nexport default ClientsRouter\n","// @flow\nimport React from 'react'\nimport {\n Box,\n Typography,\n FormControl,\n FormHelperText,\n MenuItem,\n CircularProgress,\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid\n} from '@material-ui/core'\nimport { Formik, Form, Field } from 'formik'\nimport { DatePicker } from '@material-ui/pickers'\nimport { useHistory } from 'react-router-dom'\nimport moment from 'moment'\nimport AsyncSelect from 'react-select/async'\nimport useSWR from 'swr'\n\nimport {\n TextField,\n Button,\n LoadingButton,\n Snackbar,\n AmountField,\n LabelValue\n} from 'components'\nimport { loanScheme } from 'schemas'\nimport { usePost } from 'hooks'\nimport { fetch } from 'api'\nimport { getFee, formatAmount } from 'utils'\nimport { constants } from 'config'\n\nconst { initialValues, schema } = loanScheme.create\n\nfunction AddLoans() {\n const history = useHistory()\n const { data: loanPropsData, error: getError } = useSWR('loan/props')\n const getLoading = !loanPropsData && !getError\n\n const { post, loading, error, isError } = usePost()\n\n if (getError) {\n return (\n \n \n {getError}\n \n \n )\n }\n\n return (\n <>\n \n \n post('loan/create', values, (loan: Object) => {\n window.open(\n `${constants.baseUrl}/docs/multicreditos/contract/${loan.id}`\n )\n history.push(`/inicio/prestamos/detalle/${loan.id}`)\n })\n }\n >\n {({\n errors,\n touched,\n setFieldValue,\n setFieldTouched,\n values,\n submitCount\n }: {\n errors: Object,\n touched: Object,\n setFieldValue: Function,\n setFieldTouched: Function,\n values: Object,\n submitCount: number\n }) => {\n const { expectedAmount } = getFee(\n Number(values.amount || 0),\n Number(values.interestPercentage || 0),\n Number(values.capitalPercentage || 0),\n Number(values?.periodicity?.times || 0),\n Number(values.penaltyFee || 0)\n )\n\n return (\n
\n \n \n \n \n \n \n {({ field: { name, value } }: { field: Object }) => {\n if (getLoading) {\n return (\n \n \n \n )\n }\n\n return (\n {\n setFieldValue(name, event?.target?.value)\n setFieldValue('userId', '')\n }}\n value={value}\n >\n {loanPropsData?.locations?.map(\n (location: Object) => {\n return (\n \n {location?.name}\n \n )\n }\n )}\n \n )\n }}\n \n \n\n \n \n {({ field: { name } }: { field: Object }) => (\n \n ({\n zIndex: 999\n })\n }}\n cacheOptions\n placeholder={\n values?.client?.name || 'Buscar cliente...'\n }\n noOptionsMessage={() =>\n 'No se encontro ningun resultado.'\n }\n loadingMessage={() => 'Buscando...'}\n getOptionLabel={(option: Object) =>\n `${option.name} - ${option.idNumber}`\n }\n getOptionValue={(option: Object) => option.id}\n loadOptions={(inputValue: string) =>\n fetch.get(`client/nameOrIdNumber/${inputValue}`)\n }\n onChange={(client: Object) => {\n setFieldValue('client', client)\n setFieldValue(name, client.id)\n }}\n onBlur={() => {\n setFieldTouched(name, true)\n }}\n />\n {Boolean(\n touched.clientId && errors.clientId && submitCount\n ) && (\n \n {errors.clientId}\n \n )}\n \n )}\n \n \n\n \n \n {({ field: { name } }: { field: Object }) => (\n \n ({\n zIndex: 998\n })\n }}\n name={name}\n placeholder={\n values?.user?.name || 'Buscar cobrador...'\n }\n noOptionsMessage={() =>\n 'No se encontro ningun resultado.'\n }\n loadingMessage={() => 'Buscando...'}\n getOptionLabel={(option: Object) =>\n `${option.name} - ${option.idNumber}`\n }\n getOptionValue={(option: Object) => option.id}\n loadOptions={(inputValue: string) =>\n fetch.get(\n `user/nameOrIdNumber/${values?.locationId}/${inputValue}`\n )\n }\n onChange={(user: Object) => {\n setFieldValue('user', user)\n setFieldValue(name, user.id)\n }}\n onBlur={() => {\n setFieldTouched(name, true)\n }}\n />\n {Boolean(\n touched.userId && errors.userId && submitCount\n ) && (\n \n {errors.userId}\n \n )}\n \n )}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => (\n {\n setFieldValue(name, values.value)\n }}\n error={Boolean(touched.amount && errors.amount)}\n helperText={touched.amount && errors.amount}\n />\n )}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => {\n if (getLoading) {\n return (\n \n \n \n )\n }\n\n return (\n {\n const { value } = event.target\n const loanTypeSelected = loanPropsData.loanTypes.find(\n (type: Object) => type.id === value\n )\n setFieldValue('loanType', loanTypeSelected)\n setFieldValue(name, value)\n\n if (loanTypeSelected.type === constants.FIXED) {\n setFieldValue('capitalPercentage', '')\n }\n }}\n error={Boolean(\n touched.loanTypeId && errors.loanTypeId\n )}\n helperText={\n touched.loanTypeId && errors.loanTypeId\n }\n >\n {loanPropsData?.loanTypes?.map(\n ({\n id,\n name\n }: {\n id: number,\n name: string\n }) => (\n \n {name}\n \n )\n ) || }\n \n )\n }}\n \n \n \n {({ field: { name, value } }: { field: Object }) => {\n if (!values.loanType) {\n return null\n }\n\n if (getLoading) {\n return (\n \n \n \n )\n }\n\n return (\n \n {\n const { value } = event.target\n\n setFieldValue(name, value)\n }}\n label='Porcentaje al intereses*'\n error={Boolean(\n touched.interestPercentage &&\n errors.interestPercentage\n )}\n helperText={\n touched.interestPercentage &&\n errors.interestPercentage\n }\n >\n {loanPropsData?.loanInterestPercentages?.map(\n (percentage: number) => (\n \n {`${percentage}%`}\n \n )\n ) || }\n \n \n )\n }}\n \n\n \n {({ field: { name, value } }: { field: Object }) => {\n if (\n !values.loanType ||\n values.loanType.type === constants.FIXED\n ) {\n return null\n }\n\n if (getLoading) {\n return (\n \n \n \n )\n }\n\n return (\n \n {\n const { value } = event.target\n setFieldValue(name, value)\n }}\n label='Porcentaje al capital*'\n error={Boolean(\n touched.capitalPercentage &&\n errors.capitalPercentage\n )}\n helperText={\n touched.capitalPercentage &&\n errors.capitalPercentage\n }\n >\n {loanPropsData?.loanCapitalPercentages?.map(\n (percentage: number) => (\n \n {`${percentage}%`}\n \n )\n ) || }\n \n \n )\n }}\n \n\n \n {({ field: { name, value } }: { field: Object }) => {\n if (!values.loanType) {\n return null\n }\n\n if (getLoading) {\n return (\n \n \n \n )\n }\n\n return (\n \n {\n const { value } = event.target\n const periodicitySelected = loanPropsData.loanPeriodicities.find(\n (periodicity: Object) =>\n periodicity.id === value\n )\n\n setFieldValue(\n 'periodicity',\n periodicitySelected\n )\n setFieldValue(name, value)\n }}\n label='Periodicidad de pago*'\n error={Boolean(\n touched.loanPeriodicityId &&\n errors.loanPeriodicityId\n )}\n helperText={\n touched.loanPeriodicityId &&\n errors.loanPeriodicityId\n }\n >\n {loanPropsData?.loanPeriodicities?.map(\n ({\n id,\n name\n }: {\n id: number,\n name: string\n }) => (\n \n {name}\n \n )\n ) || }\n \n \n )\n }}\n \n\n \n {({ field: { value } }: { field: Object }) => {\n const { loanPeriodicityId } = values\n\n if (!loanPeriodicityId) {\n return null\n } else if (\n loanPeriodicityId !== values.lastPeriodicityId\n ) {\n const payday = moment().add(\n values?.periodicity?.value,\n values?.periodicity?.periodicity\n )\n\n setFieldValue('lastPeriodicityId', loanPeriodicityId)\n setFieldValue('payday', payday)\n setFieldValue('lastPayday', payday)\n setFieldValue('penaltyFee', '')\n }\n\n return (\n \n {\n setFieldValue('payday', date)\n setFieldValue('penaltyFee', '')\n }}\n />\n \n )\n }}\n \n\n \n {({ field: { name, value } }: { field: Object }) => {\n if (\n !values.payday ||\n !loanPropsData ||\n !values.loanPeriodicityId\n ) {\n return null\n }\n\n if (\n moment(values.payday).isSame(values.lastPayday, 'day')\n ) {\n return null\n }\n\n const diff = moment(values.payday)\n .startOf('day')\n .diff(values.lastPayday.startOf('day'), 'days')\n\n return (\n \n 1 ? 's.' : '.'\n }`}\n value={value}\n onValueChange={(values: Object) => {\n setFieldValue(name, values.value)\n }}\n error={Boolean(\n touched.penaltyFee && errors.penaltyFee\n )}\n helperText={\n touched.penaltyFee && errors.penaltyFee\n }\n />\n \n )\n }}\n \n \n {values.amount &&\n values.interestPercentage &&\n values.loanPeriodicityId && (\n \n )}\n \n \n \n \n \n \n \n \n \n
\n )\n }}\n \n \n )\n}\n\nexport default AddLoans\n","// @flow\nimport React from 'react'\nimport {\n Box,\n Grid,\n Typography,\n Paper,\n Tabs,\n Tab,\n CircularProgress,\n Tooltip,\n Link as MuiLink\n} from '@material-ui/core'\nimport { Payment as PaymentIcon } from '@material-ui/icons'\nimport { useLocation, useHistory } from 'react-router-dom'\nimport moment from 'moment'\nimport { MTableToolbar } from 'material-table'\nimport useSWR from 'swr'\n\nimport { getFee, formatAmount, auth } from 'utils'\nimport { constants } from 'config'\nimport { Table, Link } from 'components'\nimport { useMatchSizes, useQueryParameters } from 'hooks'\n\nconst getUrls = (userId: number) => {\n if (userId) {\n return {\n 0: `loan/latePayment/${userId}`,\n 1: `loan/todayPayment/${userId}`,\n 2: `loan/all/${userId}`\n }\n } else {\n return {\n 0: 'loan/latePayment',\n 1: 'loan/todayPayment',\n 2: 'loan/all'\n }\n }\n}\n\nfunction ListLoans() {\n const queryParameters = useQueryParameters()\n const location = useLocation()\n const history = useHistory()\n const userId = queryParameters.get('userId')\n const tabSelected = parseInt(queryParameters.get('tabSelected') || 1)\n const url = getUrls(userId)[tabSelected]\n const { data, error } = useSWR(url)\n const loading = !data && !error\n const { xsDown } = useMatchSizes()\n const isAdmin = auth.isAdmin()\n const isAdminOrSupervisor = auth.isAdminOrSupervisor()\n\n const handleTabChange = (_: Object, newValue: number) => {\n queryParameters.set('tabSelected', newValue)\n history.push(`${location.pathname}?${queryParameters.toString()}`)\n }\n\n return (\n \n \n Mostrar Préstamos\n \n \n \n \n \n \n \n \n \n \n \n \n {loading && (\n \n \n \n )}\n\n {error && (\n \n \n {error}\n \n \n )}\n {!loading && !error && (\n sum + item.balance,\n 0\n ) || 0\n\n return (\n <>\n \n\n {isAdminOrSupervisor && (\n \n \n {`Total: ${formatAmount(\n totalAmount\n )}`}\n \n \n )}\n \n )\n },\n Action: function ActionComponent({ data }: { data: Object }) {\n const disabled = data.loanStatus.status === constants.FINISHED\n\n return disabled ? (\n \n ) : (\n \n \n \n \n \n )\n }\n }}\n exportButton={isAdmin}\n actions={[\n (rowData: Object) => ({\n icon: 'payment',\n tooltip: 'Pagar',\n onClick: () => {},\n disabled: rowData.loanStatus.status === constants.FINISHED\n })\n ]}\n columns={[\n {\n title: 'Id',\n field: 'id',\n render: function Column(rowData: Object) {\n return (\n \n \n {rowData.id}\n \n \n )\n }\n },\n {\n title: 'Cliente',\n field: 'client.name',\n render: function ClientNameRow(rowData: Object) {\n return (\n \n \n {rowData.client.name}\n \n \n )\n }\n },\n {\n title: 'Ubicación',\n field: 'location.name',\n render: function LocationNameRow(rowData: Object) {\n return (\n \n \n {rowData?.location?.name}\n \n \n )\n }\n },\n {\n title: 'Teléfono',\n field: 'client.phoneNumber',\n hidden: xsDown,\n render: function PhoneNumberRow(rowData: Object) {\n return (\n \n \n {rowData.client.phoneNumber}\n \n \n )\n }\n },\n {\n title: 'Tipo',\n field: 'loanType.name',\n hidden: xsDown\n },\n {\n title: 'Interes %',\n field: 'interestPercentage',\n customFilterAndSearch: (term: string, rowData: Object) => {\n return (\n rowData.interestPercentage.toString() === term.toString()\n )\n },\n hidden: xsDown,\n render: function InterestPercentageRow(rowData: Object) {\n return (\n \n {`${rowData.interestPercentage}%`}\n \n )\n }\n },\n {\n title: 'Capital %',\n field: 'capitalPercentage',\n customFilterAndSearch: (term: string, rowData: Object) => {\n return (\n rowData.capitalPercentage.toString() === term.toString()\n )\n },\n hidden: xsDown,\n render: function CapitalPercentageRow(rowData: Object) {\n return (\n \n {`${rowData.capitalPercentage}%`}\n \n )\n }\n },\n {\n title: 'Periodicidad',\n field: 'loanPeriodicity.name',\n hidden: xsDown\n },\n {\n title: 'Cuota',\n field: 'amount',\n render: function AmountRow(rowData: Object) {\n const { expectedAmount } = getFee(\n rowData.loanType.type === constants.FIXED\n ? rowData.balance\n : rowData.amount,\n rowData.interestPercentage,\n rowData.capitalPercentage,\n rowData.loanPeriodicity.times,\n rowData.penaltyFee\n )\n\n return (\n \n {formatAmount(expectedAmount)}\n \n )\n }\n },\n {\n title: 'Balance',\n field: 'balance',\n render: function AmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.balance)}\n \n )\n },\n hidden: xsDown\n },\n {\n title: 'Monto',\n field: 'amount',\n render: function AmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.amount)}\n \n )\n },\n hidden: xsDown\n },\n {\n title: 'Penalización',\n field: 'penaltyFee',\n render: function PenaltyFeeRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.penaltyFee)}\n \n )\n },\n hidden: xsDown\n },\n {\n title: 'Fecha de pago',\n field: 'payday',\n customFilterAndSearch: (term: string, rowData: Object) => {\n const value = moment(rowData.payday).format(\n 'dddd, DD/MM/YYYY'\n )\n\n return value.toUpperCase().includes(term.toUpperCase())\n },\n render: function PaydayRow(rowData: Object) {\n return (\n \n {moment(rowData.payday).format('dddd, DD/MM/YYYY')}\n \n )\n },\n hidden: xsDown\n },\n {\n title: 'Días de atraso',\n field: 'daysLate',\n customFilterAndSearch: (term: string, rowData: Object) => {\n const paydate = moment(rowData.payday)\n const daysLate = moment().diff(paydate, 'days')\n const isFinished =\n rowData.loanStatus.status === constants.FINISHED\n\n const value = isFinished || daysLate < 0 ? 0 : daysLate\n\n return value.toString() === term.toString()\n },\n customSort: (a: Object, b: Object) => {\n return (\n moment().diff(moment(a.payday), 'days') -\n moment().diff(moment(b.payday), 'days')\n )\n },\n render: function DaysLateRow(rowData: Object) {\n const paydate = moment(rowData.payday)\n const daysLate = moment().diff(paydate, 'days')\n const isFinished =\n rowData.loanStatus.status === constants.FINISHED\n\n const value = isFinished || daysLate < 0 ? 0 : daysLate\n\n return {value}\n },\n hidden: xsDown\n },\n {\n title: 'Fecha de creación',\n field: 'createdAt',\n customFilterAndSearch: (term: string, rowData: Object) => {\n const value = moment(rowData.createdAt).format('DD/MM/YYYY')\n\n return value.toUpperCase().includes(term.toUpperCase())\n },\n render: function CreatedAtRow(rowData: Object) {\n return (\n \n {moment(rowData.createdAt).format('DD/MM/YYYY')}\n \n )\n },\n hidden: xsDown\n },\n {\n title: 'Cobrador',\n field: 'user.name',\n hidden: xsDown\n },\n {\n title: 'Estado',\n field: 'loanStatus.name',\n hidden: xsDown\n }\n ]}\n data={data}\n />\n )}\n \n \n \n )\n}\n\nexport default ListLoans\n","import React, { useState } from 'react'\nimport {\n Box,\n Typography,\n CircularProgress,\n MenuItem,\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid,\n FormControl,\n FormHelperText\n} from '@material-ui/core'\nimport {\n Edit as EditIcon,\n Close as CloseIcon,\n Save as SaveIcon\n} from '@material-ui/icons'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { makeStyles } from '@material-ui/core/styles'\nimport { Formik, Form, Field } from 'formik'\nimport { DatePicker } from '@material-ui/pickers'\nimport { useParams } from 'react-router-dom'\nimport AsyncSelect from 'react-select/async'\nimport useSWR from 'swr'\n\nimport { loanScheme } from 'schemas'\nimport {\n Button,\n AmountField,\n TextField,\n Snackbar,\n FilePreview,\n FileUpload,\n Map\n} from 'components'\nimport { formatDate, auth } from 'utils'\nimport { constants, mapConfig } from 'config'\nimport { usePost, useFileUpload, useCachedData } from 'hooks'\nimport { loanRoutes } from 'hooks/useCachedData'\nimport { fetch } from 'api'\n\nconst { initialValues, schema } = loanScheme.update\n\nfunction Details() {\n const classes = useStyles()\n const [isEditable, setIsEditable] = useState(false)\n const { id } = useParams()\n const isAdmin = auth.isAdmin()\n const cachedLoan = useCachedData(id, loanRoutes)\n const { data, error: loanError } = useSWR(`loan/${id}`, {\n fallbackData: cachedLoan\n })\n const loanLoading = !data && !loanError\n const { data: loanPropsData, error: loanPropsError, mutate } = useSWR(\n 'loan/props'\n )\n const loanPropsLoading = !loanPropsData && !loanPropsError\n\n const {\n post,\n isError: postIsError,\n loading: postLoading,\n error: postError\n } = usePost()\n\n const { upload, loading: uploadLoading, error: uploadError } = useFileUpload()\n\n const geolocation = data?.client?.geolocation\n ? {\n lng: data?.client?.geolocation?.coordinates?.[0],\n lat: data?.client?.geolocation?.coordinates?.[1]\n }\n : undefined\n\n if (loanLoading) {\n return (\n \n } />\n \n \n \n \n \n \n )\n }\n\n if (loanPropsError || loanError) {\n return (\n \n \n {loanPropsError || loanError}\n \n \n )\n }\n\n if (!data) {\n return (\n \n \n \n )\n }\n\n return (\n <>\n \n\n \n\n {\n post('loan/update', values, () => {\n mutate()\n setIsEditable(false)\n })\n }}\n >\n {({\n errors,\n touched,\n setFieldValue,\n setFieldTouched,\n resetForm,\n values,\n submitCount\n }: {\n errors: Object,\n touched: Object,\n setFieldValue: Function,\n setFieldTouched: Function,\n resetForm: Function,\n values: Object,\n submitCount: number\n }) => {\n return (\n
\n \n {\n resetForm({ ...initialValues, ...data })\n setIsEditable(false)\n }}\n >\n \n Cerrar\n \n ) : (\n setIsEditable(true)}\n >\n \n Editar\n \n )\n }\n />\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => {\n if (loanPropsLoading) {\n return (\n \n \n \n )\n }\n\n return (\n {\n setFieldValue(name, event?.target?.value)\n setFieldValue('userId', '')\n }}\n value={value}\n >\n {loanPropsData?.locations?.map(\n (location: Object) => {\n return (\n \n {location?.name}\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 {({ field: { name } }: { field: Object }) => (\n \n ({\n zIndex: 998\n })\n }}\n name={name}\n isDisabled={!isEditable}\n placeholder={\n (values.user && values.user.name) ||\n 'Buscar cobrador...'\n }\n noOptionsMessage={() =>\n 'No se encontro ningun resultado.'\n }\n loadingMessage={() => 'Buscando...'}\n getOptionLabel={(option: Object) =>\n `${option.name} - ${option.idNumber}`\n }\n getOptionValue={(option: Object) => option.id}\n loadOptions={(inputValue: string) =>\n fetch.get(\n `user/nameOrIdNumber/${values?.locationId}/${inputValue}`\n )\n }\n onChange={(user: Object) => {\n setFieldValue('user', user)\n setFieldValue(name, user.id)\n }}\n onBlur={() => {\n setFieldTouched(name, true)\n }}\n />\n {Boolean(\n touched.userId && errors.userId && submitCount\n ) && (\n \n {errors.userId}\n \n )}\n \n )}\n \n \n\n \n \n {({ field: { name, value } }: { field: Object }) => {\n if (loanPropsLoading) {\n return (\n \n \n \n )\n }\n\n return (\n {\n const { value } = event.target\n const loanTypeSelected = loanPropsData.loanTypes.find(\n (type: Object) => type.id === value\n )\n\n setFieldValue(name, value)\n setFieldValue('loanType', loanTypeSelected)\n\n if (loanTypeSelected.type === constants.FIXED) {\n setFieldValue('capitalPercentage', '')\n }\n }}\n error={Boolean(\n touched.loanTypeId && errors.loanTypeId\n )}\n helperText={\n touched.loanTypeId && errors.loanTypeId\n }\n >\n {loanPropsData?.loanTypes?.map(\n ({\n id,\n name\n }: {\n id: number,\n name: string\n }) => (\n \n {name}\n \n )\n )}\n \n )\n }}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => (\n {\n setFieldValue(name, values.value)\n }}\n error={Boolean(touched.amount && errors.amount)}\n helperText={touched.amount && errors.amount}\n />\n )}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => (\n {\n setFieldValue(name, values.value)\n }}\n error={Boolean(touched.balance && errors.balance)}\n helperText={touched.balance && errors.balance}\n />\n )}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => {\n if (loanPropsLoading) {\n return (\n \n \n \n )\n }\n\n return (\n {\n const { value } = event.target\n\n setFieldValue(name, value)\n }}\n label='Porcentaje al intereses*'\n error={Boolean(\n touched.interestPercentage &&\n errors.interestPercentage\n )}\n helperText={\n touched.interestPercentage &&\n errors.interestPercentage\n }\n >\n {loanPropsData?.loanInterestPercentages?.map(\n (percentage: number) => (\n \n {`${percentage}%`}\n \n )\n )}\n \n )\n }}\n \n \n\n \n {({ field: { name, value } }: { field: Object }) => {\n if (loanPropsLoading) {\n return (\n \n \n \n )\n }\n\n if (\n values.loanType &&\n values.loanType.type === constants.FIXED\n ) {\n return null\n }\n\n return (\n \n {\n const { value } = event.target\n setFieldValue(name, value)\n }}\n label='Porcentaje al capital*'\n error={Boolean(\n touched.capitalPercentage &&\n errors.capitalPercentage\n )}\n helperText={\n touched.capitalPercentage &&\n errors.capitalPercentage\n }\n >\n {loanPropsData?.loanCapitalPercentages?.map(\n (percentage: number) => (\n \n {`${percentage}%`}\n \n )\n )}\n \n \n )\n }}\n \n\n \n {({ field: { name, value } }: { field: Object }) => {\n if (loanPropsLoading) {\n return (\n \n \n \n )\n }\n\n return (\n \n {\n const { value } = event.target\n setFieldValue(name, value)\n }}\n label='Periodicidad de pago*'\n error={Boolean(\n touched.loanPeriodicityId &&\n errors.loanPeriodicityId\n )}\n helperText={\n touched.loanPeriodicityId &&\n errors.loanPeriodicityId\n }\n >\n {loanPropsData?.loanPeriodicities?.map(\n ({\n id,\n name\n }: {\n id: number,\n name: string\n }) => (\n \n {name}\n \n )\n )}\n \n \n )\n }}\n \n\n \n \n {({ field: { value } }: { field: Object }) => {\n return (\n {\n setFieldValue('payday', date)\n }}\n readOnly={!isEditable}\n />\n )\n }}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => {\n return (\n {\n setFieldValue(name, values.value)\n }}\n error={Boolean(\n touched.penaltyFee && errors.penaltyFee\n )}\n helperText={\n touched.penaltyFee && errors.penaltyFee\n }\n />\n )\n }}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => {\n if (loanPropsLoading) {\n return (\n \n \n \n )\n }\n\n return (\n {\n const { value } = event.target\n setFieldValue(name, value)\n }}\n label='Estado*'\n error={Boolean(\n touched.loanStatusId && errors.loanStatusId\n )}\n helperText={\n touched.loanStatusId && errors.loanStatusId\n }\n >\n {loanPropsData?.loanStatuses?.map(\n ({\n id,\n name\n }: {\n id: number,\n name: string\n }) => (\n \n {name}\n \n )\n )}\n \n )\n }}\n \n \n \n \n {({\n field: { name, value },\n form: { setFieldValue }\n }: {\n field: Object,\n form: Object\n }) => {\n if (!value && !isEditable) {\n return null\n }\n\n if (!isEditable) {\n return \n }\n\n return (\n {\n try {\n if (validity.valid && file) {\n setFieldValue('contractPhoto', '')\n\n const { name, type } = file\n const newName = `${Date.now().toString()}${name}`\n\n const fileCopy = new File([file], newName, {\n type\n })\n\n await upload({\n name: fileCopy.name,\n type: fileCopy.type,\n file: fileCopy,\n throwError: true\n })\n\n setFieldValue('contractPhoto', newName)\n }\n } catch (error) {\n setFieldValue('contractPhoto', '')\n }\n }}\n />\n )\n }}\n \n \n {geolocation ? (\n \n \n \n ) : null}\n \n \n {isAdmin && isEditable && (\n \n \n \n )}\n \n
\n )\n }}\n \n \n )\n}\n\nconst useStyles = makeStyles((theme: Object) => ({\n icon: {\n marginRight: theme.spacing(1)\n },\n actionsContainer: {\n display: 'flex',\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row'\n }\n}))\n\nexport default Details\n","import React, { useState } from 'react'\nimport {\n Box,\n Grid,\n Typography,\n MenuItem,\n FormControlLabel,\n Switch,\n Card,\n CardContent,\n CardHeader,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions\n} from '@material-ui/core'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { Formik, Form, Field } from 'formik'\nimport { useParams } from 'react-router-dom'\nimport useSWR from 'swr'\n\nimport {\n TextField,\n LoadingButton,\n Button,\n AmountField,\n Snackbar\n} from 'components'\nimport { getFee, formatAmount, formatDate, auth } from 'utils'\nimport { constants } from 'config'\nimport { loanScheme } from 'schemas'\nimport { usePost, useCachedData } from 'hooks'\nimport { loanRoutes } from 'hooks/useCachedData'\n\nconst { initialValues, schema } = loanScheme.pay\n\nfunction Pay() {\n const { id } = useParams()\n const [openDialog, setOpenDialog] = useState(false)\n const [paymentData, setPaymentData] = useState(null)\n const cachedLoan = useCachedData(id, loanRoutes)\n const { data, error: loanError } = useSWR(`loan/${id}`, {\n fallbackData: cachedLoan\n })\n const loanLoading = !data && !loanError\n const {\n post,\n isError: postIsError,\n loading: postLoading,\n error: postError\n } = usePost()\n\n const handleCloseDialog = () => {\n setOpenDialog(false)\n setPaymentData(null)\n }\n\n const handleShowReceipt = () => {\n window.open(\n `${constants.baseUrl}/docs/multicreditos/paymentReceipt/${paymentData?.client?.id}/${paymentData?.payment?.id}`\n )\n\n setOpenDialog(false)\n setPaymentData(null)\n }\n\n if (loanLoading) {\n return (\n \n } />\n \n \n \n \n \n \n )\n }\n\n if (loanError) {\n return (\n \n \n {loanError}\n \n \n )\n }\n\n if (!data) {\n return (\n \n \n \n )\n }\n\n const { expectedAmount, periodicityFee, interestAmount } = getFee(\n data.loanType.type === constants.FIXED ? data.balance : data.amount,\n data.interestPercentage,\n data.capitalPercentage,\n data.loanPeriodicity.times,\n data.penaltyFee\n )\n\n const options = () => {\n const response = []\n if (expectedAmount !== periodicityFee) {\n response.push({\n id: 1,\n label: 'Cuota completa',\n value: expectedAmount,\n formattedValue: formatAmount(expectedAmount)\n })\n }\n\n response.push({\n id: 2,\n label: 'Cuota Fija',\n value: periodicityFee,\n formattedValue: formatAmount(periodicityFee)\n })\n\n if (interestAmount !== periodicityFee) {\n response.push({\n id: 3,\n label: 'Solo intereses',\n value: interestAmount,\n formattedValue: formatAmount(interestAmount)\n })\n }\n\n return response\n }\n\n const details = [\n { id: 1, label: 'Nombre:', value: data.client.name },\n { id: 2, label: 'Monto:', value: formatAmount(data.amount) },\n {\n id: 3,\n label: 'Balance:',\n value: formatAmount(data.balance)\n },\n {\n id: 4,\n label: 'Multas o deudas:',\n value: formatAmount(data.penaltyFee)\n },\n {\n id: 5,\n label: 'Periodicidad:',\n value: data.loanPeriodicity.name\n },\n { id: 6, label: 'Tipo:', value: data.loanType.name },\n {\n id: 7,\n label: 'Fecha de pago:',\n value: formatDate(data.payday)\n }\n ]\n\n return (\n \n \n Pagar préstamo\n \n\n \n\n \n Exito!\n {`El pago a nombre de ${\n paymentData?.client?.name\n } por un monto de ${formatAmount(\n paymentData?.payment?.amount\n )} ha sido registrado exitosamente`}\n \n \n \n \n \n\n \n \n \n \n \n \n {details.map((detail: Object) => (\n \n \n \n {detail.label}
\n
\n \n {detail.value}\n \n
\n
\n ))}\n
\n
\n
\n
\n
\n
\n\n \n \n {\n const body = {\n ...values,\n loandId: data.id,\n userId: auth.decodedToken().id\n }\n\n post('loan/pay', body, (loan: Object) => {\n setOpenDialog(true)\n setPaymentData(loan)\n resetForm(initialValues)\n })\n }}\n >\n {({\n errors,\n touched,\n setFieldValue,\n values\n }: {\n errors: Object,\n touched: Object,\n setFieldValue: Function,\n values: Object\n }) => {\n return (\n
\n \n {\n setFieldValue('isTypeField', !values.isTypeField)\n setFieldValue('amount', '')\n setFieldValue('isTypeToCapital', false)\n }}\n value='isTypeField'\n color='primary'\n />\n }\n label={values.isTypeField ? 'Seleccionar' : 'Digitar'}\n />\n \n {({ field }: { field: Object }) => {\n return (\n {\n setFieldValue('isTypeField', true)\n setFieldValue('amount', '')\n setFieldValue(field.name, ev.target.checked)\n }}\n value={field.value}\n color='primary'\n />\n }\n label={field.value ? 'Al Periodo' : 'Al Capital'}\n />\n )\n }}\n \n \n \n {({ field }: { field: Object }) => {\n if (values.isTypeField) {\n return (\n {\n setFieldValue(field.name, values.value)\n }}\n error={Boolean(touched.amount && errors.amount)}\n helperText={touched.amount && errors.amount}\n />\n )\n }\n\n return (\n \n {options().map(\n ({\n id,\n label,\n value,\n formattedValue\n }: {\n id: number,\n label: string,\n value: number,\n formattedValue: string\n }) => (\n \n {`${label} - ${formattedValue}`}\n \n )\n )}\n \n )\n }}\n \n {\n setFieldValue('addNotesField', !values.addNotesField)\n setFieldValue('notes', '')\n }}\n value='addNotesField'\n color='primary'\n />\n }\n label={\n values.addNotesField ? 'Quitar nota' : 'Agregar nota'\n }\n />\n \n {({ field }: { field: Object }) => {\n if (values.addNotesField) {\n return (\n \n )\n }\n return null\n }}\n \n \n \n \n \n \n \n )\n }}\n \n
\n
\n \n )\n}\n\nexport default Pay\n","// @flow\nimport React from 'react'\nimport { Switch } from 'react-router-dom'\n\nimport Add from './Add'\nimport List from './List'\nimport Details from './Details'\nimport Pay from './Pay'\nimport NoMatch from 'screens/NoMatch'\nimport { CustomRoute } from 'components'\n\nfunction LoansRouter() {\n return (\n \n \n \n \n \n \n \n )\n}\n\nexport default LoansRouter\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Grid,\n Typography,\n CircularProgress,\n Box,\n MenuItem,\n Button\n} from '@material-ui/core'\nimport { DatePicker } from '@material-ui/pickers'\nimport moment from 'moment'\nimport { MTableToolbar } from 'material-table'\nimport useSWR from 'swr'\n\nimport { useMatchSizes } from 'hooks'\nimport { Table, TextField, LoadingButton, Link, Paper } from 'components'\nimport { formatAmount, formatDate } from 'utils'\nimport { constants } from 'config'\n\nconst getUrl = (formValues: Object) => {\n if (formValues.userId === 'all') {\n return `payment/dates/${formValues.from}/${formValues.to}`\n } else {\n return `payment/filter/${formValues.userId}/${formValues.from}/${formValues.to}`\n }\n}\n\nfunction ListPayments() {\n const { xsDown } = useMatchSizes()\n const [url, setUrl] = useState('payment/createdToday')\n const [filterValues, setFilterValues] = useState({\n from: moment().format(moment.defaultFormat),\n to: moment().add(1, 'day').format(moment.defaultFormat),\n userId: 'all'\n })\n const { data, error } = useSWR(url)\n const loading = !data && !error\n const { data: usersData, error: errorUsers } = useSWR('user/allBase')\n const loadingUsers = !usersData && !error\n const haveError = error || errorUsers\n\n const handleFilter = () => {\n const url = getUrl(filterValues)\n setUrl(url)\n }\n\n if (haveError) {\n return (\n \n \n {haveError}\n \n \n )\n }\n\n return (\n \n Lista de Pagos\n\n \n \n \n setFilterValues((values: Object) => ({\n ...values,\n userId: ev.target.value\n }))\n }\n >\n {!loadingUsers &&\n usersData &&\n usersData.map(({ id, name }: { id: number, name: string }) => (\n \n {name}\n \n ))}\n \n Todos\n \n \n \n \n \n setFilterValues((values: Object) => ({\n ...values,\n from: from.format(moment.defaultFormat)\n }))\n }\n />\n \n \n \n setFilterValues((values: Object) => ({\n ...values,\n to: to.format(moment.defaultFormat)\n }))\n }\n />\n \n \n \n \n Filtrar\n \n \n \n\n \n {loading && (\n \n \n \n )}\n {!loading && data && data.payments && (\n sum + item.amount,\n 0\n )) ||\n 0\n\n const capitalAmount =\n (props &&\n props.data &&\n props.data.reduce(\n (sum: number, item: Object) => sum + item.capitalAmount,\n 0\n )) ||\n 0\n\n const interestAmount =\n (props &&\n props.data &&\n props.data.reduce(\n (sum: number, item: Object) =>\n sum + item.interestAmount + item.penaltyAmount,\n 0\n )) ||\n 0\n\n return (\n <>\n \n \n \n {`Total: ${formatAmount(\n totalAmount\n )}`}\n \n\n \n {`Capital: ${formatAmount(\n capitalAmount\n )}`}\n \n\n \n {`Interes: ${formatAmount(\n interestAmount\n )}`}\n \n \n \n )\n }\n }}\n columns={[\n {\n title: 'Id',\n field: 'id',\n render: function Column(rowData: Object) {\n return (\n \n \n {rowData.id}\n \n \n )\n }\n },\n {\n title: 'Préstamo',\n field: 'loan.id',\n render: function Column(rowData: Object) {\n return (\n \n \n {rowData.loan.id}\n \n \n )\n }\n },\n {\n title: 'Cliente',\n field: 'client.name',\n render: function ClientNameRow(rowData: Object) {\n return (\n \n \n {rowData.client.name}\n \n \n )\n }\n },\n {\n title: 'Ubicación',\n field: 'location.name',\n render: function LocationNameRow(rowData: Object) {\n return (\n \n \n {rowData?.location?.name}\n \n \n )\n }\n },\n {\n title: 'Cobrador',\n field: 'user.name',\n hidden: xsDown,\n render: function UserNameRow(rowData: Object) {\n return (\n \n \n {rowData.user.name}\n \n \n )\n }\n },\n {\n title: 'Tipo',\n field: 'loan.loanType.name',\n hidden: xsDown\n },\n {\n title: 'Interes %',\n field: 'loan.interestPercentage',\n customFilterAndSearch: (term: string, rowData: Object) => {\n return (\n rowData.loan.interestPercentage.toString() ===\n term.toString()\n )\n },\n hidden: xsDown,\n render: function InterestPercentageRow(rowData: Object) {\n return (\n \n {`${rowData.loan.interestPercentage}%`}\n \n )\n }\n },\n {\n title: 'Capital %',\n field: 'loan.capitalPercentage',\n customFilterAndSearch: (term: string, rowData: Object) => {\n return (\n rowData.loan.capitalPercentage.toString() ===\n term.toString()\n )\n },\n hidden: xsDown,\n render: function CapitalPercentageRow(rowData: Object) {\n return (\n \n {`${rowData.loan.capitalPercentage}%`}\n \n )\n }\n },\n {\n title: 'Periodicidad',\n field: 'loan.loanPeriodicity.name',\n hidden: xsDown\n },\n {\n title: 'Interes',\n field: 'interestAmount',\n render: function InterestAmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.interestAmount)}\n \n )\n }\n },\n {\n title: 'Capital',\n field: 'capitalAmount',\n render: function CapitalAmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.capitalAmount)}\n \n )\n }\n },\n {\n title: 'Penalización',\n field: 'penaltyAmount',\n render: function PenaltyAmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.penaltyAmount)}\n \n )\n }\n },\n {\n title: 'Monto',\n field: 'amount',\n render: function AmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.amount)}\n \n )\n }\n },\n {\n title: 'Fecha',\n field: 'createdAt',\n render: function DateRow(rowData: Object) {\n return (\n \n {formatDate(rowData.createdAt)}\n \n )\n },\n hidden: xsDown\n },\n {\n title: 'Balance',\n field: 'currentBalanceAmount',\n render: function DateRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.currentBalanceAmount)}\n \n )\n },\n hidden: xsDown\n }\n ]}\n data={data.payments}\n actions={[\n {\n icon: 'receipt',\n tooltip: 'Ver recibo',\n onClick: (event: Object, rowData: Object) => {\n window.open(\n `${constants.baseUrl}/docs/multicreditos/paymentReceipt/${rowData?.client?.id}/${rowData?.id}`\n )\n }\n }\n ]}\n />\n )}\n \n \n \n )\n}\n\nexport default ListPayments\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Grid,\n Typography,\n CircularProgress,\n Box,\n MenuItem\n} from '@material-ui/core'\nimport { MTableToolbar } from 'material-table'\nimport useSWR from 'swr'\n\nimport { useMatchSizes } from 'hooks'\nimport { Table, TextField, Link, Paper } from 'components'\nimport { formatAmount, formatDate } from 'utils'\nimport { constants } from 'config'\n\nconst getUrls = (id: number) => {\n if (!id || id === 'all') {\n return 'payment/createdToday'\n }\n return `payment/createdToday/${id}`\n}\n\nfunction ListPayments() {\n const [id, setId] = useState('all')\n const url = getUrls(id)\n const { data, error } = useSWR(url)\n const loading = !data && !error\n const { data: usersData, error: errorUsers } = useSWR('user/allBase')\n const loadingUsers = !usersData && !error\n const haveError = error || errorUsers\n const { xsDown } = useMatchSizes()\n\n if (haveError) {\n return (\n \n \n {haveError}\n \n \n )\n }\n\n return (\n \n Pagos de hoy\n\n setId(ev.target.value)}\n >\n {!loadingUsers &&\n usersData &&\n usersData.map(({ id, name }: { id: number, name: string }) => (\n \n {name}\n \n ))}\n \n Todos\n \n \n\n \n \n {loading && (\n \n \n \n )}\n\n {!loading && data && data.payments && (\n sum + item.amount,\n 0\n )) ||\n 0\n\n const capitalAmount =\n (props &&\n props.data &&\n props.data.reduce(\n (sum: number, item: Object) => sum + item.capitalAmount,\n 0\n )) ||\n 0\n\n const interestAmount =\n (props &&\n props.data &&\n props.data.reduce(\n (sum: number, item: Object) =>\n sum + item.interestAmount + item.penaltyAmount,\n 0\n )) ||\n 0\n\n return (\n <>\n \n \n \n {`Total: ${formatAmount(\n totalAmount\n )}`}\n \n\n \n {`Capital: ${formatAmount(\n capitalAmount\n )}`}\n \n\n \n {`Interes: ${formatAmount(\n interestAmount\n )}`}\n \n \n \n )\n }\n }}\n columns={[\n {\n title: 'Id',\n field: 'id',\n render: function Column(rowData: Object) {\n return (\n \n \n {rowData.id}\n \n \n )\n }\n },\n {\n title: 'Préstamo',\n field: 'loan.id',\n render: function Column(rowData: Object) {\n return (\n \n \n {rowData.loan.id}\n \n \n )\n }\n },\n {\n title: 'Cliente',\n field: 'client.name',\n render: function ClientNameRow(rowData: Object) {\n return (\n \n \n {rowData.client.name}\n \n \n )\n }\n },\n {\n title: 'Ubicación',\n field: 'location.name',\n render: function LocationNameRow(rowData: Object) {\n return (\n \n \n {rowData?.location?.name}\n \n \n )\n }\n },\n {\n title: 'Cobrador',\n field: 'user.name',\n hidden: xsDown,\n render: function UserNameRow(rowData: Object) {\n return (\n \n \n {rowData.user.name}\n \n \n )\n }\n },\n {\n title: 'Tipo',\n field: 'loan.loanType.name',\n hidden: xsDown\n },\n {\n title: 'Interes %',\n field: 'loan.interestPercentage',\n customFilterAndSearch: (term: string, rowData: Object) => {\n return (\n rowData.loan.interestPercentage.toString() ===\n term.toString()\n )\n },\n hidden: xsDown,\n render: function InterestPercentageRow(rowData: Object) {\n return (\n \n {`${rowData.loan.interestPercentage}%`}\n \n )\n }\n },\n {\n title: 'Capital %',\n field: 'loan.capitalPercentage',\n customFilterAndSearch: (term: string, rowData: Object) => {\n return (\n rowData.loan.capitalPercentage.toString() ===\n term.toString()\n )\n },\n hidden: xsDown,\n render: function CapitalPercentageRow(rowData: Object) {\n return (\n \n {`${rowData.loan.capitalPercentage}%`}\n \n )\n }\n },\n {\n title: 'Periodicidad',\n field: 'loan.loanPeriodicity.name',\n hidden: xsDown\n },\n {\n title: 'Interes',\n field: 'interestAmount',\n render: function InterestAmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.interestAmount)}\n \n )\n }\n },\n {\n title: 'Capital',\n field: 'capitalAmount',\n render: function CapitalAmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.capitalAmount)}\n \n )\n }\n },\n {\n title: 'Penalización',\n field: 'penaltyAmount',\n render: function PenaltyAmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.penaltyAmount)}\n \n )\n }\n },\n {\n title: 'Monto',\n field: 'amount',\n render: function AmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.amount)}\n \n )\n }\n },\n {\n title: 'Fecha',\n field: 'createdAt',\n render: function DateRow(rowData: Object) {\n return (\n \n {formatDate(rowData.createdAt)}\n \n )\n },\n hidden: xsDown\n },\n {\n title: 'Balance',\n field: 'currentBalanceAmount',\n render: function DateRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.currentBalanceAmount)}\n \n )\n },\n hidden: xsDown\n }\n ]}\n data={data.payments}\n actions={[\n {\n icon: 'receipt',\n tooltip: 'Ver recibo',\n onClick: (event: Object, rowData: Object) => {\n window.open(\n `${constants.baseUrl}/docs/multicreditos/paymentReceipt/${rowData?.client?.id}/${rowData?.id}`\n )\n }\n }\n ]}\n />\n )}\n \n \n \n )\n}\n\nexport default ListPayments\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Grid,\n Typography,\n CircularProgress,\n Box,\n Button\n} from '@material-ui/core'\nimport { DatePicker } from '@material-ui/pickers'\nimport moment from 'moment'\nimport { MTableToolbar } from 'material-table'\nimport useSWR from 'swr'\n\nimport { useMatchSizes } from 'hooks'\nimport { Table, LoadingButton, Link, Paper } from 'components'\nimport { formatAmount, formatDate, auth } from 'utils'\nimport { constants } from 'config'\n\nfunction PersonalPayments() {\n const [filterValues, setFilterValues] = useState({\n from: moment().format(moment.defaultFormat),\n to: moment().add(1, 'day').format(moment.defaultFormat),\n userId: 'all'\n })\n const { id } = auth.decodedToken()\n const [url, setUrl] = useState(`payment/createdToday/${id}`)\n const { data, error } = useSWR(url)\n const loading = !data && !error\n\n const handleFilter = () => {\n const url = `payment/filter/${id}/${filterValues.from}/${filterValues.to}`\n setUrl(url)\n }\n\n const { xsDown } = useMatchSizes()\n\n if (error) {\n return (\n \n \n {error}\n \n \n )\n }\n\n return (\n \n Lista de Pagos\n \n \n \n setFilterValues((values: Object) => ({\n ...values,\n from: from.format(moment.defaultFormat)\n }))\n }\n />\n \n \n \n setFilterValues((values: Object) => ({\n ...values,\n to: to.format(moment.defaultFormat)\n }))\n }\n />\n \n \n \n \n Filtrar\n \n \n \n\n \n {loading && (\n \n \n \n )}\n {!loading && data && data.payments && (\n sum + item.amount,\n 0\n )) ||\n 0\n\n const capitalAmount =\n (props &&\n props.data &&\n props.data.reduce(\n (sum: number, item: Object) => sum + item.capitalAmount,\n 0\n )) ||\n 0\n\n const interestAmount =\n (props &&\n props.data &&\n props.data.reduce(\n (sum: number, item: Object) =>\n sum + item.interestAmount + item.penaltyAmount,\n 0\n )) ||\n 0\n\n return (\n <>\n \n \n \n {`Total: ${formatAmount(\n totalAmount\n )}`}\n \n\n \n {`Capital: ${formatAmount(\n capitalAmount\n )}`}\n \n\n \n {`Interes: ${formatAmount(\n interestAmount\n )}`}\n \n \n \n )\n }\n }}\n columns={[\n {\n title: 'Id',\n field: 'id',\n render: function Column(rowData: Object) {\n return (\n \n \n {rowData.id}\n \n \n )\n }\n },\n {\n title: 'Préstamo',\n field: 'loan.id',\n render: function Column(rowData: Object) {\n return (\n \n \n {rowData.loan.id}\n \n \n )\n }\n },\n {\n title: 'Cliente',\n field: 'client.name',\n render: function ClientNameRow(rowData: Object) {\n return (\n \n \n {rowData.client.name}\n \n \n )\n }\n },\n {\n title: 'Ubicación',\n field: 'location.name',\n render: function LocationNameRow(rowData: Object) {\n return (\n \n \n {rowData?.location?.name}\n \n \n )\n }\n },\n {\n title: 'Cobrador',\n field: 'user.name',\n hidden: xsDown,\n render: function UserNameRow(rowData: Object) {\n return (\n \n \n {rowData.user.name}\n \n \n )\n }\n },\n {\n title: 'Tipo',\n field: 'loan.loanType.name',\n hidden: xsDown\n },\n {\n title: 'Interes %',\n field: 'loan.interestPercentage',\n customFilterAndSearch: (term: string, rowData: Object) => {\n return (\n rowData.loan.interestPercentage.toString() ===\n term.toString()\n )\n },\n hidden: xsDown,\n render: function InterestPercentageRow(rowData: Object) {\n return (\n \n {`${rowData.loan.interestPercentage}%`}\n \n )\n }\n },\n {\n title: 'Capital %',\n field: 'loan.capitalPercentage',\n customFilterAndSearch: (term: string, rowData: Object) => {\n return (\n rowData.loan.capitalPercentage.toString() ===\n term.toString()\n )\n },\n hidden: xsDown,\n render: function CapitalPercentageRow(rowData: Object) {\n return (\n \n {`${rowData.loan.capitalPercentage}%`}\n \n )\n }\n },\n {\n title: 'Periodicidad',\n field: 'loan.loanPeriodicity.name',\n hidden: xsDown\n },\n {\n title: 'Interes',\n field: 'interestAmount',\n render: function InterestAmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.interestAmount)}\n \n )\n }\n },\n {\n title: 'Capital',\n field: 'capitalAmount',\n render: function CapitalAmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.capitalAmount)}\n \n )\n }\n },\n {\n title: 'Penalización',\n field: 'penaltyAmount',\n render: function PenaltyAmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.penaltyAmount)}\n \n )\n }\n },\n {\n title: 'Monto',\n field: 'amount',\n render: function AmountRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.amount)}\n \n )\n }\n },\n {\n title: 'Fecha',\n field: 'createdAt',\n render: function DateRow(rowData: Object) {\n return (\n \n {formatDate(rowData.createdAt)}\n \n )\n },\n hidden: xsDown\n },\n {\n title: 'Balance',\n field: 'currentBalanceAmount',\n render: function DateRow(rowData: Object) {\n return (\n \n {formatAmount(rowData.currentBalanceAmount)}\n \n )\n },\n hidden: xsDown\n }\n ]}\n data={data.payments}\n actions={[\n {\n icon: 'receipt',\n tooltip: 'Ver recibo',\n onClick: (event: Object, rowData: Object) => {\n window.open(\n `${constants.baseUrl}/docs/multicreditos/paymentReceipt/${rowData?.client?.id}/${rowData?.id}`\n )\n }\n }\n ]}\n />\n )}\n \n \n \n )\n}\n\nexport default PersonalPayments\n","import React, { useState } from 'react'\nimport {\n Box,\n Typography,\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid\n} from '@material-ui/core'\nimport {\n Edit as EditIcon,\n Close as CloseIcon,\n Save as SaveIcon\n} from '@material-ui/icons'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { makeStyles } from '@material-ui/core/styles'\nimport { Formik, Form, Field } from 'formik'\nimport { useParams } from 'react-router-dom'\nimport useSWR from 'swr'\n\nimport { paymentScheme } from 'schemas'\nimport { Button, TextField, Snackbar, AmountField } from 'components'\nimport { formatDate, auth } from 'utils'\nimport { usePost } from 'hooks'\n\nconst { initialValues, schema } = paymentScheme.update\n\nfunction Details() {\n const classes = useStyles()\n const [isEditable, setIsEditable] = useState(false)\n const { id } = useParams()\n const isAdmin = auth.isAdmin()\n const { data, error, mutate } = useSWR(`payment/${id}`)\n const loading = !data && !error\n const {\n post,\n isError: postIsError,\n loading: postLoading,\n error: postError\n } = usePost()\n\n if (loading) {\n return (\n \n } />\n \n \n \n \n \n \n )\n }\n\n if (error) {\n return (\n \n \n {error}\n \n \n )\n }\n\n if (!data) {\n return (\n \n \n \n )\n }\n\n return (\n <>\n \n\n {\n post('payment/update', values, () => {\n mutate()\n setIsEditable(false)\n })\n }}\n >\n {({\n errors,\n touched,\n setFieldValue,\n resetForm,\n values\n }: {\n errors: Object,\n touched: Object,\n setFieldValue: Function,\n resetForm: Function,\n values: Object\n }) => {\n return (\n
\n \n {\n resetForm({ ...initialValues, ...data })\n setIsEditable(false)\n }}\n >\n \n Cerrar\n \n ) : (\n setIsEditable(true)}\n >\n \n Editar\n \n )\n }\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {({ field: { name, value } }: { field: Object }) => (\n {\n setFieldValue(name, values.value)\n }}\n error={Boolean(touched.amount && errors.amount)}\n helperText={touched.amount && errors.amount}\n />\n )}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => (\n {\n setFieldValue(name, values.value)\n }}\n error={Boolean(\n touched.interestAmount && errors.interestAmount\n )}\n helperText={\n touched.interestAmount && errors.interestAmount\n }\n />\n )}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => (\n {\n setFieldValue(name, values.value)\n }}\n error={Boolean(\n touched.capitalAmount && errors.capitalAmount\n )}\n helperText={\n touched.capitalAmount && errors.capitalAmount\n }\n />\n )}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => (\n {\n setFieldValue(name, values.value)\n }}\n error={Boolean(\n touched.penaltyAmount && errors.penaltyAmount\n )}\n helperText={\n touched.penaltyAmount && errors.penaltyAmount\n }\n />\n )}\n \n \n \n \n {({ field: { name, value } }: { field: Object }) => (\n {\n setFieldValue(name, values.value)\n }}\n error={Boolean(\n touched.currentBalanceAmount &&\n errors.currentBalanceAmount\n )}\n helperText={\n touched.currentBalanceAmount &&\n errors.currentBalanceAmount\n }\n />\n )}\n \n \n \n \n \n \n \n \n \n \n {isAdmin && isEditable && (\n \n \n \n )}\n \n
\n )\n }}\n \n \n )\n}\n\nconst useStyles = makeStyles((theme: Object) => ({\n icon: {\n marginRight: theme.spacing(1)\n },\n actionsContainer: {\n display: 'flex',\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row'\n }\n}))\n\nexport default Details\n","// @flow\nimport React from 'react'\nimport { Switch } from 'react-router-dom'\n\nimport List from './List'\nimport Today from './Today'\nimport Personal from './Personal'\nimport Details from './Details'\nimport NoMatch from 'screens/NoMatch'\nimport { CustomRoute } from 'components'\n\nfunction PaymentsRouter() {\n return (\n \n \n \n \n \n \n \n )\n}\n\nexport default PaymentsRouter\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Typography,\n Box,\n MenuItem,\n CircularProgress,\n InputAdornment,\n IconButton,\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid\n} from '@material-ui/core'\nimport { Save as SaveIcon } from '@material-ui/icons'\nimport { Visibility, VisibilityOff } from '@material-ui/icons'\nimport { Formik, Form, Field } from 'formik'\nimport { useHistory } from 'react-router-dom'\nimport { makeStyles } from '@material-ui/core/styles'\nimport useSWR from 'swr'\n\nimport { TextField, Button, Snackbar, FileUpload } from 'components'\nimport { userScheme } from 'schemas'\nimport { usePost, useFileUpload } from 'hooks'\n\nconst { initialValues, schema } = userScheme.create\n\nfunction AddUsers() {\n const classes = useStyles()\n const history = useHistory()\n const { data, error: userError } = useSWR('user/props')\n const userLoading = !data && !userError\n const { post, isError, isSucceded, loading, error } = usePost()\n const {\n upload: uploadFront,\n loading: uploadFrontLoading,\n error: uploadFrontError\n } = useFileUpload()\n const {\n upload: uploadBack,\n loading: uploadBackLoading,\n error: uploadBackError\n } = useFileUpload()\n const [showPassword, setShowPassword] = useState(false)\n\n if (userError) {\n return (\n \n \n {userError}\n \n \n )\n }\n\n return (\n <>\n \n\n \n\n \n\n \n\n \n post('user/create', values, (user: Object) => {\n history.push(`/inicio/usuarios/perfil/${user.id}`, user)\n })\n }\n >\n {({ errors, touched }: { errors: Object, touched: Object }) => (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setShowPassword(!showPassword)}\n >\n {showPassword ? (\n \n ) : (\n \n )}\n \n \n )\n }}\n />\n \n \n \n {({ field }: { field: Object }) => {\n if (userLoading) {\n return (\n \n \n \n )\n }\n\n return (\n \n {data?.locations?.map((location: Object) => {\n return (\n \n {location?.name}\n \n )\n })}\n \n )\n }}\n \n \n \n \n {({ field }: { field: Object }) => {\n if (userLoading) {\n return (\n \n \n \n )\n }\n\n return (\n \n {data?.userTypes.map(\n ({ id, name }: { id: number, name: string }) => (\n \n {name}\n \n )\n )}\n \n )\n }}\n \n \n \n \n {({ field }: { field: Object }) => {\n if (userLoading) {\n return (\n \n \n \n )\n }\n\n return (\n \n {data?.userStatuses.map(\n ({ id, name }: { id: number, name: string }) => (\n \n {name}\n \n )\n )}\n \n )\n }}\n \n \n\n \n \n {({\n field: { name, value },\n form: { setFieldValue }\n }: {\n field: Object,\n form: Object\n }) => {\n return (\n {\n try {\n if (validity.valid && file) {\n setFieldValue('idFrontPhoto', '')\n\n const { name, type } = file\n const newName = `${Date.now().toString()}${name}`\n\n const fileCopy = new File([file], newName, {\n type\n })\n\n await uploadFront({\n name: fileCopy.name,\n type: fileCopy.type,\n file: fileCopy,\n throwError: true\n })\n\n setFieldValue('idFrontPhoto', newName)\n }\n } catch (error) {\n setFieldValue('idFrontPhoto', '')\n }\n }}\n />\n )\n }}\n \n \n\n \n \n {({\n field: { name, value },\n form: { setFieldValue }\n }: {\n field: Object,\n form: Object\n }) => {\n return (\n {\n try {\n if (validity.valid && file) {\n setFieldValue('idBackPhoto', '')\n\n const { name, type } = file\n const newName = `${Date.now().toString()}${name}`\n\n const fileCopy = new File([file], newName, {\n type\n })\n\n await uploadBack({\n name: fileCopy.name,\n type: fileCopy.type,\n file: fileCopy,\n throwError: true\n })\n\n setFieldValue('idBackPhoto', newName)\n }\n } catch (error) {\n setFieldValue('idBackPhoto', '')\n }\n }}\n />\n )\n }}\n \n \n \n \n\n \n \n \n \n
\n )}\n \n \n )\n}\n\nconst useStyles = makeStyles((theme: Object) => ({\n icon: {\n marginRight: theme.spacing(1)\n }\n}))\n\nexport default AddUsers\n","// @flow\nimport React from 'react'\nimport {\n Typography,\n CircularProgress,\n Box,\n Link as MuiLink\n} from '@material-ui/core'\nimport useSWR from 'swr'\n\nimport { useMatchSizes } from 'hooks'\nimport { Table, Link } from 'components'\n\nfunction ListUsers() {\n const { data, error } = useSWR('user/all')\n const loading = !data && !error\n\n const { xsDown } = useMatchSizes()\n\n if (loading) {\n return (\n \n \n \n )\n }\n\n if (error) {\n return (\n \n \n {error}\n \n \n )\n }\n\n return (\n <>\n \n Lista de Usuarios\n \n\n \n \n {rowData.id}\n \n \n )\n }\n },\n {\n title: 'Nombre',\n field: 'name'\n },\n {\n title: 'Ubicaciones',\n field: 'locations.name',\n customFilterAndSearch: (term: string, rowData: Object) => {\n const value = rowData?.locations\n ?.map((location: Object) => location?.name)\n ?.join(', ')\n\n return value?.toUpperCase()?.includes(term?.toUpperCase())\n },\n render: function Column(rowData: Object) {\n const locationsNames = rowData?.locations\n ?.map((location: Object) => location?.name)\n ?.join(', ')\n\n return (\n \n {locationsNames}\n \n )\n }\n },\n\n {\n title: 'Nombre de Usuario',\n field: 'userName',\n hidden: xsDown\n },\n {\n title: 'Teléfono',\n field: 'phoneNumber',\n disableClick: true,\n render: function PhoneNumberRow(rowData: Object) {\n return (\n \n \n {rowData.phoneNumber}\n \n \n )\n }\n },\n {\n title: 'Cédula',\n field: 'idNumber',\n hidden: xsDown\n },\n {\n title: 'Tipo de usuario',\n field: 'userType.name',\n hidden: xsDown\n },\n {\n title: 'Estado',\n field: 'userStatus.name',\n hidden: xsDown\n }\n ]}\n data={data}\n />\n \n )\n}\n\nexport default ListUsers\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Typography,\n Box,\n CircularProgress,\n MenuItem,\n InputAdornment,\n IconButton,\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid\n} from '@material-ui/core'\nimport {\n Edit as EditIcon,\n Close as CloseIcon,\n Save as SaveIcon,\n Visibility as VisibilityIcon,\n VisibilityOff as VisibilityOffIcon\n} from '@material-ui/icons'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { makeStyles } from '@material-ui/core/styles'\nimport { Formik, Form, Field } from 'formik'\nimport { useParams } from 'react-router-dom'\nimport useSWR, { useSWRConfig } from 'swr'\n\nimport {\n Button,\n Snackbar,\n TextField,\n FilePreview,\n FileUpload\n} from 'components'\nimport { userScheme } from 'schemas'\nimport { usePost, useFileUpload } from 'hooks'\nimport { auth, formatDate } from 'utils'\nimport { constants } from 'config'\n\nconst { schema } = userScheme.update\n\nfunction Profile() {\n const classes = useStyles()\n const [isEditable, setIsEditable] = useState(false)\n const [showPassword, setShowPassword] = useState(false)\n const [clientValidationError, setClientValidationError] = useState()\n const { id } = useParams()\n const { id: userId } = auth.decodedToken()\n const isAdmin = auth.isAdmin()\n const { cache } = useSWRConfig()\n const cachedUser = cache\n ?.get('user/all')\n ?.find((user: Object) => Number(user?.id) === Number(id))\n const { data, error: userError } = useSWR(`user/${id}`, {\n fallbackData: cachedUser\n })\n const userLoading = !data && !userError\n const {\n upload: uploadFront,\n loading: uploadFrontLoading,\n error: uploadFrontError\n } = useFileUpload()\n const {\n upload: uploadBack,\n loading: uploadBackLoading,\n error: uploadBackError\n } = useFileUpload()\n const { data: userPropsData, error: userPropsError } = useSWR(`user/props`, {\n fallbackData: cachedUser\n })\n const userPropsLoading = !userPropsData && !userPropsError\n const currentType = data?.userType?.type\n const isCurrentUserAdmin = currentType === constants.ADMIN\n const {\n post,\n isError: postIsError,\n loading: postLoading,\n error: postError\n } = usePost()\n\n if (userLoading) {\n return (\n \n } />\n \n \n \n \n \n \n )\n }\n\n if (userPropsError || userError) {\n return (\n \n \n {userPropsError || userError}\n \n \n )\n }\n\n if (!data) {\n return (\n \n \n \n )\n }\n\n return (\n <>\n \n\n \n\n \n\n \n\n location?.id)\n }}\n validationSchema={schema}\n onSubmit={async (values: Object) => {\n setClientValidationError()\n const newType = values?.userTypeId\n const currentLocationIds = data?.locations?.map(\n (location: Object) => location?.id\n )\n const removedLocationIds = currentLocationIds.filter(\n (currentLocationId: number) =>\n !values?.locationIds?.some(\n (locationId: number) =>\n Number(locationId) === Number(currentLocationId)\n )\n )\n\n if (isCurrentUserAdmin && newType !== 1) {\n setClientValidationError(\n 'No se permite cambiarle el tipo a un usuario administrador'\n )\n\n return\n }\n\n if (isCurrentUserAdmin && removedLocationIds?.length) {\n setClientValidationError(\n 'No se permite quitarle ubicaciones a un usuario administrativo.'\n )\n\n return\n }\n\n post('user/update', values, () => {\n setIsEditable(false)\n })\n }}\n >\n {({\n errors,\n touched,\n resetForm,\n values\n }: {\n errors: Object,\n touched: Object,\n resetForm: Function,\n values: Object\n }) => (\n
\n \n {\n resetForm(data)\n setIsEditable(false)\n }}\n >\n \n Cerrar\n \n ) : (\n setIsEditable(true)}\n >\n \n Editar\n \n )\n }\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n {({ field }: { field: Object }) => {\n if (userPropsLoading) {\n return \n }\n\n return (\n \n {userPropsData?.locations?.map(\n (location: Object) => {\n return (\n \n {location?.name}\n \n )\n }\n )}\n \n )\n }}\n \n \n\n \n \n {({ field }: { field: Object }) => {\n if (userPropsLoading) {\n return \n }\n\n return (\n \n {userPropsData?.userTypes?.map(\n ({ id, name }: { id: number, name: string }) => (\n \n {name}\n \n )\n )}\n \n )\n }}\n \n \n \n \n {({ field }: { field: Object }) => {\n if (userPropsLoading) {\n return \n }\n\n return (\n \n {userPropsData?.userStatuses?.map(\n ({ id, name }: { id: number, name: string }) => (\n \n {name}\n \n )\n )}\n \n )\n }}\n \n \n\n {isEditable && userId === id && (\n <>\n \n \n \n \n \n setShowPassword(!showPassword)}\n >\n {showPassword ? (\n \n ) : (\n \n )}\n \n \n )\n }}\n />\n \n \n )}\n\n \n \n \n\n {userId !== id && }\n\n \n \n {({\n field: { name, value },\n form: { setFieldValue }\n }: {\n field: Object,\n form: Object\n }) => {\n if (!value && !isEditable) {\n return null\n }\n\n if (!isEditable) {\n return \n }\n\n return (\n {\n try {\n if (validity.valid && file) {\n setFieldValue('idFrontPhoto', '')\n\n const { name, type } = file\n const newName = `${Date.now().toString()}${name}`\n\n const fileCopy = new File([file], newName, {\n type\n })\n\n await uploadFront({\n name: fileCopy.name,\n type: fileCopy.type,\n file: fileCopy,\n throwError: true\n })\n\n setFieldValue('idFrontPhoto', newName)\n }\n } catch (error) {\n setFieldValue('idFrontPhoto', '')\n }\n }}\n />\n )\n }}\n \n \n\n \n \n {({\n field: { name, value },\n form: { setFieldValue }\n }: {\n field: Object,\n form: Object\n }) => {\n if (!value && !isEditable) {\n return null\n }\n\n if (!isEditable) {\n return \n }\n\n return (\n {\n try {\n if (validity.valid && file) {\n setFieldValue('idBackPhoto', '')\n\n const { name, type } = file\n const newName = `${Date.now().toString()}${name}`\n\n const fileCopy = new File([file], newName, {\n type\n })\n\n await uploadBack({\n name: fileCopy.name,\n type: fileCopy.type,\n file: fileCopy,\n throwError: true\n })\n\n setFieldValue('idBackPhoto', newName)\n }\n } catch (error) {\n setFieldValue('idBackPhoto', '')\n }\n }}\n />\n )\n }}\n \n \n \n \n {isAdmin && isEditable && (\n \n \n \n )}\n \n
\n )}\n \n \n )\n}\n\nconst useStyles = makeStyles({\n form: {\n marginTop: 20,\n width: '100%'\n }\n})\n\nexport default Profile\n","// @flow\nimport React from 'react'\nimport { Switch } from 'react-router-dom'\n\nimport Add from './Add'\nimport List from './List'\nimport Profile from './Profile'\nimport NoMatch from 'screens/NoMatch'\nimport { CustomRoute } from 'components'\n\nfunction UsersRouter() {\n return (\n \n \n \n \n \n \n )\n}\n\nexport default UsersRouter\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Typography,\n Box,\n InputAdornment,\n IconButton,\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid\n} from '@material-ui/core'\nimport {\n Edit as EditIcon,\n Close as CloseIcon,\n Save as SaveIcon,\n Visibility as VisibilityIcon,\n VisibilityOff as VisibilityOffIcon\n} from '@material-ui/icons'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { makeStyles } from '@material-ui/core/styles'\nimport { Formik, Form, Field } from 'formik'\nimport useSWR from 'swr'\n\nimport { Button, Snackbar, TextField } from 'components'\nimport { userScheme } from 'schemas'\nimport { usePost } from 'hooks'\nimport { formatDate } from 'utils'\n\nconst { schema } = userScheme.update\n\nfunction Profile() {\n const classes = useStyles()\n const [isEditable, setIsEditable] = useState(false)\n const [showPassword, setShowPassword] = useState(false)\n const { data, error, mutate } = useSWR(`user/profile`)\n const loading = !data && !error\n\n const {\n post,\n isError: postIsError,\n loading: postLoading,\n error: postError\n } = usePost()\n\n if (loading) {\n return (\n \n } />\n \n \n \n \n \n \n )\n }\n\n if (error) {\n return (\n \n \n {error}\n \n \n )\n }\n\n return (\n <>\n \n\n {\n const payload = {\n idNumber: values.idNumber,\n name: values.name,\n phoneNumber: values.phoneNumber,\n email: values.email || '',\n userName: values.userName,\n password: values.password || ''\n }\n\n post('user/profile/update', payload, () => {\n mutate()\n setIsEditable(false)\n })\n }}\n >\n {({\n errors,\n touched,\n resetForm,\n values\n }: {\n errors: Object,\n touched: Object,\n resetForm: Function,\n values: Object\n }) => (\n
\n \n {\n resetForm(data)\n setIsEditable(false)\n }}\n >\n \n Cerrar\n \n ) : (\n setIsEditable(true)}\n >\n \n Editar\n \n )\n }\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n {isEditable && (\n \n \n setShowPassword(!showPassword)}\n >\n {showPassword ? (\n \n ) : (\n \n )}\n \n \n )\n }}\n />\n \n )}\n\n \n \n \n \n \n {isEditable && (\n \n \n \n )}\n \n
\n )}\n \n \n )\n}\n\nconst useStyles = makeStyles({\n form: {\n marginTop: 20,\n width: '100%'\n }\n})\n\nexport default Profile\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Grid,\n Typography,\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Tooltip,\n Button,\n MenuItem,\n Box\n} from '@material-ui/core'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { useTheme } from '@material-ui/core/styles'\nimport { VictoryPie } from 'victory'\nimport useSWR from 'swr'\n\nimport { Snackbar, TextField } from 'components'\nimport { formatAmount } from 'utils'\nimport { usePost } from 'hooks'\nimport { constants } from 'config'\n\nconst { ALL, REPORT_TYPES } = constants\n\nfunction Welcome() {\n const [reportType, setReportType] = useState(REPORT_TYPES.DAILY)\n const [locationId, setLocationId] = useState(ALL)\n const isDaily = reportType === REPORT_TYPES.DAILY\n const { data, error, mutate } = useSWR(\n `chart/${isDaily ? 'todayPayments' : 'monthlyPayments'}/${locationId}`\n )\n const loading = !data && !error\n const {\n post,\n loading: postLoading,\n error: postError,\n isError: postIsError\n } = usePost()\n\n const {\n palette: {\n primary: { main: primaryColor },\n secondary: { main: secondaryColor }\n }\n } = useTheme()\n\n const handleOnChangeType = (ev: Object) => {\n setReportType(ev.target.value)\n }\n\n const handleOnChangeLocation = (ev: Object) => {\n const locationIdValue = ev.target.value\n setLocationId(locationIdValue)\n }\n\n if (loading) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n if (error) {\n return (\n \n {error}\n \n )\n }\n\n return (\n <>\n \n\n \n \n \n \n \n Todas\n\n {data?.locations?.map((location: Object) => {\n return (\n \n {location?.name}\n \n )\n })}\n \n\n \n {Object.keys(REPORT_TYPES).map((key: string) => {\n const value = REPORT_TYPES[key]\n\n return (\n \n {value}\n \n )\n })}\n \n \n\n \n {data && data.chartData && (\n \n \n \n {data.totalAmount > 0 && (\n \n \n `${datum.x}: ${formatAmount(datum.y)}`\n }\n />\n \n )}\n \n \n \n post(\n 'user/blockAllRoots',\n {\n locationId\n },\n () => mutate()\n )\n }\n >\n Bloquear\n \n \n \n \n post(\n 'user/unblockAllRoots',\n {\n locationId\n },\n () => mutate()\n )\n }\n >\n Desbloquear\n \n \n \n \n \n )}\n\n {data &&\n data.users &&\n data.users.map &&\n data.users.map((user: Object) => {\n return (\n \n \n \n {user.totalAmount > 0 && (\n \n \n `${datum.x}: ${formatAmount(datum.y)}`\n }\n />\n \n )}\n\n {data && data.chartData && (\n \n {user.userStatus.type === 'ACTIVE' && (\n \n \n post('user/blockById', { id: user.id }, () =>\n mutate()\n )\n }\n >\n Bloquear\n \n \n )}\n {user.userStatus.type === 'BLOCKED' && (\n \n \n post(\n 'user/unblockById',\n { id: user.id },\n () => mutate()\n )\n }\n >\n Desbloquear\n \n \n )}\n \n )}\n \n \n )\n })}\n \n \n \n \n )\n}\n\nexport default Welcome\n","// @flow\nimport React, { useState } from 'react'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid\n} from '@material-ui/core'\nimport { Save as SaveIcon } from '@material-ui/icons'\nimport { Formik, Form, Field } from 'formik'\nimport { useHistory } from 'react-router-dom'\nimport { makeStyles } from '@material-ui/core/styles'\n\nimport { TextField, Button, Snackbar, Map } from 'components'\nimport { locationScheme } from 'schemas'\nimport { usePost } from 'hooks'\nimport { mapConfig } from 'config'\n\nconst { initialValues, schema } = locationScheme\n\nfunction AddLocation() {\n const classes = useStyles()\n const history = useHistory()\n const { post, isError, loading, error } = usePost()\n const [loadingCurrentLocation, setLoadingCurrentLocation] = useState(false)\n const [geolocation, setGeolocation] = useState(null)\n const geolocationLocation = navigator?.geolocation\n const geography = geolocation\n ? {\n type: 'Point',\n coordinates: [geolocation.lng, geolocation.lat]\n }\n : null\n\n const onMapClick = (value: Object) => {\n setGeolocation({\n lat: value.lat,\n lng: value.lng\n })\n }\n\n const handleShowCurrentLocation = () => {\n if (geolocationLocation) {\n setLoadingCurrentLocation(true)\n geolocationLocation.getCurrentPosition((position: Object) => {\n const { latitude: lat, longitude: lng } = position.coords\n setGeolocation({\n lat,\n lng\n })\n setLoadingCurrentLocation(false)\n })\n }\n }\n\n return (\n <>\n \n\n \n post(\n 'location/create',\n {\n ...values,\n geolocation: geography\n },\n (location: Object) => {\n history.push(\n `/inicio/ubicaciones/detalle/${location.id}`,\n location\n )\n }\n )\n }\n >\n {({ errors, touched }: { errors: Object, touched: Object }) => (\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\nconst useStyles = makeStyles((theme: Object) => ({\n icon: {\n marginRight: theme.spacing(1)\n }\n}))\n\nexport default AddLocation\n","// @flow\nimport React from 'react'\nimport { Typography, Box, Link as MuiLink } from '@material-ui/core'\nimport useSWR from 'swr'\n\nimport { useMatchSizes } from 'hooks'\nimport { Table, Link } from 'components'\n\nfunction ListLocations() {\n const { data, error } = useSWR('location/all')\n const loading = !data && !error\n const { xsDown } = useMatchSizes()\n\n if (error) {\n return (\n \n \n {error}\n \n \n )\n }\n\n return (\n <>\n \n Lista de ubicaciones\n \n\n \n \n {rowData.id}\n \n \n )\n }\n },\n {\n title: 'Nombre',\n field: 'name'\n },\n {\n title: 'Cédula',\n field: 'idNumber',\n hidden: xsDown\n },\n {\n title: 'Teléfono',\n field: 'phoneNumber',\n disableClick: true,\n render: function PhoneNumberRow(rowData: Object) {\n return (\n \n \n {rowData.phoneNumber}\n \n \n )\n }\n },\n {\n title: 'Correo',\n field: 'email',\n hidden: true\n },\n {\n title: 'Descripción',\n field: 'description',\n hidden: true\n }\n ]}\n />\n \n )\n}\n\nexport default ListLocations\n","// @flow\nimport React, { useState, useEffect } from 'react'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Box,\n Typography,\n Grid\n} from '@material-ui/core'\nimport {\n Edit as EditIcon,\n Close as CloseIcon,\n Save as SaveIcon\n} from '@material-ui/icons'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { Formik, Form, Field } from 'formik'\nimport { useParams } from 'react-router-dom'\nimport useSWR, { useSWRConfig } from 'swr'\n\nimport { TextField, Button, Snackbar, Map } from 'components'\nimport { locationScheme } from 'schemas'\nimport { usePost } from 'hooks'\nimport { formatDate } from 'utils'\nimport { mapConfig } from 'config'\n\nconst { initialValues, schema } = locationScheme\n\nfunction Detail() {\n const { id } = useParams()\n const [isEditable, setIsEditable] = useState(false)\n const { cache } = useSWRConfig()\n const cachedLocation = cache\n ?.get('location/all')\n ?.find((location: Object) => Number(location?.id) === Number(id))\n const { data, error: getError, mutate } = useSWR(`location/${id}`, {\n fallbackData: cachedLocation\n })\n const getLoading = !data && !getError\n const {\n post,\n isError: postIsError,\n loading: postLoading,\n error: postError\n } = usePost()\n const [loadingCurrentLocation, setLoadingCurrentLocation] = useState(false)\n const [geolocation, setGeolocation] = useState(null)\n const geolocationLocation = navigator?.geolocation\n const geography = geolocation\n ? {\n type: 'Point',\n coordinates: [geolocation.lng, geolocation.lat]\n }\n : null\n\n const onMapClick = (value: Object) => {\n setGeolocation({\n lat: value.lat,\n lng: value.lng\n })\n }\n\n const handleShowCurrentLocation = () => {\n if (geolocationLocation) {\n setLoadingCurrentLocation(true)\n geolocationLocation.getCurrentPosition((position: Object) => {\n const { latitude: lat, longitude: lng } = position.coords\n setGeolocation({\n lat,\n lng\n })\n setLoadingCurrentLocation(false)\n })\n }\n }\n\n useEffect(() => {\n if (!data) {\n return\n }\n\n const geolocation = data?.geolocation\n\n if (geolocation) {\n setGeolocation({\n lng: geolocation?.coordinates?.[0],\n lat: geolocation?.coordinates?.[1]\n })\n }\n }, [data])\n\n if (getLoading) {\n return (\n \n } />\n \n \n \n \n \n \n )\n }\n\n if (getError) {\n return (\n \n \n {getError}\n \n \n )\n }\n\n return (\n <>\n \n\n \n post(\n 'location/update',\n {\n ...values,\n geolocation: geography\n },\n () => {\n mutate()\n setIsEditable(false)\n }\n )\n }\n >\n {({\n errors,\n touched,\n resetForm,\n values\n }: {\n errors: Object,\n touched: Object,\n resetForm: Function,\n values: Object\n }) => {\n return (\n
\n \n {\n resetForm({ ...initialValues, ...data })\n setIsEditable(false)\n }}\n startIcon={}\n >\n Cerrar\n \n ) : (\n setIsEditable(true)}\n startIcon={}\n >\n Editar\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 {isEditable && (\n \n }\n >\n Guardar\n \n \n )}\n \n
\n )\n }}\n \n \n )\n}\n\nexport default Detail\n","// @flow\nimport React from 'react'\nimport { Switch } from 'react-router-dom'\n\nimport Add from './Add'\nimport List from './List'\nimport Details from './Details'\nimport NoMatch from 'screens/NoMatch'\nimport { CustomRoute } from 'components'\n\nfunction ClientsRouter() {\n return (\n \n \n \n\n \n\n \n \n )\n}\n\nexport default ClientsRouter\n","// @flow\nimport React from 'react'\nimport { Switch } from 'react-router-dom'\n\nimport Clients from 'screens/Clients'\nimport Loans from 'screens/Loans'\nimport Payments from 'screens/Payments'\nimport Users from 'screens/Users'\nimport Profile from 'screens/Profile'\nimport Welcome from 'screens/Welcome'\nimport Locations from 'screens/Locations'\nimport NoMatch from 'screens/NoMatch'\nimport { CustomRoute, Drawer } from 'components'\n\nfunction Home() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default Home\n","// @flow\nimport React from 'react'\nimport { BrowserRouter as Router, Switch } from 'react-router-dom'\n\nimport Login from 'screens/Login'\nimport Home from 'screens/Home'\nimport NoMatch from 'screens/NoMatch'\nimport { CustomRoute } from 'components'\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n )\n}\n\nexport default App\n","// @flow\nimport React from 'react'\nimport { CssBaseline } from '@material-ui/core'\nimport { ThemeProvider } from '@material-ui/styles'\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers'\nimport MomentUtils from '@date-io/moment'\nimport { SWRConfig } from 'swr'\n\nimport 'config/moment'\nimport { theme, alertConfig } from 'config'\nimport { fetch } from 'api'\n\nimport App from 'screens'\n\nfunction Root() {\n if (alertConfig.alertMessage) {\n alert(alertConfig.alertMessage)\n }\n\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nexport default Root\n","/* eslint-disable */\n\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.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n)\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.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 .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","// @flow\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport './index.css'\nimport App from './App'\nimport * as serviceWorker from './serviceWorker'\n\nconst root = document.getElementById('root')\n\nif (root !== null) {\n ReactDOM.render(, root)\n}\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":""}