{"version":3,"sources":["assets/img/isologo.png","assets/img/repuestos.png","store/actions/types.js","store/reducers/AuthReducer.js","store/store.js","utilitarios/localStorage.js","constants/Constants.js","utilitarios/util.js","utilitarios/device.js","store/provider/AuthProvider.js","assets/icons/iconSvg.js","constants/Colors.js","components/reusable/global/NavMenu.js","components/reusable/global/NavLogin.js","assets/icons/svgIcon.js","service/ServiceManager.js","store/sagas/utilApi.js","store/sagas/authApi.js","components/reusable/global/Footer.js","components/Layout.js","components/reusable/Loader.js","components/Auth/Login.js","components/Auth/LineaNegocio.js","components/Auth/RazonSocial.js","components/Auth/VerificarCorreo.js","components/Auth/IngresarContrasenia.js","components/RecoverPassword/Index.js","components/RecoverPassword/VerificarCorreo.js","components/RecoverPassword/NuevaContrasenia.js","components/Auth/SolicitarAcceso.js","store/sagas/favoritoApi.js","store/sagas/carritoApi.js","components/reusable/CardPrecios.js","components/reusable/modals/AddCart.js","components/reusable/charts/BarChartPedidoMes.js","components/reusable/modals/ImageZoom.js","components/reusable/modals/Compatible.js","components/reusable/TooltipLeyenda.js","components/reusable/BtnCompatible.js","components/General/Dashboard.js","store/sagas/dashboardApi.js","components/reusable/Pagination.js","components/General/Notificaciones.js","store/sagas/alertaApi.js","store/sagas/pedidoApi.js","components/Pedidos/GenerarPedidoMasivo.js","components/reusable/CounterInput.js","components/reusable/modals/Reemplazar.js","components/reusable/modals/kit.js","components/Pedidos/PedidoMasivo.js","components/reusable/modals/ImageZoom2.js","components/reusable/CardPrecioOferta.js","components/Pedidos/GenerarPedido.js","components/Pedidos/GenerarPedidoDesktop.js","components/Pedidos/BuscadorCodigo.js","components/Pedidos/BuscadorVehiculo.js","components/Pedidos/Repuestos.js","components/reusable/modals/ModalLimpiarCarrito.js","components/reusable/modals/ModalConfirmarCarrito.js","components/Carrito/Listado.js","components/reusable/modals/SinStock.js","components/Carrito/Ofertas.js","components/Carrito/Envio.js","store/sagas/transportistaApi.js","components/Carrito/Transportistas.js","components/Carrito/MedioPago.js","components/Carrito/ResumenPedido.js","components/Carrito/PedidoFinalizado.js","components/Perfil/Index.js","store/sagas/perfilApi.js","components/Perfil/CambiarContrasenia.js","components/Perfil/Locales.js","components/Perfil/Dispositivos.js","components/Perfil/Transportistas.js","components/General/PedidoSugerido.js","components/General/PrePedidos.js","components/General/ListaDeseos.js","components/Catalogo/ProductosVendidos.js","components/Catalogo/Ofertas.js","components/HistorialPedidos/Listado.js","components/HistorialPedidos/DetallePedido.js","components/HistorialPedidos/Tracking.js","store/sagas/estadoCuentaApi.js","components/EstadoCuenta/Listado.js","components/EstadoCuenta/Detalle.js","components/Bonificaciones/Index.js","store/sagas/bonificacionApi.js","components/Bonificaciones/Bonificacion.js","components/Bonificaciones/Grafico.js","store/sagas/catalogoApi.js","components/Ayuda/PreguntasFrecuentes.js","components/Ayuda/Incidente.js","components/Ayuda/Requerimientos.js","components/General/EliminarCuenta.js","store/sagas/dealerApi.js","components/reusable/ValorCriterio.js","components/reusable/SelectRuc.js","components/Vehiculos/General/Dashboard.js","components/Vehiculos/General/RepresentanteVenta.js","components/Ayuda/Sugerencias.js","App.js","registerServiceWorker.js","index.js","assets/img/product.png","assets/img/img-ln.png","assets/img/Bcp_logo.png","assets/img/Scotiabank_logo.png","assets/img/BBVA_logo.png","assets/img/logo-1.png"],"names":["module","exports","initialState","email","password","codigoDispositivo","AuthReducer","state","arguments","length","undefined","action","type","data","rootReducer","combineReducers","authReducer","configureStore","createStore","saveStorage","nombreStorage","localStorage","setItem","error","getStorage","value","getItem","removeStorage","removeItem","localStorageCustom","constructor","props","this","token","usuario","saveAlerta","alerta","JSON","stringify","then","catch","Error","getAlerta","parse","saveToken","getToken","removeToken","saveLineaNegocio","linea","getLineaNegocio","saveUsuario","getUsuario","saveRazonSocial","razonssocial","getRazonSocial","removeUsuario","isSmallDevice","LineaRepuestos","Linea2R","Linea3R","PerfilLinea","Repuestos","Vehiculo2R","Vehiculo3R","MensajeSinProducto","EDispositivo","enviroment","PreguntasFrecuentes","Incidentes","PageSize","PageSizeVehiculos","BuscadorCodigoLongitud","PageSizeOfertaCarrito","PageSizePedidoSugerido","PageSizePedidoSugeridoMax","PageSizeOfertas","PageSizeToAlerta","PageSizeAlerta","PageSizeRepuestos","PageSizeBuscadorCodigo","PageSizeFavorito","PageSizePaginator","Sistema","PrecioOfe","PrecioFin","PrecioPub","MedioPago","Deposito","PrePedido","FiltroPedito","ComboAnio","ComboModelo","ComboVehiculo","Pantalla","Dashboard","Ofertas","BuscarPedidoCodigo","Producto","Destacado","Vendido","Reemplazo","Etiqueta","GenerarPedido","BuscarPedidoVehiculo","Repuesto","BuscarMasivo","Favoritos","HistorialPedido","Traking","Detalle","General","PedidoSugerido","Catalogo","ProductosVendidos","Carrito","Sustituto","PedidoFinalizado","screen","Login","Header","Drawer","Notificaciones","PedidoMasivo","Perfil","HistorialPedidos","Bonificacion","Ayuda","EstadoPedido","Anulado","EnPreparacion","Entregado","Expirado","Pagado","PorPagar","Procesado","Facturado","Despachado","Todos","EstadoCuenta","DocumentoPendientePago","DepositoPendienteAplicar","FacturaAnticipo","async","notificacion","titulo","mensaje","fn_caseIsOk","Alert","fire","title","html","showCancelButton","confirmButtonText","allowOutsideClick","result","numberWithCommas","number2","toFixed","test","replace","toString","includes","getStatePage","history","pathname","location","prototype","device","Mac","getMacCookie","cookieMAC","document","cookie","split","filter","x","map","key","trim","find","fn","CorreoElectronico","SO","Browser","res","mo","dto","listMessage","join","AuthContext","React","createContext","AuthProvider","userToken","setuserToken","useState","carritoProdctos","setcarritoProdctos","userRazonSocial","setuserRazonSocial","userApellidoNombre","setuserApellidoNombre","userCorreo","setuserCorreo","dealerAlertas","setdealerAlertas","setCodigoDispositivo","isLoggedIn","setIsLoggedIn","hideNav","setHideNav","mostrarOfertas","setmostrarOfertas","localEnvio","setLocalEnvio","getStorageToken","useEffect","createElement","Provider","children","IconLogo","className","width","height","viewBox","fill","d","CurveTop","CurveBottom","CurveSmall","IconBack","xmlns","stroke","strokeWidth","fillRule","clipRule","IconHome","IconStar","IconCampana","IconCarrito","IconMenu","strokeLinecap","strokeLinejoin","IconClose","IconChart","clipPath","id","transform","IconOferta","IconArrowRight","IconArrowLeft","IconTrofeo","IconList","IconList2","IconListCheck","IconTag","IconAddCart","IconCart","IconReloj","IconClip","IconAddFile","IconTrash","IconTrash2","IconRefresh","IconCodigo","IconMoto","IconLupa","IconLeft","IconRight","IconBottom","IconTop","IconDownloadFile","IconEnvio","IconLocal","IconPago","IconEdit","Iconcheck","IconInfo","IconUser","IconMail","IconMail2","IconLock","IconLockEye","IconPhone","IconPhone2","IconCodCli","IconEye","IconEyeClose","IconFolder","IconDots","IconLike","IconMoneda","IconVerified","IconHelp","IconExit","IconTable","IconFoco","y","rx","IconWarning","IconCompatible","cx","cy","r","IconBirthday","fill-rule","clip-rule","IconAlert","IconCamera","IconFoco2","IconHappy","IconLocation","IconMaleta","IconPhone3","IconSupervisor","IconDesktop","IconKit","fillOpacity","SvgAssets","icon","Element","rojo","rojoClaro","verde","verdeClaro","naranja","celeste","celesteClaro","morado","grisMedio","grisClaro","grisOscuro","azulClaro","azul","amarillo","MoradoOscuro","grisMedioClaro","naranjaClaro","LISTADO","class","color","c","list","name","VEHICULO_LISTADO","OpcionMenu","_ref","dadComponent","perfilVehiculos","optionsItem","collapseItem","item","index","push","onClick","setState","ToggleCollapseItem","style","Link","to","toggleNavbar","toggleDropdown","Collapse","isOpen","subOption","i","_ref2","auth","cerrarSession","collapsed","Button","borderColor","href","marginTop","e","preventDefault","NavMenu","Component","super","dropdownOpen","toggleModalAlertAsk","fn_accept","text","cancelButtonText","askNotificacion","context","window","collapsed2","innerWidth","authHeader","renderHeader","componentDidUpdate","getElementsByTagName","overflow","console","log","Navbar","fixed","NavbarBrand","tag","src","require","NavItem","NavLink","activeClassName","UncontrolledDropdown","DropdownToggle","nav","DropdownMenu","right","fechaHace","fecha","hora","DropdownItem","padding","display","justifyContent","margin","Dropdown","toggle","render","_NavMenu","displayName","contextType","NavMenuAuth","Container","step","ArrowRight","_ref3","ArrowBack","_ref4","_ref5","_ref9","_ref10","IconCorreo","_ref14","_ref15","_ref16","IconEyeLock","_ref17","_ref19","_NavMenuAuth","axios","qs","baseURL","DEV","PROD","baseInstanceAxios","create","timeout","isAxiosHandlerEnabled","config","Object","hasOwnProperty","call","handlerEnabled","requestAxiosHandler","request","headers","interceptors","use","response","status","statusText","successAxiosHandler","message","description","Promise","reject","errorAxiosHandler","ServiceManager","Get","params","url","urlIsRelative","get","Post","post","getDevice","login","Contrasenia","DispositivoId","getTyC","recuperarAcceso","validarCodigoAcceso","CodigoVerificacion","activarAcceso","CodigoActivacion","cambiarContrasenia","DispositivoDealer","CodigoDealer","Footer","loadInBrowser","open","tyc","postTyC","loading","urlTyC","_error$message","componentDidMount","_Footer","Layout","validateState","bind","isLoggedInChange","prevProps","prevState","toLowerCase","listen","classWrapper","path","_Layout","Loader","IS_VISIBLE","visible","Spinner","putEmail","currentTarget","errorValidacion","putPassword","postLogin","storageGeneral","dealer","asociado","razsocialSocial","LineaNegocio","signIn","postValidLogin","OS","OSVersion","BrowserVersion","Platform","descripcion","validuserlogin","solicitudCuenta","estadoSolicitudId","nextStep","estadoSolicitud","_error$message2","_error$message3","pswChanged","hidePassword","checkCookie","backStep","setCookie","cname","cvalue","exdays","Date","setTime","getTime","expires","toUTCString","getCookie","ca","decodeURIComponent","charAt","substring","indexOf","code","generarInicioMAC","newCode","cookieGenerated","checkParams","validPswChanged","validStep","changeIcon","Bienvenida","IngresarEmail","FormGroup","marginBottom","Input","placeholder","onChange","onKeyUp","keyCode","FormFeedback","disabled","IngresarPassword","renderStep","_Login","IrLogin","seleccionarLinea","postLineaNegocio","lineasNegocio","getLineasNegocio","LineasNegocio","navigation","f","backgroundColor","htmlFor","icono","nombreLinea","_LineaNegocio","RazonSocial","seleccionarAsociado","_asociado","postAsociado","razonsSocial","codcliente","codigoDealer","correoElectronico","ListarLocalesServicio","postRazonSocialAsociados","originalcodcliente","vkorg","canal","sector","getRazonSocialAsociados","asociados","razonSocial","ToggleCollapse1","collapse1","ToggleCollapse2","collapse2","lineaNegocio","Row","Col","md","xs","ruc","checked","region","background","_RazonSocial","VerificarCorreo","load","input1","input2","input3","input4","ActivarContrania","_this$state$input","_this$state$input2","_this$state$input3","_this$state$input4","verificacion","postValidarCodigoAcceso","setInput1","nextComponent","focus","setInput2","prevComponent","setInput3","setInput4","postSolicitarNuevoCodigo","solicitarNuevoCodigo","codigoVerificacion","TextInput1","createRef","TextInput2","TextInput3","TextInput4","alertTitulo","alertMensaje","maxLength","ref","input","_VerificarCorreo","IngresarContrasenia","password1","password2","ActivarAcceso","postActivarAcceso","setPassword1","setPassword2","hidePassword1","hidePassword2","icon1","icon2","showAlert","alertOptions","changeIcon1","changeIcon2","SendEmail","setEmail","onKeyPress","which","RecuperarContrasenia","Message","Entendido","_IngresarContrasenia","_email","postRecuperarAcceso","scrollTo","_RecuperarContrasenia","RCVerificarCorreo","textDecoration","_RCVerificarCorreo","NuevaContrasenia","togglePassword1","togglePassword2","terminos","errors","cel","errorCelular","errorRuc","errorsGeneral","attrInput","invalid","attrInputRuc","attrInputCel","assign","target","onKeyup","maxlength","setRuc","setCel","setTerminos","postSolicitarAcceso","_NuevaContrasenia","SolicitarAcceso","_this","toggleModalAlert","re","de","strEmail","strRuc","strCel","flag","Ruc","Celular","solicitarAcceso","backgroundImage","_SolicitarAcceso","AgregarProductoFavorito","producto","AplicaFavorito","codigo","moneda","centro","pantalla","almacen","EliminarProductosCarritoPedido","Dealer","Linea","Asociado","LocalId","PedidoId","Deleted","poblacion","ListarMaterialSustituto","Matnr","BuscarCarritoPedido","cdvped","AgregarProductoPedido","precioOferta","precioPublico","precioFinal","cantidadOriginal","unidadMedida","AgregarNuevoProductoPedidoMasivo","Productos","ListaProductos","Codigo","Descripcion","CantidadOriginal","UnidadMedida","CorreoElectronicoDealer","Almacen","Canal","Centro","Moneda","Vkorg","Sector","CardPrecios","getClassNameForPrice","tipo","fontFamily","textDecorationLine","getValueForPrice","precios","escalas","cantidad","precioStr","scala","p","cantdesde","canthasta","PVP","num","decimalPlaces","Math","round","Number","porcdesc","precio","ModalReemplazo","dataToCard","VISIBLE","addToCart","CARRITO_MODAL","TOGGLE_MODAL","Modal","returnFocusAfterClose","centered","backdrop","ModalHeader","ModalBody","cursor","toggleModalZoom","pathI","flagKit","toggleModalKit","App","__DATA__","distance","colors","svg","ModalImageZoom","modalZoom","IMAGE","imgZoom","InnerImageZoom","zoomSrc","ModalCompatible","_dadComponent$state$d","texto","modalCompatible","ITEMS","dataCompatible","ListGroup","flush","ListGroupItem","submodelo","Example","UncontrolledTooltip","placement","BtnCompatible","IdInput","CardOferta","event","eventFavorito","zoom","compatible","maktx","matnr","mensajeCompatible","waers","favorito","indice","pOfe","pPub","pFin","waersS","meins","precioPVD","precioPVP","goToTabHistorial","barCodEstado","img","toggleModalCompatible","showModalCart","showCarrito","setTimeout","formatTimeByOffset","dateString","offset","year","slice","month","day","hour","minute","second","dateObject","currentHours","getHours","setHours","apellnombres","postGetData","next","slider","slickNext","previous","slickPrev","postAgregarProductoFavorito","_data","ofertaMes","postAgregarProductoPedido","switchPill","_dashboards","dashboards","pillActive","dataTab","startMetas","startClock","setActiveSlide","activeSlide","getData","alertas","time","timeUnitsBetween","fechaVencimientoMeta","timePedido","chartEstadosPedido","fechaVencimientoPedido","pedidoMes","cronometroMeta","cronometroPedido","flagVisible","montoPagado","fechaActual","toLocaleString","timeZone","days","hours","minutes","LABELSMETA","innerHeight","label","activeBarColor","labelColor","montoPorPagar","saldo","endDate","fechaPerustring","getFullYear","getMonth","getDate","getMinutes","getSeconds","startDate","delta","abs","isNegative","reduce","acc","floor","flagMeta","flagPedido","setInterval","validateTokenExpired","dataToken","jwt","timeSpan","nbf","fechaExpired","fechaExpiredUpdate","setDate","tokenIsValid","flex","tituloPrincipal","tituloMeta","montoMetStr","lg","GaugeChart","arcsLength","arcPadding","arcWidth","hideText","textColor","left","montoPagStr","montoPorStr","saldoCumStr","minimumIntegerDigits","tituloPedido","BarchartPedidos","dataEstadosPedido","estado","TooltipLeyenda","position","top","Slider","dots","infinite","arrows","speed","slidesToShow","slidesToScroll","carousel","ModalAddCart","componentWillUnmount","clearInterval","_Dashboard","Pagination","setDisabled","pageNumber","currentPage","pageSize","size","pages","totalPage","current","page","postAlertas","Region","Pagenumber","getAlertas","topalertas","setPage","change","_currentPage","form","nro","getDataFiltros","ETipoFiltro","Anio","Modelo","BuscarSistemaPrincipal","Linkpdf","Poblacion","BuscarPedidoMasivo","PageNumber","file","format64","BuscarCodigoDescripcionPrincipal","IMaterial","toUpperCase","BuscarKit","BuscarCodigoDescripcion","ListarDetallePedido","kunnr","ListarTrakingPedido","serie","numer","BuscarPedidoSugerido","Dest","Pobla","Waers","PageZise","BuscarProductoOfertas","Werks","sistema","_Notificaciones","GenerarPedidoMasivo","postBuscarProductos","postBuscador","pickDocument","files","errorMessage","reader","FileReader","onload","fileBase64","readAsDataURL","err","pedidoMasivo","repuestos","datosBuscador","isEditable","aria-describedby","getElementById","click","_GenerarPedidoMasivo","CounterInput","container","bg","vertical","counter","String","eventCounter","parseInt","tab","aria-hidden","modal","reemplazo","isVisible","HIDE_MODAL","dataReemplazo","paddingRight","idInput","seleccionarReemplazo","sWaers","precioTotal","flexDirection","postAgregarProductoReemplazoFavorito","setCounterReemplazo","ejectarReemplazo","ModalKit","_dadComponent$state","detalleKit","modalKit","kitNombre","kit","sm","canti","Pills","setCounter","postEliminarBuscador","alignSelf","pathImage","ProductosSinStock","MostrarReemplazo","sustituto","postBuscarKit","ind","dataFilter","prod","_dataReemplazo","_error$message4","_isVisible","_producto","pfin","productoReem","old","_error$message5","CerrarReemplazo","IrGeneradorPedidoMasivo","navigate","switchCards","showDetails","maerialSustituto","_error$message6","showModalReemplazar","validaStok","maxWidth","addPedidos","_error$message7","_PedidoMasivo","ModalImageZoom2","listImgRepuestos","listImgZoom","settings","Array","isArray","CardPrecioOferta","CardResultado","modelos","fotos","wordBreak","Fragment","poferta","plista","pFinal","CardRepuestos","linkimg","sistemaweb","ProductoDestacado","tipoBuscador","pfinal","ProductoVendido","pdf","getAnios","filtroAnio","filtro","getFiltros","FlagCargarDatos","filtroModelo","filtroVehiculo","errorVehiculo","selectedVehiculo","selectedVehiculoValue","indexPage","dataResult","isSearch","destacados","productosDestacados","catalogo","linkpdf","selectedVehiculoValueOriginal","_repuestos","_destacados","_vendidos","vendidos","postBuscarCodigoDescripcionPrincipal","textBuscador","productosMasComprados","postBuscarCodigoDescripcion","textBuscadorOri","_error$message8","setPageDescripcion","setPageVehiculo","postBuscarSistema","setFiler","selectedAnioValue","selectedModeloValue","isButton","_textBuscador","_error$message9","loadIrRepuestos","Linkimg","Pagina","pagina","Sistemaweb","isMobile","errorCodigo","parametro","_dataResult$repuestos","component","setText","IrBuscar","itemValue","itemIndex","setSelectedValue","estad","card","SLIDER_DESTACADOS","SLIDER_COMPRADOS","variableWidth","seleccionarBuscador","readOnly","dataParametro","_GenerarPedido","GenerarPedidoDesktop","slider_destacados","_GenerarPedidoDesktop","marginRight","BuscadorCodigo","IrBuscador","setActiveSlidePD","activeSlidePD","setActiveSlidePV","activeSlidePV","films","query","findFilm","SLIDER_VENDIDOS","regex","RegExp","film","search","_BuscadorCodigo","BuscadorVehiculo","postBuscarSistemaPrincipal","BuscarSistema","_BuscadorVehiculo","codmaterial","precio1","precio2","precio3","textAlign","figura","alignItems","bottom","loadIrBuscador","postListarSistemaRepuestos","VKorg","ListarSistemaRepuestos","sistemaRepuestos","showSistema","imagen","_Repuestos","ModalLimpiarCarrito","option","toggleCheck","toggleLimpiar","toggleAceptar","ModalConfirmarCarrito","MENSAJE","postActualizarStockPorLimites","CardStock","postActualizarStock","eventEliminar","Badge","validaStokStr","precioSubTotal","idPk","CardSinStock","eventReemplazo","mensajeLlegada","toggleModalAlertLimpiar","close","show","toggleOptionModalAlertLimpiar","productos","showModalLimite","productosLimite","m","mensajeSaldo","ProductoId","Cantidad","ActualizarStockPorLimitesProductoCarritoPedido","localId","pedidoId","productosCantidad","t","_sinStock","isEmpty","mensajeTotal","datosTotal","total","sinStock","postEliminarProductoCarritoPedido","productoId","EliminarProductoCarritoPedido","postLimpiarCarritoPedidoDemanda","sinStockId","postLimpiarCarritoPedido","toggleModalAlertLimite","IrDashboard","postBuscarCarritoPedido","pofe","ppub","RegistrarMaterialSustituto","_reem","IrOfertas","datosProductos","ActualizarStockProductoCarritoPedido","_productos","_total","_error$message10","procedencia","goBack","marginLeft","minimumFractionDigits","_Carrito","ModalSinStock","addStock","oferta","subTotal","CarritoOfertas","dataS","productosSinStock","TOTAL_REGISTROS","postBuscarProductoOfertas","IrListado","IrCarritoEnvio","searchProductos","productosOfertas","_productosOfertas","AgregarProductoCarrito","totalPorCantidad","_datosTotal","_datosProductos","_CarritoOfertas","CardEnvio","seleccionarLocal","local","localSel","ultimoPedido","alias","direccion","CarritoEnvio","IrTransportistas","datosLocal","LOCAL_SESION","perfil","locales","_local","getTransportista","_CarritoEnvio","Transportistas","toggleModal","isActiveModal","toggleModal2","isActiveModal2","IrMedioPago","rpta","errorDni","con","contacto","recojoOtro","dni","telef","nombre","nom","ape","transportista","recojo","transporte","storage","_result$dto$transport","_result$dto$transport2","_result$dto$transport3","contactos","recojos","transportes","showOtros","setTransporte","setRecojo","setContacto","setOtro","handledataDni","codap","handledataNombre","handledataApellidos","handledataTelefono","showModal","showModal2","acumulado","_datosLocal","_recojoOtro","bloqueo","name1","enable","codrec","desrec","lifnr","_Transportistas","CarritoMedioPago","IrEnvio","medioPago","listaBancos","postMedioPago","postCrearPrePedido","CrearPrePedido","seleccionarMedioPago","_CarritoMedioPago","ResumenPedido","IrPago","IrTransportista","UrlTyC","FechaEstimadoPago","fechaEstimadoPago","FechaEstimadoEntrega","fechaEstimadoEntrega","ahorroAcumulado","obj","postResumenPedido","dataSinStock","CrearPedido","pedido","eStPed","datosPedido","toggler","_ResumenPedido","pedidos","_datosPedido","pedidosStr","horaStr","diaStr","mesStr","anioStr","vbeln","fecmpStr","hormpStr","importeStr","_PedidoFinalizado","postContraseniaActual","_correoElectronico","postLocales","_locales","postTransportista","postDispositivos","dispositivos","_dispositivos","pointerEvents","traspor","CurrentPassword","showError","currentPwd","viewPassword1","viewPassword2","showErrorConfirmar","showErrorConfirmarCurrent","errorValidacionConfirmarCurrent","validarContrasenia","setPassword","toggleCurrentPassword","NuevaContraseña","updateContrasenia","_Perfil","CambiarContrasenia","validarContrasenias","valido","dispositivoDealer","_CambiarContrasenia","ModalEdit","modalEdit","ShowModalEdit","setAlias","ActualizaLocal","Locales","searchLocal","textData","newData","itemData","itemDireccion","itemReferencia1","referencia1","itemReferencia2","referencia2","localesFiltrados","postLocal","postListarLocal","ListarLocal","Alias","setLocal","ids","_localesFiltrados","_Locales","Dispositivos","toggleTooltip","showTooltip","postEliminar","Id","EliminarDispositivo","dispositivoActual","MI_DISPOSITIVO","fechaAccesoStr","Tooltip","trigger","dispositivoId","_Dispositivos","TransportistasPerfil","_TransportistasPerfil","dato","postFiltroBuscarPedidoSugerido","postMostrarSoloVisibles","selectedLocal","buscarEliminado","eliminado","pedidosSugeridoEliminados","restarTotal","totalPagar","filtroLocal","pedidosSugerido","pedidosSugeridoAgregar","TotalRows","Total","eliminarProducto","sTotalPagar","FiltroBuscarPedidoSugerido","postBuscarPedidoSugerido","setFilter","totalRows","nuevaLista","arr","stotal","item2","_PedidoSugerido","PrePedidos","postBuscarPrePedido","searchPedido","prepedidos","prepedidosFiltrados","IrCarrito","AbrirPrePedido","BuscarPrePedido","prePedidos","fechaCorta","_PrePedidos","Card","ListaDeseos","postListarProductoFavorito","pageindex","ListarProductoFavorito","_page","minHeight","_ListaDeseos","CardProduct","dataIndex","productosMasCompradosFiltrados","findIndex","itemDescripcion","postBuscarProductoMasComprado","BuscarProductoMasComprado","_ProductosVendidos","postListarOfertasTop","_Ofertas","CardPedido","estadoPedido","setDetallePedido","setTracking","colorCard","impor","fechaPedido","street","tipod","historialPedidos","historialPedidosFiltrados","postListarEstadosPedido","cliente","correo","Tipo","ListarEstadosPedido","estados","listaEstados","setTabIndex","postListarHistorialPedido","Estado","ListarHistorialPedido","historialPedido","postListarHistorialPedidoTodos","Pedido","ListarHistorialPedidoTodos","tabIndex","detallePedido","detalle","setDetallePedidoTracking","resultDetalle","resultTracking","trackingPedido","trakingPedido","trakingDetalle","getBackGroundColorForTab","getColorForTab","validEstado","pill","backgroundColorPill","colorPill","nomEstad","codEstad","_HistorialPedidos","DetallePedido","colorestado","ultimo","hex","loadFactura","backColor","borderRadius","direc","lenght","subto","minWidth","fontSize","_DetallePedido","Tracking","postGetPdfPedido","codigoPedido","GetPdfFilePedidoPedido","urlPdf","traking","tituloFecha","fechaVencimiento","urlFactura","flagUrlFactura","nomFactura","PdfEstadoCuenta","Gjahr","Bukrs","Monat","_Tracking","postFiltroEstadoCuenta","FiltroEstadoCuenta","saludo","filtroEstadoCuenta","etAnios","etPeriodo","postBuscarEstadoCuenta","BuscarEstadoCuenta","anio","estadoCuenta","etResumen","periodo","downloadPDF","postPdfEstadoCuenta","selectedAnio","anioActual","mesActual","mes","setEstadoCuentaDetalle","_EstadoCuenta","EstadoCuentaDetalle","collapse","fillActive","totalCuenta","estadoCuentaCollapse","cuenta","codig","glosa","importe","UncontrolledCollapse","docum","xblnr","dia","_EstadoCuentaDetalle","Bonificaciones","postBuscarMetaBonificacion","BuscarMetaBonificacion","metasBonificaciones","_metasBonificaciones","sMontoM","sMontoR","sPorCum","setGraficoBarras","nomMes","porCum","setBonificacion","BuscarMaterialPromo","materialPromo","_Bonificaciones","materialPromoI","materialPromoD","medio","_Bonificacion","BonificacionGrafico","dataChart","reverseArray","array","arrayInverso","labels_char","data_char","data_char_montoM","sort","a","b","monat","montoR","montoM","CHAR_DATA","labels","datasets","borderWidth","hoverBackgroundColor","hoverBorderColor","tension","Bar","getCatalogo","TipoCatalogo","PerfilCodigo","_BonificacionGrafico","collapseIndex","ToggleCollapse","respuesta","getPreguntas","preguntas","listDto","correoAtencionCliente","telefono","telefonoAtencionCliente","Step1","Step2","Step3","incidentes","errorValidacopn","setIncidente","rows","RegistrarIncidente","Step4","_PreguntasFrecuentes","Incidente","postIncidentes","getIncidentes","Comentario","IncidenteId","RegistrarRequerimiento","_Incidente","Requerimientos","postRequerimiento","Requerimiento","Reclamo","setRequerimiento","selected","seleccionarOpcion","check","finish","postRegistrarBaja","_Requerimientos","EliminarCuenta","postListarDataOpciones","Baja","registrarBaja","listarOpcionesBaja","dataBajas","opciones","_EliminarCuenta","ValorCriterio","ACTIVE","active","CONTAINER_STYLE","containerStyle","VALUE","SelectRuc","_SelectRuc","WIDTH","LineaCredito","CierreMes","VehiculoDashboard","sliderVbox","responsive","breakpoint","nrOfLevels","cornerRadius","needleColor","needleBaseColor","Progress","RepresentanteVenta","textSugerencia","validation","longMax","long","postSugerencia","useHistory","Sugerencias","botonEnviar","strMensaje","entidad","AliasSugerencia","RegistrarSugerencia","store","CarritoSwitch","useRouteMatch","Switch","Route","exact","_App","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","baseUrl","getAttribute","rootElement","createBrowserHistory","ReactDOM","BrowserRouter","basename","Router","URL","process","origin","addEventListener","fetch","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.1f33d537.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/repuestos.7b1df9b2.png\";","export const SIGN_IN = \"SIGN_IN\";\r\nexport const SIGN_OUT = \"SIGN_OUT\";\r\nexport const PUT_EMAIL = \"PUT_EMAIL\";\r\nexport const PUT_PASSWORD = \"PUT_PASSWORD\";\r\nexport const PUT_CODIGODISPOSITIVO = \"PUT_CODIGODISPOSITIVO\";","import { PUT_CODIGODISPOSITIVO, PUT_EMAIL, PUT_PASSWORD } from '../actions/types';\r\n\r\nconst initialState = {\r\n    email: \"\",//'ATACZA@ITERPCONSULTING.COM',\r\n    password: null,\r\n    codigoDispositivo: null\r\n}\r\n\r\nconst AuthReducer = (state = initialState, action) => {\r\n    switch (action.type) {\r\n        case PUT_EMAIL:\r\n            return {\r\n                ...state,\r\n                email: action.data.email\r\n            };\r\n        case PUT_PASSWORD:\r\n            return {\r\n                ...state,\r\n                password: action.data.password\r\n            };\r\n        case PUT_CODIGODISPOSITIVO:\r\n            return {\r\n                ...state,\r\n                codigoDispositivo: action.data.codigoDispositivo\r\n            };\r\n        default:\r\n            return state;\r\n    }\r\n}\r\n\r\nexport default AuthReducer;","import { createStore, combineReducers } from 'redux';\r\nimport authReducer from './reducers/AuthReducer';\r\n\r\nconst rootReducer = combineReducers({\r\n    authReducer\r\n})\r\n\r\nconst configureStore = () => createStore(rootReducer);\r\n\r\nexport default configureStore;","const storageToken = \"ss.tk\";\r\nconst storageUsuario = \"ss.us\";\r\nconst storageLineaNegocio = \"ss.li\";\r\nconst storageRazonSocial = \"ss.rz\";\r\nconst storageAlertas = \"ss.us.al\";\r\nconst saveStorage = (nombreStorage, data) => {\r\n    try {\r\n        localStorage.setItem(nombreStorage, data);\r\n    } catch (error) {\r\n        //console.log(\"saveStorage error:\", error);\r\n    }\r\n};\r\n\r\nconst getStorage = (nombreStorage) => {\r\n    try {\r\n        const value = localStorage.getItem(nombreStorage);\r\n        if (value !== null) {\r\n            return value;\r\n        }\r\n    } catch (error) {\r\n        //console.log(\"getStorage error:\", error);\r\n    }\r\n}\r\n\r\nconst removeStorage = (nombreStorage) => {\r\n    try {\r\n        const value = localStorage.removeItem(nombreStorage);\r\n        if (value !== null) {\r\n            //console.log(value);\r\n        }\r\n    } catch (error) {\r\n        //console.log(\"removeStorage error:\", error);\r\n    }\r\n}\r\n\r\nclass localStorageCustom {\r\n    constructor(props) {\r\n        this.token = \"\";\r\n        this.usuario = null;\r\n    }\r\n\r\n    saveAlerta(alerta = \"\") {\r\n        const nPromise =\r\n            saveStorage(storageAlertas, JSON.stringify(alerta))\r\n            .then(() => { this.alerta = alerta; })\r\n            .catch(error => {\r\n                throw new Error(\"saveAlerta error\" + error);\r\n            });\r\n        return nPromise;\r\n    }\r\n    getAlerta() {\r\n        let data = getStorage(storageAlertas);\r\n        return data == null ? null : JSON.parse(data);\r\n        // const nPromise =\r\n        //     getStorage(storageAlertas)\r\n        //     .then(alerta => {\r\n        //         if (alerta)\r\n        //             return JSON.parse(alerta);\r\n        //         else return null;\r\n        //     })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"getAlerta error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n\r\n    saveToken(token = \"\") {\r\n        saveStorage(storageToken, JSON.stringify(token));\r\n        this.token = token;\r\n        return token;\r\n        // const nPromise =\r\n        //     saveStorage(storageToken, JSON.stringify(token))\r\n        //     .then(() => { this.token = token; return token; })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"saveToken error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n    getToken() {\r\n        let data = getStorage(storageToken);\r\n        return data == null ? null : JSON.parse(data);\r\n        // const nPromise =\r\n        //     getStorage(storageToken)\r\n        //     .then(token => {\r\n        //         if (token)\r\n        //             return JSON.parse(token);\r\n        //         else return null;\r\n        //     })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"obtenerToken error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n    removeToken() {\r\n        removeStorage(storageToken);\r\n        this.token = \"\";\r\n        // const nPromise =\r\n        //     removeStorage(storageToken)\r\n        //     .then(() => { this.token = \"\"; })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"removeToken error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n    saveLineaNegocio(linea = \"\") {\r\n        saveStorage(storageLineaNegocio, JSON.stringify(linea));\r\n        this.linea = linea;\r\n        // const nPromise =\r\n        //     saveStorage(storageLineaNegocio, JSON.stringify(linea))\r\n        //     .then(() => { this.linea = linea; })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"saveLineaNegocio error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n    getLineaNegocio() {\r\n        let data = getStorage(storageLineaNegocio);\r\n        return data == null ? null : JSON.parse(data);\r\n        // const nPromise =\r\n        //     getStorage(storageLineaNegocio)\r\n        //     .then(linea => {\r\n        //         if (linea)\r\n        //             return JSON.parse(linea);\r\n        //         else return null;\r\n        //     })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"getLineaNegocio error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n    saveUsuario(usuario = \"\") {\r\n        saveStorage(storageUsuario, JSON.stringify(usuario));\r\n        this.usuario = usuario;\r\n        // const nPromise =\r\n        //     saveStorage(storageUsuario, JSON.stringify(usuario))\r\n        //     .then(() => { this.usuario = usuario; })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"saveUsuario error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n    getUsuario() {\r\n        let data = getStorage(storageUsuario);\r\n        return data == null ? null : JSON.parse(data);\r\n        // const nPromise =\r\n        //     getStorage(storageUsuario)\r\n        //     .then(usuario => {\r\n        //         if (usuario)\r\n        //             return JSON.parse(usuario);\r\n        //         else return null;\r\n        //     })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"getUsuario error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n    saveRazonSocial(razonssocial = \"\") {\r\n        saveStorage(storageRazonSocial, JSON.stringify(razonssocial));\r\n        this.razonssocial = razonssocial;\r\n        // const nPromise =\r\n        //     saveStorage(storageRazonSocial, JSON.stringify(razonssocial))\r\n        //     .then(() => { this.razonssocial = razonssocial; })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"saveRazonSocial error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n    getRazonSocial() {\r\n        let data = getStorage(storageRazonSocial);\r\n        return data == null ? null : JSON.parse(data);\r\n        // const nPromise =\r\n        //     getStorage(storageRazonSocial)\r\n        //     .then(razonssocial => {\r\n        //         if (razonssocial)\r\n        //             return JSON.parse(razonssocial);\r\n        //         else return null;\r\n        //     })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"getRazonSocial error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n    removeUsuario() {\r\n        removeStorage(storageUsuario);\r\n        this.usuario = null;\r\n        // const nPromise =\r\n        //     removeStorage(storageUsuario)\r\n        //     .then(() => { this.usuario = null })\r\n        //     .catch(error => {\r\n        //         throw new Error(\"removeUsuario error\" + error);\r\n        //     });\r\n        // return nPromise;\r\n    }\r\n}\r\nexport default localStorageCustom;","export const data = {\r\n  isSmallDevice: 600,\r\n  LineaRepuestos: \"RP\",\r\n  Linea2R: \"2R\",\r\n  Linea3R: \"3R\",\r\n  PerfilLinea: {\r\n    Repuestos: \"Repuestos\",\r\n    Vehiculo2R: \"Vehiculo2R\",\r\n    Vehiculo3R: \"Vehiculo3R\",\r\n  },\r\n  // EDispositivo: 'DEV',\r\n  MensajeSinProducto:\r\n    \"Usted no cuenta con productos en su carrito. Esto ocurrió porque: alguien eliminó el o los productos; o finalizó el pedido; o guardaron el pedido como un Pre-Pedido\",\r\n  EDispositivo: \"\",\r\n  enviroment: \"DEV\",\r\n  PreguntasFrecuentes: 1,\r\n  Incidentes: 2,\r\n  PageSize: 4,\r\n  PageSizeVehiculos: 12,\r\n  BuscadorCodigoLongitud: 5,\r\n  PageSizeOfertaCarrito: 5,\r\n  PageSizePedidoSugerido: 5,\r\n  PageSizePedidoSugeridoMax: 100,\r\n  PageSizeOfertas: 12,\r\n  PageSizeToAlerta: 2,\r\n  PageSizeAlerta: 10,\r\n  PageSizeRepuestos: 12,\r\n  PageSizeBuscadorCodigo: 12,\r\n  PageSizeFavorito: 12,\r\n  PageSizePaginator: 10,\r\n  Sistema: \"WEB\",\r\n  PrecioOfe: \"P_OFE\",\r\n  PrecioFin: \"P_FIN\",\r\n  PrecioPub: \"P_PUB\",\r\n  MedioPago: {\r\n    Deposito: 1,\r\n    PrePedido: 2,\r\n  },\r\n  FiltroPedito: {\r\n    ComboAnio: 1,\r\n    ComboModelo: 2,\r\n    ComboVehiculo: 3,\r\n  },\r\n  Pantalla: {\r\n    Dashboard: {\r\n      Ofertas: \"Dashboard.Ofertas\",\r\n    },\r\n    BuscarPedidoCodigo: {\r\n      Producto: \"BuscarPedidoCodigo.Resultado\",\r\n      Destacado: \"BuscarPedidoCodigo.Destacado\",\r\n      Vendido: \"BuscarPedidoCodigo.Vendido\",\r\n      Reemplazo: \"BuscarPedidoCodigo.Reemplazo\",\r\n      Etiqueta: {\r\n        GenerarPedido: \"Generar Pedido\",\r\n      },\r\n    },\r\n    BuscarPedidoVehiculo: {\r\n      Producto: \"BuscarPedidoVehiculo.Resultado\",\r\n      Repuesto: \"BuscarPedidoVehiculo.Repuesto\",\r\n      Destacado: \"BuscarPedidoVehiculo.Destacado\",\r\n    },\r\n    BuscarMasivo: {\r\n      Producto: \"BuscarMasivo.Resultado\",\r\n    },\r\n    Favoritos: {\r\n      Producto: \"Favoritos.Resultado\",\r\n    },\r\n    HistorialPedido: {\r\n      Traking: \"HistorialPedido.Traking\",\r\n      Detalle: \"HistorialPedido.Detalle\",\r\n    },\r\n    General: {\r\n      PedidoSugerido: \"General.PedidoSugerido\",\r\n    },\r\n    Catalogo: {\r\n      Ofertas: \"Catalogo.Ofertas\",\r\n      ProductosVendidos: \"Catalogo.ProductosVendidos\",\r\n    },\r\n    Carrito: {\r\n      Ofertas: \"Carrito.Ofertas\",\r\n      Sustituto: \"Carrito.Sustituto\",\r\n      Producto: \"Carrito.Producto\",\r\n      PedidoFinalizado: \"Carrito.PedidoFinalizado\",\r\n      Etiqueta: {\r\n        Ofertas: \"Ofertas\",\r\n      },\r\n    },\r\n  },\r\n  screen: {\r\n    Login: \"Login\",\r\n    Header: \"Header\",\r\n    Drawer: \"Drawer\",\r\n    Dashboard: \"Dashboard\",\r\n    Notificaciones: \"Notificaciones\",\r\n    PedidoMasivo: \"PedidoMasivo\",\r\n    GenerarPedido: \"GenerarPedido\",\r\n    Carrito: \"Carrito\",\r\n    Perfil: \"Perfil\",\r\n    HistorialPedidos: \"HistorialPedidos\",\r\n    Bonificacion: \"Bonificacion\",\r\n    Ayuda: \"Ayuda\",\r\n  },\r\n  EstadoPedido: {\r\n    Anulado: \"ANULA\",\r\n    EnPreparacion: \"ENPRE\",\r\n    Entregado: \"ENTRE\",\r\n    Expirado: \"EXPIR\",\r\n    Pagado: \"PAGAD\",\r\n    PorPagar: \"PORPA\",\r\n    Procesado: \"PROCE\",\r\n    Facturado: \"FACTU\",\r\n    Despachado: \"DESPA\",\r\n    Todos: \"0\",\r\n  },\r\n  EstadoCuenta: {\r\n    DocumentoPendientePago: \"DPP\",\r\n    DepositoPendienteAplicar: \"DPA\",\r\n    FacturaAnticipo: \"FDA\",\r\n  },\r\n};\r\n","// import { Alert } from \"react\";\r\nimport Alert from 'sweetalert2'\r\nimport jwt from 'jwt-decode'\r\nimport localStorageCustom from './localStorage'\r\nconst regexValidaCorreo = /^\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}\\b$/i;\r\nconst regexValidaOnlyText = /[A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00f6\\u00f8-\\u00ff]+/g;\r\n\r\nfunction val_isEmail(value) {\r\n  let regex = new RegExp(regexValidaCorreo);\r\n  return regex.test(value);\r\n}\r\n\r\nfunction val_isEmpty(value = \"\") {\r\n  let estado = true;\r\n  if (value)\r\n    if (value.toString().trim() != \"\") {\r\n      estado = false;\r\n    }\r\n  return estado;\r\n}\r\n\r\nfunction val_onlyLetter(value) {\r\n  let regex = new RegExp(regexValidaOnlyText);\r\n  return regex.test(value);\r\n}\r\n\r\nfunction parseIntEmpty(value = \"\") {\r\n  if (value === \"\" || value === NaN) return 0;\r\n  else return parseInt(value);\r\n}\r\n\r\nfunction replaceAll(str, find, replace) {\r\n  return str.replace(new RegExp(find, \"g\"), replace);\r\n}\r\nasync function notificacion(\r\n  titulo = \"Ups... La aplicación no responde\",\r\n  mensaje = \"Inténtalo de nuevo. Si el problema persiste intenta más tarde.\",\r\n  fn_caseIsOk = null\r\n) {\r\n\r\n  await Alert.fire({\r\n    title: titulo,\r\n    html: mensaje,\r\n    // icon: 'warning',\r\n    showCancelButton: false,\r\n    confirmButtonText: 'Aceptar',\r\n    allowOutsideClick: false\r\n  })\r\n    .then((result) => {\r\n      if (result.value) {\r\n        if (fn_caseIsOk != null) fn_caseIsOk();\r\n      }\r\n    });\r\n  // await Alert.fire(\r\n  //   titulo,\r\n  //   mensaje,\r\n  //   [\r\n  //     {\r\n  //       text: \"Aceptar\",\r\n  //       onPress: () => {\r\n  //         if (fn_caseIsOk) {\r\n  //           fn_caseIsOk();\r\n  //         }\r\n  //       },\r\n  //     },\r\n  //   ],\r\n  //   { cancelable: false }\r\n  // );\r\n}\r\n\r\nfunction prepareNumber(value = 0) {\r\n  if (value == \"\" || value == undefined || value == null) value = 0;\r\n\r\n  if (typeof Number(value) != \"number\") {\r\n    value = 0;\r\n  }\r\n  return value;\r\n}\r\n\r\nfunction prepareDataTag(tagParam, value) {\r\n  return { tagParam, value }\r\n}\r\n\r\nfunction truncate(text, n) {\r\n  return text.substr(0, n - 1) + (text.length > n ? '...' : '');\r\n}\r\n\r\nfunction onlyUnique(value, index, self) {\r\n  return self.indexOf(value) === index;\r\n}\r\n\r\nasync function askNotificacion(titulo, mensaje, fn_accept) {\r\n  await Alert.fire({\r\n    title: titulo,\r\n    text: mensaje,\r\n    // icon: 'warning',\r\n    showCancelButton: true,\r\n    confirmButtonText: 'Si',\r\n    cancelButtonText: 'No'\r\n  })\r\n    .then((result) => {\r\n      if (result.value) {\r\n        if (fn_accept != null) fn_accept();\r\n      }\r\n    });\r\n}\r\n\r\nconst validateTokenExpired = () => {\r\n  let token = localStorageCustom.prototype.getToken();\r\n  let dataToken = jwt(token);\r\n  let timeSpan = (dataToken.nbf * 1000);\r\n  let fechaExpired = new Date(timeSpan);\r\n  let fechaExpiredUpdate = new Date(fechaExpired.setDate(fechaExpired.getDate() + 1));\r\n\r\n  let tokenIsValid = !(new Date() > fechaExpired);\r\n  console.log(fechaExpiredUpdate);\r\n  console.log(new Date());\r\n  console.log(tokenIsValid);\r\n\r\n  return dataToken;\r\n}\r\n\r\nfunction numberWithCommas(number2) {\r\n  if (number2) {\r\n    // console.log(\"numberWithCommas\", number2);\r\n    number2 = number2.toFixed((/\\./g.test(number2)) ? 2 : 0).replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1,\")\r\n  }\r\n\r\n  if (!number2.toString().includes(\".\")) {\r\n    number2 += \".00\";\r\n  }\r\n\r\n  return number2;\r\n}\r\n\r\nfunction getStatePage(history) {  \r\n  const { pathname } = history.location;\r\n  var isLoggedIn = localStorageCustom.prototype.getToken() ? true : false;\r\n  return isLoggedIn;\r\n  // if (!isLoggedIn && pathname != \"/\") {\r\n  //   window.location.href = \"/\";\r\n  // }\r\n  // else\r\n  //   return null;\r\n}\r\n\r\nexport {\r\n  val_isEmail,\r\n  val_isEmpty,\r\n  replaceAll,\r\n  notificacion,\r\n  prepareNumber,\r\n  parseIntEmpty,\r\n  prepareDataTag,\r\n  truncate,\r\n  onlyUnique,\r\n  askNotificacion,\r\n  val_onlyLetter,\r\n  numberWithCommas,\r\n  validateTokenExpired,\r\n  getStatePage\r\n};","// import get_MAC, { isMAC } from 'getmac'\r\n// import { getMacAddressAsync } from 'expo-network';\r\n// getMacAddressAsync().then((v) => {\r\n//     console.log(v);\r\n//    });\r\n\r\nimport { data } from '../constants/Constants';\r\nimport { notificacion } from './util';\r\n\r\nclass device {\r\n    constructor(props) {\r\n        this.Mac = \"\"\r\n    }\r\n\r\n    getMacCookie() {\r\n        let cookies = document.cookie.split(';').filter(x => x != '')\r\n            .map(x => {\r\n                let [key, value] = x.trim().split('=');\r\n                return { key, value };\r\n            });\r\n\r\n        let cookieMAC = cookies.find(x => x.key == 'mc');\r\n\r\n        if (cookieMAC == null || cookieMAC.value == \"\") cookieMAC = null;\r\n        else {\r\n            cookieMAC = cookieMAC.value;\r\n        }\r\n\r\n        return cookieMAC;\r\n    }\r\n\r\n    async getMac(fn, CorreoElectronico, SO, Browser) {\r\n        // let cookies = document.cookie.split(';').filter(x => x != '')\r\n        //     .map(x => {\r\n        //         let [key, value] = x.trim().split('=');\r\n        //         return { key, value };\r\n        //     });\r\n\r\n        // let cookieMAC = cookies.find(x => x.key == 'mc');\r\n        let cookieMAC = this.getMacCookie();\r\n\r\n        if (cookieMAC == null) {\r\n            let res = await fn({ CorreoElectronico, SO, Browser });\r\n            if (res.mo.type == \"success\") {\r\n                cookieMAC = res.dto.codigoDispositivo;\r\n                device.prototype.Mac = cookieMAC;\r\n                document.cookie = \"mc=\" + cookieMAC;\r\n            } else {\r\n                await notificacion('Login', res.mo.listMessage.join(\", \"));\r\n                // cookieMAC = cookieMAC.value;\r\n                // device.prototype.Mac = cookieMAC;\r\n            }\r\n        } else {\r\n            cookieMAC = cookieMAC;\r\n            device.prototype.Mac = cookieMAC;\r\n        }\r\n\r\n        return cookieMAC;\r\n        // const nPromise = get_MAC()\r\n        //     .then((v) => {\r\n        //         debugger;\r\n        //         console.log(v);\r\n        //         return v;\r\n        //     });\r\n        // return nPromise;\r\n\r\n    }\r\n}\r\nexport default device;","import React, { useState, useEffect } from 'react';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport device from '../../utilitarios/device';\r\nconst AuthContext = React.createContext();\r\n\r\n\r\nconst AuthProvider = (props) => {\r\n    const [userToken, setuserToken] = useState(null);\r\n    const [carritoProdctos, setcarritoProdctos] = useState(0);\r\n    const [userRazonSocial, setuserRazonSocial] = useState(\"RazoN Social\");\r\n    const [userApellidoNombre, setuserApellidoNombre] = useState(\"\");\r\n    const [userCorreo, setuserCorreo] = useState(\"\");\r\n    const [dealerAlertas, setdealerAlertas] = useState(null);\r\n    const [codigoDispositivo, setCodigoDispositivo] = useState(null);\r\n    const [isLoggedIn, setIsLoggedIn] = useState(false);\r\n    const [hideNav, setHideNav] = useState(false);\r\n    const [mostrarOfertas, setmostrarOfertas] = useState(false);\r\n    const [localEnvio, setLocalEnvio] = useState(0);\r\n\r\n    const getStorageToken = async () => {\r\n        let token = null;\r\n        // device.prototype.Mac = device.prototype.getMac();\r\n        localStorageCustom.prototype.token = localStorageCustom.prototype.getToken();\r\n        if (localStorageCustom.prototype.token) {\r\n            token = localStorageCustom.prototype.token;\r\n            setIsLoggedIn(true);\r\n            setuserRazonSocial(localStorageCustom.prototype.getRazonSocial());\r\n        }\r\n        setuserToken(token);\r\n    };\r\n\r\n    useEffect(() => {\r\n        getStorageToken();\r\n    });\r\n    return (\r\n        <AuthContext.Provider\r\n            value={{\r\n                userToken,\r\n                setuserToken,\r\n                carritoProdctos,\r\n                setcarritoProdctos,\r\n                userRazonSocial,\r\n                setuserRazonSocial,\r\n                dealerAlertas,\r\n                setdealerAlertas,\r\n                userApellidoNombre,\r\n                setuserApellidoNombre,\r\n                userCorreo,\r\n                setuserCorreo,\r\n                codigoDispositivo,\r\n                setCodigoDispositivo,\r\n                isLoggedIn,\r\n                setIsLoggedIn,\r\n                hideNav,\r\n                setHideNav,\r\n                getStorageToken,\r\n                mostrarOfertas,\r\n                setmostrarOfertas,\r\n                localEnvio, setLocalEnvio\r\n            }}\r\n        >\r\n            {props.children}\r\n        </AuthContext.Provider>\r\n    )\r\n}\r\n\r\nexport { AuthProvider, AuthContext };","import * as React from \"react\";\r\n\r\nconst IconLogo = (className) =>\r\n    <svg width={46} height={46} viewBox=\"0 0 46 46\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M45.058 21.473H31.3v1.804c0 4.777-3.871 8.655-8.648 8.655-4.776 0-8.654-3.878-8.654-8.655 0-4.776 3.877-8.647 8.654-8.647 1.578 0 3.05.424 4.324 1.16a18.245 18.245 0 00-12.858-5.272c-4.862 0-9.278 1.89-12.561 4.982A22.345 22.345 0 00.17 23.277c0 11.953 9.327 21.725 21.102 22.44.418.021.842.043 1.267.043.042 0 .078.007.113.007 12.42 0 22.482-10.07 22.482-22.49.008-.608-.028-1.21-.077-1.804z\"\r\n        fill=\"#D7202C\"\r\n      />\r\n      <path\r\n        d=\"M26.977 15.79l2.285-3.963 4.636-8.025A22.402 22.402 0 0022.653.795c-8.64 0-16.128 4.883-19.892 12.03-.085.163-.184.326-.262.488a21.538 21.538 0 00-.941 2.194 18.213 18.213 0 0112.56-4.989c5.01 0 9.554 2.01 12.859 5.272z\"\r\n        fill=\"#003591\"\r\n      />\r\n      <path\r\n        d=\"M8.38 15.924h.014c1.529.361 2.442 1.826 2.06 3.404-.255 1.069-.864 1.649-1.621 1.96l-.58-1.295c.446-.212.764-.495.884-.998.177-.729-.325-1.394-1.082-1.578H8.04c-.778-.19-1.521.177-1.69.913-.135.545.049.927.353 1.33l-1.047.906c-.56-.65-.906-1.436-.623-2.597.354-1.493 1.783-2.42 3.347-2.045zM9.561 22.838l.298 2.526c.099.814-.05 1.408-.368 1.805-.27.346-.659.559-1.19.622h-.013c-.814.1-1.409-.276-1.77-.905l-1.705 1.493-.205-1.706 1.486-1.266v-.015l-.078-.636-1.614.19-.176-1.478 5.335-.63zm-2.271 2.76c.056.502.34.764.729.722h.014c.417-.05.594-.383.538-.878l-.114-.97-1.28.156.113.97zM8.104 29.766l.014-.007c1.274-.878 3.007-.559 3.949.807.94 1.373.622 3.078-.651 3.956l-.015.007c-1.273.877-3.007.559-3.948-.807-.942-1.373-.623-3.085.65-3.956zm2.42 3.517l.014-.007c.637-.439.878-1.288.41-1.96-.46-.672-1.316-.743-1.953-.304l-.014.007c-.644.438-.877 1.288-.417 1.953.467.672 1.323.75 1.96.311zM11.897 37.346l1.21-.453c.255.63.658 1.11 1.196 1.422.347.198.601.177.715-.021l.007-.014c.113-.191.021-.39-.538-.892-.863-.793-1.479-1.507-.927-2.47l.007-.014c.495-.87 1.536-1.104 2.66-.467.8.453 1.296 1.02 1.572 1.713l-1.168.552c-.255-.545-.63-.97-1.047-1.203-.311-.177-.545-.135-.637.035l-.007.014c-.12.212-.014.396.552.913.941.842 1.415 1.571.92 2.449l-.007.014c-.538.955-1.62 1.096-2.753.445-.828-.474-1.472-1.181-1.755-2.023zM19.695 36.036l1.479.127-.333 4.055 2.597.22-.106 1.295-4.083-.333.446-5.364zM26.142 35.731l1.366-.431 3.815 4.472-1.529.481-.658-.8-1.982.623-.077 1.034-1.494.474.56-5.853zm2.237 2.746l-1.033-1.274-.12 1.642 1.153-.368zM30.084 34.196l.976-.99 3.58.424-2.023-1.996 1.033-1.054 3.828 3.779-.92.927-3.708-.432 2.095 2.067-1.033 1.054-3.828-3.779zM34.209 28.803l.913-1.86c.849-1.72 2.335-2.23 3.722-1.543l.014.007c1.387.686 1.925 2.208 1.069 3.941l-.899 1.833-4.819-2.378zm4.564-.084c.397-.8.22-1.543-.566-1.932l-.014-.007c-.771-.383-1.479-.071-1.875.729l-.27.544 2.456 1.21.27-.544z\"\r\n        fill=\"#fff\"\r\n      />\r\n      <path\r\n        d=\"M31.251 12.626h.884c.715 0 1.204.489 1.204 1.125v.008c0 .636-.489 1.132-1.203 1.132h-.885v-2.265zm.884 1.812c.411 0 .68-.276.68-.68v-.007c0-.403-.276-.679-.68-.679h-.382v1.366h.383zM33.643 14.027c0-.502.354-.906.856-.906.58 0 .842.453.842.941 0 .036-.007.085-.007.128h-1.203c.05.226.206.34.425.34.163 0 .283-.05.418-.178l.283.248a.879.879 0 01-.708.326c-.524 0-.906-.368-.906-.9zm1.217-.142c-.028-.219-.155-.368-.368-.368-.205 0-.34.149-.375.368h.743zM35.568 14.657l.212-.325c.191.134.382.205.545.205.142 0 .205-.05.205-.127 0-.106-.17-.142-.36-.198-.241-.071-.517-.184-.517-.524v-.007c0-.354.283-.552.637-.552.22 0 .46.078.644.198l-.191.34c-.17-.1-.34-.163-.468-.163-.12 0-.183.05-.183.12v.007c0 .1.162.142.353.206.241.077.524.198.524.516v.007c0 .382-.29.56-.665.56-.234 0-.503-.079-.736-.263zM37.252 14.028c0-.588.375-.906.793-.906.262 0 .425.12.538.262v-.857h.488v2.364h-.488v-.248a.633.633 0 01-.538.283c-.41-.007-.793-.325-.793-.898zm1.33 0c0-.298-.19-.489-.417-.489-.226 0-.424.191-.424.482v.007c0 .29.19.48.424.48.227-.006.418-.197.418-.48zM39.424 14.027c0-.502.354-.906.857-.906.58 0 .842.453.842.941 0 .036 0 .085-.007.128h-1.203c.05.226.205.34.424.34.163 0 .283-.05.418-.178l.283.248a.879.879 0 01-.708.326c-.523 0-.906-.368-.906-.9zm1.225-.142c-.029-.219-.156-.368-.368-.368-.206 0-.34.149-.375.368h.743zM31.266 16.463l-.793.198-.205-.82 1.31-.39h.686v4.586h-.991v-3.574h-.007zM33.325 19.576l.53-.764c.334.27.61.39.999.39.559 0 .856-.425.927-1.034-.22.191-.531.312-.927.312-.991 0-1.628-.545-1.628-1.472v-.014c0-.92.708-1.593 1.74-1.593.61 0 .97.149 1.317.496.326.325.538.82.538 1.72v.014c0 1.479-.694 2.483-1.988 2.483-.673 0-1.126-.219-1.508-.538zm2.463-2.604v-.014c0-.403-.297-.693-.8-.693-.495 0-.771.29-.771.693v.014c0 .404.297.687.792.687.496-.014.779-.297.779-.687zM38.06 19.626c-.333-.332-.538-.82-.538-1.727v-.014c0-1.408.636-2.484 1.995-2.484.616 0 1.02.184 1.422.503l-.523.771c-.297-.226-.538-.36-.934-.36-.566 0-.857.452-.92 1.054a1.58 1.58 0 01.94-.29c.907 0 1.6.502 1.6 1.45v.014c0 .934-.75 1.578-1.74 1.578-.58-.007-.984-.176-1.303-.495zm2.051-1.04v-.014c0-.383-.297-.665-.792-.665-.495 0-.779.276-.779.658v.014c0 .382.298.68.793.68.495-.008.779-.284.779-.673zM41.795 19.244l1.515-1.246c.566-.467.785-.715.785-1.097s-.255-.594-.608-.594c-.354 0-.595.198-.934.609l-.701-.567c.446-.615.885-.94 1.698-.94.942 0 1.571.551 1.571 1.407v.015c0 .764-.389 1.139-1.196 1.762l-.743.573h1.989v.863h-3.368v-.785h-.008z\"\r\n        fill=\"#003591\"\r\n      />\r\n    </svg>\r\n\r\nconst CurveTop = (className, fill) =>\r\n    <svg width={80} height={13} viewBox=\"0 0 80 13\" fill=\"none\" className={className}>\r\n        <path\r\n          d=\"M61.278 6.475c4.946 2.544 11.13 6.233 18.471 6.233H.686c7.42 0 13.602-4.237 18.548-6.493C24.181 3.958 32.837.208 40.256.208c7.42 0 16.076 3.722 21.022 6.267z\"\r\n          fill={fill}\r\n        />\r\n    </svg>\r\n  \r\nconst CurveBottom = (className, fill) =>\r\n    <svg width={80} height={13} viewBox=\"0 0 80 13\" fill=\"none\" className={className}>\r\n        <path\r\n          d=\"M19.257 6.238C14.31 3.693 8.127.005.785.005H79.85c-7.42 0-13.602 4.237-18.549 6.493-4.946 2.257-13.602 6.007-21.021 6.007-7.42 0-16.076-3.722-21.022-6.267z\"\r\n          fill={fill}\r\n        />\r\n    </svg>\r\n\r\nconst CurveSmall = (className, fill) =>\r\n    <svg width={43} height={14} viewBox=\"0 0 43 14\" className={className}>\r\n    <path\r\n      d=\"M10.011 6.747C7.383 9.425 4.1 13.307.198 13.307h42.006c-3.942 0-7.227-4.459-9.855-6.834C29.72 4.1 25.122.153 21.18.153s-8.54 3.916-11.169 6.594z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconBack = (className, fill) =>\r\n    <svg\r\n      width={30}\r\n      height={29}\r\n      viewBox=\"0 0 30 29\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className={className}\r\n    >\r\n      <path\r\n        d=\"M15.25 28.25C22.844 28.25 29 22.094 29 14.5S22.844.75 15.25.75 1.5 6.906 1.5 14.5s6.156 13.75 13.75 13.75z\"\r\n        stroke={fill}\r\n        strokeWidth={1.5}\r\n      />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M14.956 10.155a.792.792 0 10-1.204-1.029l-3.765 4.406a.792.792 0 00-.097.888c.05.11.126.205.218.28l3.647 4.21a.792.792 0 001.197-1.038L12.36 14.88h8.551a.792.792 0 100-1.584h-8.639l2.684-3.14z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconHome = (className, fill) =>\r\n    <svg width={33}  height={32} viewBox=\"0 0 33 32\" fill=\"none\" className={className}>\r\n    <path\r\n      d=\"M16.052 2.98c.86.006 1.63.384 2.28.952l.035.032 11.8 11.265a1.067 1.067 0 01-.736 1.838h-3.234v10.667c0 .589-.477 1.066-1.066 1.066h-6.4c-.59 0-1.067-.477-1.067-1.066v-7.467h-3.2v7.467c0 .589-.478 1.066-1.067 1.066H6.964c-.59 0-1.067-.477-1.067-1.066V17.067H2.731a1.067 1.067 0 01-.74-1.835l11.7-11.265.036-.033c.675-.592 1.46-.961 2.325-.954zm-.9 2.542l-9.775 9.412h1.587c.59 0 1.067.477 1.067 1.066v10.667h4.3V19.2c0-.589.477-1.066 1.066-1.066h5.334c.589 0 1.066.477 1.066 1.066v7.467h4.267V16a1.066 1.066 0 011.067-1.066h1.638l-9.856-9.41c-.375-.322-.667-.41-.878-.411-.208-.002-.5.078-.883.41z\"\r\n      fill={fill}\r\n    />\r\n  </svg>\r\n\r\nconst IconStar = (className, fill) =>\r\n    <svg width={20} height={20} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n        <path\r\n          d=\"M11.665 3.733c.499-1.536 2.671-1.536 3.17 0l1.827 5.622h5.912c1.614 0 2.285 2.066.98 3.015l-4.783 3.475 1.826 5.622c.5 1.536-1.258 2.812-2.564 1.863l-4.783-3.474-4.782 3.474c-1.307.95-3.064-.327-2.565-1.863l1.827-5.622-4.783-3.475c-1.306-.949-.635-3.015.98-3.015h5.911l1.827-5.622zm3.412 6.137L13.25 4.248 11.423 9.87a1.667 1.667 0 01-1.585 1.152H3.927l4.782 3.474c.584.425.829 1.177.606 1.864l-1.827 5.622 4.782-3.475a1.667 1.667 0 011.96 0l4.782 3.475-1.826-5.622a1.667 1.667 0 01.605-1.864l4.783-3.474h-5.912a1.667 1.667 0 01-1.585-1.152z\"\r\n          fill={fill}\r\n        />\r\n    </svg>\r\n  \r\nconst IconCampana = (className, fill) =>\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n        <path\r\n          d=\"M10.093 19.936a.833.833 0 01.833-.816h4.648c.454 0 .824.363.833.816v.008a3.158 3.158 0 11-6.315.025v-.033zm1.91.851a1.49 1.49 0 002.494 0h-2.494z\"\r\n          fill={fill}\r\n        />\r\n        <path\r\n          d=\"M11.372 4.989a1.878 1.878 0 013.756 0v.536a6.164 6.164 0 014.284 5.87v3.577l1.948 2.862a1.89 1.89 0 01-1.563 2.953H6.703a1.89 1.89 0 01-1.563-2.953l1.948-2.861v-3.577c0-2.75 1.799-5.076 4.284-5.87v-.537zm1.878-.212a.212.212 0 00-.212.212v1.18c0 .398-.28.74-.67.818a4.497 4.497 0 00-3.614 4.409v3.834c0 .167-.05.33-.144.469L6.518 18.77a.223.223 0 00.185.35h13.094a.223.223 0 00.185-.35l-2.092-3.073a.834.834 0 01-.144-.468v-3.834c0-2.18-1.553-4-3.613-4.41a.833.833 0 01-.671-.817V4.99a.212.212 0 00-.212-.212z\"\r\n          fill={fill}\r\n        />\r\n    </svg>\r\n  \r\nconst IconCarrito = (className) =>\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n        <path\r\n          d=\"M1.479 4.264c0-.46.373-.833.833-.833h2.032c.402 0 .746.287.82.682L7.745 18.12H20.54a.833.833 0 110 1.666H7.051a.833.833 0 01-.819-.682L3.65 5.098H2.312a.833.833 0 01-.833-.834z\"\r\n        />\r\n        <path\r\n          d=\"M4.76 6.66c0-.46.373-.833.834-.833H23.04a.833.833 0 01.815 1.01l-1.98 9.115a.833.833 0 01-.814.656H6.583a.833.833 0 110-1.666h13.808l1.617-7.448H5.594a.833.833 0 01-.834-.834zM8.74 19.008c.46 0 .834.373.834.833a1.094 1.094 0 102.187 0 .833.833 0 011.667 0 2.76 2.76 0 11-5.52 0c0-.46.372-.833.833-.833zM15.181 19.008c.46 0 .834.373.834.833a1.094 1.094 0 102.187 0 .833.833 0 011.667 0 2.76 2.76 0 11-5.52 0c0-.46.372-.833.832-.833z\"\r\n        />\r\n    </svg>\r\n\r\n  \r\nconst IconMenu = (className) =>\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n        <path\r\n          d=\"M23.771 4.743H2.729M23.771 10.327H2.729M23.771 15.91H2.729M23.771 21.494H2.729\"\r\n          stroke=\"#316ACD\"\r\n          strokeWidth={2}\r\n          strokeLinecap=\"round\"\r\n          strokeLinejoin=\"round\"\r\n        />\r\n    </svg>\r\n\r\nconst IconClose = (className, fill) =>\r\n    <svg width={37} height={36} viewBox=\"0 0 37 36\" fill=\"none\" className={className}>\r\n        <path\r\n          d=\"M23.79 12.776a.833.833 0 010 1.178l-9.612 9.613a.833.833 0 01-1.179-1.179l9.612-9.612a.833.833 0 011.179 0z\" fill={fill}\r\n        />\r\n        <path\r\n          d=\"M23.79 23.567a.833.833 0 01-1.178 0l-9.613-9.612a.833.833 0 011.179-1.179l9.612 9.613a.833.833 0 010 1.178z\" fill={fill}\r\n        />\r\n    </svg>\r\n\r\nconst IconChart = (className, fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n        <g clipPath=\"url(#prefix__clip0)\">\r\n          <path\r\n            d=\"M2.878 12.59c0-.369.298-.667.667-.667h2.791c.368 0 .667.298.667.666v4.371a.667.667 0 01-.667.667H3.545a.667.667 0 01-.667-.667v-4.37zm1.333.666v3.038H5.67v-3.038H4.211zM8.08 10.092c0-.368.299-.666.667-.666h2.791c.368 0 .667.298.667.666v6.868a.667.667 0 01-.667.667H8.747a.667.667 0 01-.667-.667v-6.868zm1.333.667v5.535h1.458v-5.535H9.413zM13.283 5.685c0-.368.298-.667.666-.667h2.792c.368 0 .666.299.666.667V16.96a.667.667 0 01-.666.667h-2.792a.667.667 0 01-.666-.667V5.685zm1.333.666v9.943h1.458V6.35h-1.458z\"\r\n            fill={fill}\r\n          />\r\n          <path\r\n            d=\"M.919 16.96c0-.368.298-.666.667-.666h17.189a.667.667 0 010 1.333H1.585a.667.667 0 01-.666-.667z\"\r\n            fill={fill}\r\n          />\r\n        </g>\r\n        <defs>\r\n          <clipPath id=\"prefix__clip0\">\r\n            <path\r\n              fill=\"#fff\"\r\n              transform=\"matrix(0 1 1 0 .18 .942)\"\r\n              d=\"M0 0h20v20H0z\"\r\n            />\r\n          </clipPath>\r\n        </defs>\r\n    </svg>\r\n\r\nconst IconOferta = (className, fill) =>\r\n    <svg width={16} height={16} viewBox=\"0 0 16 16\" fill=\"none\" className={className}>\r\n      <g\r\n        clipPath=\"url(#prefix__clip0)\"\r\n      >\r\n        <path d=\"M6.726 6.375a.19.19 0 100 .38.19.19 0 000-.38zm-1.19.19a1.19 1.19 0 112.38 0 1.19 1.19 0 01-2.38 0zM9.628 9.533a.19.19 0 100 .38.19.19 0 000-.38zm-1.19.19a1.19 1.19 0 112.38 0 1.19 1.19 0 01-2.38 0zM10.97 5.75a.5.5 0 01-.047.706l-5.187 4.546a.5.5 0 01-.66-.752l5.188-4.546a.5.5 0 01.706.047z\" fill={fill}/>\r\n        <path d=\"M5.59 1.79a.5.5 0 01.668-.206l2.273 1.172 2.452-.729a.5.5 0 01.618.327l.78 2.436 2.248 1.219a.5.5 0 01.206.668l-1.172 2.274.729 2.45a.5.5 0 01-.327.62l-2.436.778-1.219 2.249a.5.5 0 01-.668.206l-2.274-1.171-2.45.728a.5.5 0 01-.62-.327l-.779-2.436-2.248-1.219a.5.5 0 01-.206-.668l1.171-2.273-.728-2.452a.5.5 0 01.327-.618l2.436-.78L5.589 1.79zm.645.907l-1.08 1.995a.5.5 0 01-.288.238l-2.16.691.645 2.175a.5.5 0 01-.035.371l-1.039 2.017 1.995 1.08a.5.5 0 01.238.288l.69 2.16 2.175-.645a.5.5 0 01.372.034l2.016 1.04 1.081-1.995a.5.5 0 01.288-.238l2.16-.69-.646-2.175a.5.5 0 01.035-.372l1.04-2.016-1.995-1.081a.5.5 0 01-.238-.288l-.691-2.16-2.175.646a.5.5 0 01-.371-.035l-2.017-1.04z\" fill={fill}/>\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path\r\n            transform=\"matrix(0 1 1 0 .5 .919)\"\r\n            d=\"M0 0h15v15H0z\"\r\n          />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n\r\nconst IconArrowRight = (className, fill) =>\r\n    <svg width={15} height={14} className={className} viewBox=\"0 0 19 16\" fill=\"none\">\r\n      <path\r\n        d=\"M10.804 13.2a1.108 1.108 0 00.134 1.62c.51.412 1.277.356 1.713-.127l5.773-6.395c.328-.365.379-.874.151-1.283a1.165 1.165 0 00-.34-.416L12.646.492a1.263 1.263 0 00-1.713-.115 1.108 1.108 0 00-.123 1.621l3.976 4.342H1.672c-.67 0-1.214.515-1.214 1.15 0 .635.543 1.15 1.214 1.15H14.92l-4.115 4.56z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconArrowLeft = (className, fill) =>\r\n    <svg width={30} height={29} viewBox=\"0 0 30 29\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M15.25 28.25C22.844 28.25 29 22.094 29 14.5S22.844.75 15.25.75 1.5 6.906 1.5 14.5s6.156 13.75 13.75 13.75z\"\r\n        stroke={fill}\r\n        strokeWidth={1.5}\r\n        fill=\"none\"\r\n      />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M14.956 10.155a.792.792 0 10-1.204-1.029l-3.765 4.406a.792.792 0 00-.097.888c.05.11.126.205.218.28l3.647 4.21a.792.792 0 001.197-1.038L12.36 14.88h8.551a.792.792 0 100-1.584h-8.639l2.684-3.14z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconTrofeo = (className) =>\r\n    <svg width={16} height={16} viewBox=\"0 0 16 16\" fill=\"none\" className={className}>\r\n      <g\r\n        clipPath=\"url(#prefix__clip0)\"\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        fill=\"#2DB997\"\r\n      >\r\n        <path d=\"M4.693 12.028a.5.5 0 01.5-.5h5.813a.5.5 0 01.5.5v2.875a.5.5 0 01-.5.5H5.193a.5.5 0 01-.5-.5v-2.875zm1 .5v1.875h4.813v-1.875H5.693zM4.709 2.027a.5.5 0 01.5-.5h5.781a.5.5 0 01.5.5v4.688a3 3 0 01-3 3H7.71a3 3 0 01-3-3V2.027zm1 .5v4.188a2 2 0 002 2h.781a2 2 0 002-2V2.527H5.71z\" />\r\n        <path d=\"M8.1 8.777a.5.5 0 01.5.5v2.47a.5.5 0 01-1 0v-2.47a.5.5 0 01.5-.5zM11.883 3.775c-.173.037-.372.182-.5.33a.5.5 0 01-.756-.655c.206-.237.582-.555 1.05-.653.247-.052.525-.044.8.079.275.12.508.336.698.63.244.376.258.788.16 1.158-.094.357-.296.695-.52.987-.451.587-1.084 1.109-1.526 1.413a.5.5 0 11-.567-.824c.39-.268.934-.721 1.3-1.198.183-.239.3-.455.347-.634.044-.166.023-.273-.033-.359-.11-.169-.204-.233-.263-.259a.298.298 0 00-.19-.015zM4.103 3.775c.174.037.372.182.5.33a.5.5 0 00.756-.655c-.205-.237-.582-.555-1.05-.653a1.296 1.296 0 00-.8.079c-.275.12-.507.336-.698.63-.244.376-.258.788-.16 1.158.094.357.296.695.52.987.452.587 1.084 1.109 1.527 1.413a.5.5 0 00.566-.824c-.39-.268-.933-.721-1.3-1.198-.183-.239-.3-.455-.347-.633-.043-.167-.022-.274.033-.36.11-.169.204-.233.263-.259a.298.298 0 01.19-.015z\" />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path\r\n            fill=\"#fff\"\r\n            transform=\"matrix(0 1 1 0 .493 .965)\"\r\n            d=\"M0 0h15v15H0z\"\r\n          />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n\r\nconst IconList = (className,fill) =>\r\n    <svg width={25} height={26} viewBox=\"0 0 25 26\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M6.042 4.573a.833.833 0 00-.833.834V20.77c0 .46.373.834.833.834h12.916c.46 0 .834-.374.834-.834V5.407a.833.833 0 00-.834-.834h-3.26V6.24h2.427v13.698H6.875V6.24h2.426V4.573h-3.26z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M8.468 3.627c0-.46.373-.833.833-.833H15.7c.46 0 .833.373.833.833v3.23c0 .46-.373.833-.833.833H9.3a.833.833 0 01-.833-.834V3.627zm1.666.834v1.562h4.731V4.461h-4.73z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M10.557 11.428a.846.846 0 10-1.692 0 .846.846 0 001.692 0zM10.557 14.749a.846.846 0 10-1.692 0 .846.846 0 001.692 0z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M11.483 11.428c0-.46.373-.833.834-.833h3.382a.833.833 0 010 1.667h-3.382a.833.833 0 01-.834-.834zM11.483 14.749c0-.46.373-.834.834-.834h3.382a.833.833 0 010 1.667h-3.382a.833.833 0 01-.834-.833z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconList2 = (className,fill) =>\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className} >\r\n    <g clipPath=\"url(#prefix__clip0)\" fill=\"#316ACD\">\r\n        <path\r\n          d=\"M.58 1.804c0-.46.373-.833.833-.833h23.23c.46 0 .833.373.833.833v23.203c0 .46-.373.834-.833.834H1.413a.833.833 0 01-.833-.834V1.804zm1.667.834v21.536h21.562V2.638H2.247z\"\r\n          fill={fill}\r\n        />\r\n        <path d=\"M9.754 7.403a1.25 1.25 0 10-2.5 0 1.25 1.25 0 002.5 0zM9.754 13.289a1.25 1.25 0 10-2.5 0 1.25 1.25 0 002.5 0zM9.754 19.174a1.25 1.25 0 10-2.5 0 1.25 1.25 0 002.5 0z\" fill={fill}/>\r\n        <path\r\n          d=\"M12.143 7.403c0-.46.373-.833.833-.833h5.797a.833.833 0 010 1.666h-5.797a.833.833 0 01-.833-.833zM12.143 13.289c0-.46.373-.834.833-.834h5.797a.833.833 0 010 1.667h-5.797a.833.833 0 01-.833-.833zM12.143 19.174c0-.46.373-.833.833-.833h5.797a.833.833 0 010 1.666h-5.797a.833.833 0 01-.833-.833z\"\r\n          fill={fill}\r\n        />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path\r\n            fill=\"#fff\"\r\n            transform=\"matrix(0 1 1 0 .514 .925)\"\r\n            d=\"M0 0h25v25H0z\"\r\n          />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n\r\nconst IconListCheck = (className,fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n    <path\r\n      d=\"M5.013 3.866a.667.667 0 00-.666.667v12.292c0 .368.298.666.666.666h10.334a.667.667 0 00.666-.666V4.533a.667.667 0 00-.666-.667h-2.608V5.2h1.941v10.958h-9V5.2h1.941V3.866H5.013z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      d=\"M6.955 3.11c0-.368.298-.667.666-.667h5.118c.368 0 .667.299.667.667v2.583a.667.667 0 01-.667.667H7.621a.667.667 0 01-.666-.667V3.11zm1.333.666v1.25h3.785v-1.25H8.288zM13.105 8.405a.667.667 0 01.03.942l-3.348 3.575a.667.667 0 01-.994-.023L7.481 11.36a.667.667 0 111.014-.865l.829.971 2.838-3.03a.667.667 0 01.943-.031z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconTag = (className) =>\r\n    <svg width={46} height={47} viewBox=\"0 0 46 47\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M0 46.476l46-46H8.202C1.995.476.148 6.5 0 9.513v36.963z\"\r\n        fill=\"#FFC700\"\r\n      />\r\n    </svg>\r\n\r\nconst IconAddCart = (className) =>\r\n    <svg width={30} height={30} viewBox=\"0 0 34 31\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M15.563 30.084c8.284 0 15-6.716 15-15 0-8.285-6.716-15-15-15-8.285 0-15 6.715-15 15 0 8.284 6.715 15 15 15z\"\r\n        fill=\"#F23361\"\r\n      />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M6.083 8.158c0-.368.299-.667.667-.667h1.625c.322 0 .597.23.655.546l2.067 11.204h10.236a.667.667 0 010 1.334H10.542a.667.667 0 01-.656-.546L7.82 8.825H6.75a.667.667 0 01-.667-.667z\"\r\n        fill=\"#fff\"\r\n      />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M8.708 10.075c0-.369.299-.667.667-.667h13.958a.667.667 0 01.652.808L22.4 17.508a.667.667 0 01-.651.525H10.167a.667.667 0 010-1.333h11.045l1.294-5.959H9.375a.667.667 0 01-.667-.666zM11.892 19.953c.368 0 .667.298.667.666a.875.875 0 001.75 0 .667.667 0 011.333 0 2.208 2.208 0 01-4.416 0c0-.368.298-.666.666-.666zM17.045 19.953c.368 0 .667.298.667.666a.875.875 0 101.75 0 .667.667 0 111.333 0 2.208 2.208 0 01-4.417 0c0-.368.299-.666.667-.666z\"\r\n        fill=\"#fff\"\r\n      />\r\n      <path d=\"M34 6.083a6 6 0 10-12 0 6 6 0 0012 0z\" fill=\"#FFC700\" />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M28 2.724a.65.65 0 01.65.65v5.417a.65.65 0 11-1.3 0V3.374a.65.65 0 01.65-.65z\"\r\n        fill=\"#fff\"\r\n      />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M31.359 6.083a.65.65 0 01-.65.65h-5.417a.65.65 0 110-1.3h5.417a.65.65 0 01.65.65z\"\r\n        fill=\"#fff\"\r\n      />\r\n    </svg>\r\n\r\nconst IconCart = (className, fill) =>\r\n    <svg width={26} height={25} viewBox=\"0 0 26 25\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M1.285 3.646c0-.46.373-.833.833-.833h2.031c.402 0 .747.286.82.682L7.55 17.5h12.796a.833.833 0 010 1.667H6.857a.833.833 0 01-.819-.683L3.456 4.48H2.118a.833.833 0 01-.833-.833z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M4.566 6.042c0-.46.373-.833.833-.833h17.448a.833.833 0 01.815 1.01l-1.98 9.114a.833.833 0 01-.814.657H6.39a.833.833 0 110-1.667h13.807l1.618-7.448H5.399a.833.833 0 01-.833-.833zM8.546 18.39c.46 0 .833.372.833.832a1.094 1.094 0 102.188 0 .833.833 0 011.666 0 2.76 2.76 0 01-5.52 0c0-.46.373-.833.833-.833zM14.987 18.39c.46 0 .833.372.833.832a1.094 1.094 0 002.188 0 .833.833 0 011.666 0 2.76 2.76 0 01-5.52 0c0-.46.373-.833.833-.833z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconReloj = (className, fill) =>\r\n    <svg width={16} height={16} viewBox=\"0 0 16 16\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M7.821 4.86a3.426 3.426 0 100 6.853 3.426 3.426 0 000-6.853zM3.395 8.287a4.426 4.426 0 118.853 0 4.426 4.426 0 01-8.853 0z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M7.523 5.866a.5.5 0 01.5.5V8.12H9.49a.5.5 0 110 1H7.523a.5.5 0 01-.5-.5V6.366a.5.5 0 01.5-.5zM10.025 11.088a.5.5 0 01.706.035l1.367 1.509a.5.5 0 01-.741.671L9.99 11.795a.5.5 0 01.035-.707zM5.774 11.194a.5.5 0 01-.035.706l-1.508 1.367a.5.5 0 11-.672-.74l1.509-1.368a.5.5 0 01.706.035zM11.203 2.81c.544-.089 1.158.053 1.714.597.558.547.706 1.159.614 1.706a2.155 2.155 0 01-.618 1.158.5.5 0 01-.697-.006L10.047 4.12a.5.5 0 01-.006-.705c.235-.24.647-.52 1.162-.605zm-.014 1.033l1.304 1.29a.976.976 0 00.052-.186c.037-.22 0-.504-.328-.825-.33-.323-.624-.362-.853-.325-.06.01-.12.026-.175.046zM2.108 5.05c-.09-.544.052-1.157.597-1.714.546-.558 1.158-.706 1.705-.614.514.087.926.375 1.158.618a.5.5 0 01-.006.698L3.417 6.206a.5.5 0 01-.705.006 2.168 2.168 0 01-.604-1.161zm1.032.014L4.43 3.76a.97.97 0 00-.186-.052c-.22-.037-.504 0-.825.328-.323.33-.362.624-.324.853.01.06.025.12.045.175z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconClip = (className, fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M7.526 4.65v10.4c0 1.49 1.301 2.679 3.01 2.679 1.696 0 2.938-1.137 2.938-2.68V5.835a.667.667 0 011.333 0v9.214c0 2.4-1.965 4.013-4.272 4.013-2.294 0-4.342-1.644-4.342-4.013V4.606c.02-.484.192-1.184.656-1.78.486-.626 1.266-1.098 2.39-1.098 1.123 0 1.914.47 2.421 1.08.487.587.695 1.28.74 1.763l.004.031v8.703c0 .428-.154.896-.492 1.264-.35.382-.865.618-1.5.618-.63 0-1.142-.227-1.49-.617a1.903 1.903 0 01-.467-1.265v-7.47a.667.667 0 011.333 0v7.47c0 .15.05.288.13.378.067.075.2.17.494.17.287 0 .436-.097.518-.185a.551.551 0 00.14-.363V4.668a2.038 2.038 0 00-.436-1.008c-.266-.321-.689-.598-1.395-.598-.704 0-1.098.274-1.337.582a1.896 1.896 0 00-.376 1.005z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconAddFile = (className, fill) =>\r\n\r\n    <svg width={25} height={26} viewBox=\"0 0 25 26\" fill=\"none\" className={className}>\r\n    <path\r\n      fillRule=\"evenodd\"\r\n      clipRule=\"evenodd\"\r\n      d=\"M13.434 21.544a.833.833 0 01-.833-.834v-6.927a.833.833 0 011.667 0v6.927c0 .46-.373.834-.834.834z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      fillRule=\"evenodd\"\r\n      clipRule=\"evenodd\"\r\n      d=\"M17.288 16.183a.833.833 0 01-1.173.109l-2.662-2.21-2.68 2.211a.833.833 0 01-1.062-1.285l3.213-2.65a.833.833 0 011.063 0l3.192 2.651c.355.294.403.82.11 1.174zM13.99 1.906c.46 0 .833.373.833.834v4.424c0 .496.089.813.214.99.087.121.26.279.767.279h4.913a.833.833 0 010 1.667h-4.913c-.929 0-1.662-.332-2.124-.98-.423-.593-.524-1.327-.524-1.956V2.74c0-.46.373-.834.834-.834z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      fillRule=\"evenodd\"\r\n      clipRule=\"evenodd\"\r\n      d=\"M4.81 2.223c0-.46.374-.833.834-.833h8.409c.218 0 .428.086.584.24l7.194 7.072c.16.157.25.371.25.595v14.48c0 .46-.374.833-.834.833H5.644a.833.833 0 01-.833-.833V2.223zm1.667.834v19.886h13.937V9.646l-6.702-6.59H6.477z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconTrash = (className, fill) =>\r\n    <svg width={20} height={21} viewBox=\"0 0 20 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M8.385 9.834c.369 0 .667.298.667.666v4.542a.667.667 0 11-1.333 0V10.5c0-.368.298-.666.666-.666zM11.614 9.834c.369 0 .667.298.667.666v4.542a.667.667 0 01-1.333 0V10.5c0-.368.298-.666.666-.666zM8.013 2.093a.667.667 0 01.528-.26h3.162c.226 0 .437.115.56.305l.857 1.324H16c.368 0 .667.298.667.666v3.08a.667.667 0 01-.667.667H4a.667.667 0 01-.667-.667v-3.08c0-.368.299-.666.667-.666h2.956l1.057-1.37zm.855 1.074L7.812 4.536a.667.667 0 01-.528.259H4.667v1.747h10.666V4.795h-2.576a.667.667 0 01-.56-.304l-.857-1.324H8.868z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M4.708 7.25c0-.368.299-.667.667-.667h9.292c.368 0 .667.299.667.667v9.5a2.667 2.667 0 01-2.667 2.667H7.375a2.667 2.667 0 01-2.667-2.667v-9.5zm1.334.667v8.833c0 .736.597 1.334 1.333 1.334h5.292c.736 0 1.333-.598 1.333-1.334V7.917H6.042z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconTrash2 = (className, fill) =>\r\n    <svg width={27} height={22} fill=\"none\" className={className}>\r\n    <path\r\n      fillRule=\"evenodd\"\r\n      clipRule=\"evenodd\"\r\n      d=\"M18.5 2.491a.815.815 0 0 1 .545.113l2.738 1.58c.196.114.34.286.382.458l.297 1.2 2.494 1.441c.32.184.477.508.353.722l-1.037 1.798c-.124.214-.483.24-.802.055l-10.393-6c-.319-.184-.476-.507-.352-.722l1.037-1.797c.124-.215.483-.24.802-.056l2.56 1.478 1.376-.27Zm.38 1.054-1.377.27a.816.816 0 0 1-.544-.112l-2.267-1.309-.588 1.02 9.237 5.333.589-1.02-2.232-1.288c-.195-.113-.34-.285-.382-.457l-.296-1.2-2.14-1.237ZM13.885 11.332c.369 0 .667.298.667.667v4.541a.667.667 0 0 1-1.333 0V12c0-.369.298-.667.666-.667ZM17.115 11.332c.368 0 .667.298.667.667v4.541a.667.667 0 0 1-1.334 0V12c0-.369.299-.667.667-.667Z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      fillRule=\"evenodd\"\r\n      clipRule=\"evenodd\"\r\n      d=\"M10.208 8.749c0-.368.299-.667.667-.667h9.291c.369 0 .667.299.667.667v9.5a2.667 2.667 0 0 1-2.667 2.666h-5.291a2.667 2.667 0 0 1-2.667-2.666v-9.5Zm1.333.666v8.834c0 .736.597 1.333 1.334 1.333h5.291c.737 0 1.334-.597 1.334-1.333V9.415H11.54ZM5.1 1.905c-2.25-.272-5 2-4.5 1.499C2.167 1.834 3.025.272 5.737.599c1.858.224 3.446 1.57 4.436 3.5.163.319.107.757-.127.98-.233.223-.554.145-.718-.173C8.505 3.3 6.641 2.09 5.1 1.905Z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      fillRule=\"evenodd\"\r\n      clipRule=\"evenodd\"\r\n      d=\"M10.367 1.59c.284 0 .515.314.515.702v3.482a.832.832 0 0 1-.177.53c-.112.134-.262.195-.41.167l-2.407-.456c-.282-.053-.479-.409-.44-.793.04-.385.3-.653.582-.6l1.821.345V2.292c0-.388.23-.703.515-.703Z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconRefresh = (className,fill) =>\r\n    <svg width={20} height={21} viewBox=\"0 0 20 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M9.355 16.497a6.51 6.51 0 006.593-4.01.667.667 0 011.234.505 7.843 7.843 0 01-13.681 1.514.667.667 0 011.093-.764 6.49 6.49 0 004.76 2.755zM10.617 5.315a6.51 6.51 0 00-6.594 4.01.667.667 0 11-1.234-.505 7.843 7.843 0 0113.682-1.514.667.667 0 01-1.093.764 6.49 6.49 0 00-4.761-2.755z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M3.28 17.107a.667.667 0 01-.667-.667v-3.301a.666.666 0 01.758-.66l3.113.431a.667.667 0 01-.183 1.321l-2.355-.327v2.536a.667.667 0 01-.666.666zM16.72 4.705c.368 0 .667.299.667.667v3.301a.667.667 0 01-.759.66l-3.113-.432a.667.667 0 01.184-1.32l2.354.326V5.372c0-.368.299-.667.667-.667z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconCodigo = (className,fill) =>\r\n    <svg width={41} height={41} viewBox=\"0 0 41 41\" fill=\"none\" className={className}>\r\n      <path fill=\"#fff\" d=\"M.418.177v40h40v-40z\" />\r\n      <path\r\n        d=\"M3.292 8.221c0-.736.597-1.333 1.333-1.333h6.646a1.333 1.333 0 110 2.666H5.958v5.362a1.333 1.333 0 11-2.666 0V8.22zM37.545 32.132c0 .736-.597 1.333-1.333 1.333h-6.646a1.333 1.333 0 110-2.666h5.313v-5.362a1.333 1.333 0 012.666 0v6.695zM36.212 6.912c.736 0 1.333.597 1.333 1.333v6.646a1.333 1.333 0 11-2.666 0V9.579h-5.362a1.333 1.333 0 110-2.667h6.695zM4.625 33.439a1.333 1.333 0 01-1.333-1.333V25.46a1.333 1.333 0 112.666 0v5.312h5.362a1.333 1.333 0 110 2.667H4.625zM10.835 13.01c.736 0 1.333.597 1.333 1.333v11.666a1.333 1.333 0 01-2.666 0V14.343c0-.736.596-1.334 1.333-1.334zM20.418 13.01c.736 0 1.333.597 1.333 1.333v11.666a1.333 1.333 0 11-2.666 0V14.343c0-.736.597-1.334 1.333-1.334zM25.21 13.01c.736 0 1.333.597 1.333 1.333v6.5a1.333 1.333 0 01-2.666 0v-6.5c0-.736.597-1.334 1.333-1.334zM15.627 13.01c.736 0 1.333.597 1.333 1.333v4.708a1.333 1.333 0 11-2.667 0v-4.708c0-.736.597-1.334 1.334-1.334zM25.21 23.29c.736 0 1.333.598 1.333 1.334v1.386a1.333 1.333 0 01-2.666 0v-1.386c0-.736.597-1.333 1.333-1.333zM15.627 21.76c.736 0 1.333.596 1.333 1.333v2.916a1.333 1.333 0 11-2.667 0v-2.916c0-.736.597-1.334 1.334-1.334zM30.002 13.01c.736 0 1.333.597 1.333 1.333v11.666a1.333 1.333 0 11-2.666 0V14.343c0-.736.596-1.334 1.333-1.334z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconMoto = (className,fill) =>\r\n    <svg width={41} height={41} viewBox=\"0 0 41 41\" fill=\"none\" className={className}>\r\n      <g clipPath=\"url(#prefix__clip0)\">\r\n        <path fill=\"#fff\" d=\"M.75.177v40h40v-40z\" />\r\n        <path\r\n          d=\"M20.75 3.16a3.451 3.451 0 100 6.903 3.451 3.451 0 000-6.903zm-6.118 3.451a6.118 6.118 0 1112.236 0 6.118 6.118 0 01-12.236 0z\"\r\n          fill={fill}\r\n        />\r\n        <path\r\n          d=\"M24.201 6.593c0-.737.597-1.333 1.334-1.333h7.524a1.333 1.333 0 010 2.666h-7.524A1.333 1.333 0 0124.2 6.593zM7.107 6.593c0-.737.597-1.333 1.334-1.333h7.524a1.333 1.333 0 110 2.666H8.441a1.333 1.333 0 01-1.334-1.333zM16.335 30.243a4.415 4.415 0 118.83 0v5.003a4.415 4.415 0 11-8.83 0v-5.003zm4.415-1.748c-.966 0-1.748.783-1.748 1.748v5.003a1.748 1.748 0 003.496 0v-5.003c0-.965-.782-1.748-1.748-1.748z\"\r\n          fill={fill}\r\n        />\r\n        <path\r\n          d=\"M20.75 10.063a8.73 8.73 0 00-8.73 8.73v13.926c0 .736.598 1.333 1.334 1.333H18v-2.666h-3.313V18.791a6.063 6.063 0 0112.125 0v12.593h-2.98v2.667h4.314c.736 0 1.333-.597 1.333-1.333V18.792a8.73 8.73 0 00-8.73-8.729z\"\r\n          fill={fill}\r\n        />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path\r\n            fill=\"#fff\"\r\n            transform=\"matrix(0 1 1 0 .75 .177)\"\r\n            d=\"M0 0h40v40H0z\"\r\n          />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n\r\nconst IconLupa = (className,fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M9.05 4.06c-2.73 0-4.943 2.203-4.943 4.922 0 2.72 2.213 4.924 4.942 4.924 2.73 0 4.943-2.205 4.943-4.924 0-2.719-2.213-4.923-4.943-4.923zM2.767 8.981c0-3.455 2.812-6.256 6.281-6.256 3.47 0 6.281 2.801 6.281 6.256 0 3.456-2.812 6.257-6.28 6.257-3.47 0-6.282-2.801-6.282-6.257z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M12.572 12.67a.671.671 0 01.946-.012l3.493 3.396c.265.257.27.68.011.943a.671.671 0 01-.946.011l-3.493-3.396a.665.665 0 01-.011-.943z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconLeft = (className,fill) =>\r\n    <svg width={25} height={26} viewBox=\"0 0 25 26\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M16.934 3.767c.56.464.636 1.294.172 1.854l-6.49 7.817 6.492 7.87a1.317 1.317 0 11-2.031 1.676l-7.186-8.71a1.317 1.317 0 01.003-1.68L15.08 3.94a1.317 1.317 0 011.854-.172z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconRight = (className,fill) =>\r\n    <svg width={25} height={26} viewBox=\"0 0 25 26\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M8.066 23.16a1.317 1.317 0 01-.172-1.855l6.49-7.817-6.492-7.87a1.317 1.317 0 012.031-1.676l7.186 8.71a1.317 1.317 0 01-.003 1.68L9.92 22.986a1.317 1.317 0 01-1.854.172z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconBottom = (className,fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n    <path\r\n      d=\"M2.251 6.615a1.053 1.053 0 011.484-.138l6.254 5.192 6.295-5.194A1.053 1.053 0 1117.625 8.1l-6.968 5.75c-.39.321-.954.32-1.343-.003L2.389 8.098a1.053 1.053 0 01-.138-1.483z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconTop = (className,fill) =>\r\n  <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n  <path\r\n    d=\"M18.599 13.628a1.053 1.053 0 01-1.484.138l-6.253-5.192-6.296 5.194a1.054 1.054 0 01-1.341-1.625l6.968-5.75c.39-.321.954-.32 1.344.003l6.924 5.749c.448.372.51 1.036.138 1.483z\"\r\n    fill={fill}\r\n  />\r\n  </svg>\r\n\r\nconst IconDownloadFile = (className,fill) =>\r\n    <svg width={15} height={16} viewBox=\"0 0 15 16\" fill=\"none\" className={className}>\r\n      <g\r\n        clipPath=\"url(#prefix__clip0)\"\r\n        fill={fill}\r\n      >\r\n        <path d=\"M8.073 7.844a.5.5 0 01.5.5V12.5a.5.5 0 01-1 0V8.344a.5.5 0 01.5-.5z\" />\r\n        <path d=\"M5.76 11.06a.5.5 0 01.705-.065l1.597 1.326 1.609-1.327a.5.5 0 01.636.771l-1.928 1.59a.5.5 0 01-.637 0l-1.916-1.59a.5.5 0 01-.065-.705zM8.394 1.688a.5.5 0 01.5.5v2.654c0 .298.054.488.129.594.052.073.156.167.46.167h2.948a.5.5 0 010 1H9.483c-.557 0-.997-.198-1.274-.587-.254-.356-.315-.796-.315-1.174V2.188a.5.5 0 01.5-.5z\" />\r\n        <path d=\"M2.886 1.878a.5.5 0 01.5-.5h5.045a.5.5 0 01.35.143l4.317 4.244a.5.5 0 01.15.357v8.688a.5.5 0 01-.5.5H3.386a.5.5 0 01-.5-.5V1.877zm1 .5v11.931h8.362V6.332L8.227 2.378H3.886z\" />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path\r\n            fill=\"#fff\"\r\n            transform=\"matrix(0 1 1 0 0 .844)\"\r\n            d=\"M0 0h15v15H0z\"\r\n          />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n\r\nconst IconEnvio = (className,fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M7.189 13.034a1.083 1.083 0 100 2.167 1.083 1.083 0 000-2.167zm-2.417 1.084a2.417 2.417 0 114.833 0 2.417 2.417 0 01-4.833 0zM14.94 13.034a1.083 1.083 0 100 2.167 1.083 1.083 0 000-2.167zm-2.416 1.084a2.417 2.417 0 114.833 0 2.417 2.417 0 01-4.833 0z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M12.436 5.65c0-.37.298-.668.666-.668h2.875c.257 0 .49.147.601.378l1.593 3.309 1.122 1.421a.667.667 0 01.143.413v3.688a.667.667 0 01-.667.666h-1.913a.667.667 0 110-1.333h1.246v-2.79L17.08 9.438a.664.664 0 01-.077-.124l-1.443-2.997h-2.457a.667.667 0 01-.666-.667zm-9.583 8.54c0-.367.298-.666.666-.666h1.298a.667.667 0 010 1.333H3.519a.667.667 0 01-.666-.666zm5.61 0c0-.367.298-.666.666-.666h3.973a.667.667 0 010 1.333H9.13a.667.667 0 01-.666-.666z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M2.874 4.44c0-.367.298-.666.666-.666h9.438c.368 0 .666.299.666.667v3.958h3.792a.667.667 0 110 1.334h-4.458a.667.667 0 01-.667-.667V5.107h-8.77a.667.667 0 01-.667-.666z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M2.207 6.816c0-.368.298-.667.666-.667h4.854a.667.667 0 010 1.333H2.873a.667.667 0 01-.666-.666zM1.24 9.013c0-.368.298-.667.666-.667h4.855a.667.667 0 110 1.334H1.906a.667.667 0 01-.666-.667zM2.031 11.244c0-.368.299-.667.667-.667h2.74a.667.667 0 010 1.334h-2.74a.667.667 0 01-.667-.667z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconLocal = (className,fill) =>\r\n    <svg width={10} height={10} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M3.292 9.728c.368 0 .667.298.667.666v7.083h12.503v-7.083a.667.667 0 011.334 0v7.75a.667.667 0 01-.667.666H3.292a.667.667 0 01-.667-.667v-7.749c0-.368.299-.666.667-.666z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M6.302 13.333c0-.368.298-.666.667-.666h6.642c.368 0 .666.298.666.666v4.81a.667.667 0 11-1.333 0V14H7.635v4.143a.667.667 0 11-1.333 0v-4.81zM4.024 2.66a.667.667 0 01.573-.325h11.306c.235 0 .453.124.573.325l2.847 4.784a.666.666 0 01-.573 1.008h-17a.667.667 0 01-.573-1.008L4.024 2.66zm.952 1.008l-2.054 3.45h14.655l-2.053-3.45H4.976z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M1.75 7.355c.368 0 .667.299.667.667a1.468 1.468 0 002.936 0 .667.667 0 111.333 0 2.802 2.802 0 11-5.603 0c0-.368.299-.667.667-.667z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M5.98 7.355c.368 0 .667.299.667.667a1.468 1.468 0 102.936 0 .667.667 0 111.334 0 2.802 2.802 0 11-5.604 0c0-.368.299-.667.667-.667z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M10.21 7.355c.369 0 .667.299.667.667a1.468 1.468 0 102.937 0 .667.667 0 011.333 0 2.802 2.802 0 01-5.603 0c0-.368.298-.667.667-.667z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M14.48 7.355c.368 0 .667.299.667.667a1.468 1.468 0 002.936 0 .667.667 0 111.334 0 2.802 2.802 0 01-5.604 0c0-.368.299-.667.667-.667z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconPago = (className,fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n      <g\r\n        clipPath=\"url(#prefix__clip0)\"\r\n        fill={fill}\r\n      >\r\n        <path d=\"M9.36 16.614c0-.368.298-.666.666-.666h2.1a.667.667 0 010 1.333h-2.1a.667.667 0 01-.667-.666z\" />\r\n        <path d=\"M.973 10.685c0-.737.597-1.334 1.333-1.334h11.447c.736 0 1.333.597 1.333 1.334v7.595c0 .736-.597 1.333-1.334 1.333H2.306A1.333 1.333 0 01.973 18.28v-7.595zm12.78 0H2.306v7.595h11.447v-7.595z\" />\r\n        <path d=\"M1.297 13.371c0-.368.298-.667.667-.667H14.42a.667.667 0 110 1.334H1.964a.667.667 0 01-.667-.667zM14.648 9.063a.667.667 0 01.081-.94l1.608-1.351a.667.667 0 01.858 1.02l-1.608 1.352a.667.667 0 01-.94-.081z\" />\r\n        <path d=\"M4.345 10.131A1.333 1.333 0 014.47 8.21L13.21.864a1.333 1.333 0 011.879.163l4.886 5.814c.474.564.401 1.405-.163 1.879l-4.999 4.2a.667.667 0 11-.857-1.02l4.998-4.201-4.886-5.814-8.74 7.345.098.107a.667.667 0 11-.982.902l-.099-.108z\" />\r\n        <path d=\"M8.094 10.448a.667.667 0 01.08-.94l7.705-6.505a.667.667 0 11.86 1.02l-7.705 6.504a.667.667 0 01-.94-.079z\" />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path\r\n            fill={fill}\r\n            transform=\"matrix(0 1 1 0 .727 .413)\"\r\n            d=\"M0 0h20v20H0z\"\r\n          />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n\r\nconst IconEdit= (className,fill) =>\r\n    <svg width={15} height={16} viewBox=\"0 0 15 16\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M11.96 2.688L6.524 8.215 6.01 9.787l1.758-.502 5.439-5.509a.356.356 0 00.103-.25c.003-.12-.038-.343-.325-.652-.265-.286-.491-.334-.643-.328a.674.674 0 00-.383.142zm.343-1.141c.467-.018.968.165 1.415.647.426.46.604.928.591 1.36-.012.414-.196.74-.397.931l-5.525 5.596a.5.5 0 01-.218.13l-2.79.796a.5.5 0 01-.612-.636l.844-2.578a.5.5 0 01.118-.196l5.532-5.625a1.664 1.664 0 011.042-.426z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M10.558 2.982a.5.5 0 01.707-.004l1.711 1.687a.5.5 0 01-.702.712l-1.711-1.688a.5.5 0 01-.005-.707zM6.269 7.284a.5.5 0 01.707-.005l1.711 1.688a.5.5 0 11-.702.712L6.274 7.99a.5.5 0 01-.005-.707z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M2.188 3.834a.5.5 0 00-.5.5v8.29a.5.5 0 00.5.5h8.874a.5.5 0 00.5-.5v-4.16a.5.5 0 011 0v4.16a1.5 1.5 0 01-1.5 1.5H2.188a1.5 1.5 0 01-1.5-1.5v-8.29a1.5 1.5 0 011.5-1.5h5.539a.5.5 0 110 1h-5.54z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst Iconcheck= (className,fill) =>\r\n    <svg width={51} height={50} viewBox=\"0 0 51 50\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M32.466 19.314c.672.629.706 1.684.077 2.355l-8.372 8.938a1.667 1.667 0 01-2.484-.058l-3.281-3.847a1.667 1.667 0 112.536-2.163l2.071 2.428 7.097-7.576a1.667 1.667 0 012.356-.077z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M10.188 25c0-8.458 6.856-15.313 15.312-15.313 2.59 0 5.028.642 7.166 1.776l2.589-2.358A18.559 18.559 0 0025.5 6.353C15.203 6.353 6.854 14.701 6.854 25S15.203 43.645 25.5 43.645c10.298 0 18.646-8.348 18.646-18.646 0-3.775-1.122-7.288-3.05-10.224l-2.503 2.28a15.24 15.24 0 012.22 7.944c0 8.457-6.856 15.313-15.313 15.313-8.456 0-15.312-6.856-15.312-15.313z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconInfo= (className,fill) =>\r\n    <svg width={20} height={21} viewBox=\"0 0 20 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M10.35 4.209a6.125 6.125 0 100 12.25 6.125 6.125 0 000-12.25zm-7.457 6.125a7.458 7.458 0 1114.916 0 7.458 7.458 0 01-14.916 0z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M10.382 8.299a.785.785 0 01-.568-.235.768.768 0 01-.251-.573c0-.224.088-.419.25-.573a.785.785 0 01.569-.235c.22 0 .414.082.57.238.156.156.238.35.238.57 0 .22-.082.414-.238.57a.786.786 0 01-.57.238zm-.414-.394a.707.707 0 01-.015-.015l.015.014z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M9.514 9.738a.838.838 0 011.676 0v4.213a.838.838 0 01-1.676 0V9.738z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconUser= (className,fill) =>\r\n    <svg width={41} height={41} viewBox=\"0 0 41 41\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M20.964 7.689a5.367 5.367 0 100 10.735 5.367 5.367 0 000-10.735zm-8.034 5.367a8.034 8.034 0 1116.068 0 8.034 8.034 0 01-16.068 0zM9.785 27.094c1.844-2.825 5.103-4.888 10.91-4.888 5.58 0 8.878 2.099 10.869 4.864 1.598 2.221 2.298 4.836 2.782 6.642.09.334.171.64.25.912a1.334 1.334 0 01-1.28 1.706H8.566A1.333 1.333 0 017.27 34.68c.08-.325.157-.708.244-1.133.364-1.79.88-4.324 2.271-6.454zm.435 6.569h21.345c-.458-1.654-1.026-3.45-2.166-5.034-1.451-2.017-3.914-3.756-8.705-3.756-5.072 0-7.409 1.738-8.676 3.678-1.046 1.603-1.442 3.4-1.798 5.112z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconMail= (className,fill) =>\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n      <g\r\n        clipPath=\"url(#prefix__clip0)\"\r\n        fill={fill}\r\n      >\r\n        <path d=\"M4.807 9.483a2.5 2.5 0 012.504-2.497l12.994.018A2.5 2.5 0 0122.8 9.508l-.01 6.7a2.5 2.5 0 01-2.503 2.497l-12.994-.018a2.5 2.5 0 01-2.496-2.503l.01-6.701zm2.501-.83a.833.833 0 00-.834.832l-.01 6.7c0 .461.373.835.833.835l12.994.018c.46 0 .834-.372.834-.832l.01-6.7a.833.833 0 00-.833-.835L7.308 8.653z\" />\r\n        <path d=\"M5.484 8.028a.833.833 0 011.16-.208l7.229 5.034 6.99-5.006a.833.833 0 01.97 1.354l-7.468 5.35a.833.833 0 01-.962.007L5.692 9.188a.833.833 0 01-.208-1.16z\" />\r\n        <path d=\"M14.794 12.357a.833.833 0 011.164-.183l6.126 4.468a.833.833 0 01-.982 1.347l-6.126-4.468a.833.833 0 01-.182-1.164zM12.969 12.312a.833.833 0 00-1.164-.186l-6.138 4.451a.833.833 0 10.979 1.35l6.138-4.451a.833.833 0 00.185-1.164z\" />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path\r\n            fill={fill}\r\n            transform=\"matrix(0 1 1 0 .918 .736)\"\r\n            d=\"M0 0h25v25H0z\"\r\n          />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n\r\nconst IconMail2= (className,fill) =>\r\n    <svg width={61} height={61} viewBox=\"0 0 61 61\" fill=\"none\" className={className}>\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M8.62 32.334a6 6 0 012.478-8.116l27.53-14.65a6 6 0 018.115 2.478l7.555 14.197a6 6 0 01-2.478 8.115l-27.53 14.65a6 6 0 01-8.116-2.478L8.62 32.334zm4.357-4.584a2 2 0 00-.826 2.705l7.554 14.196a2 2 0 002.706.826l27.53-14.65a2 2 0 00.826-2.705l-7.555-14.197a2 2 0 00-2.705-.826l-27.53 14.65z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M8.409 28.487a2 2 0 012.221-1.75l20.993 2.487 9.14-18.502a2 2 0 113.586 1.772l-9.765 19.768a2 2 0 01-2.028 1.1L10.16 30.71a2 2 0 01-1.751-2.222z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M33.012 27.13a2 2 0 012.259-1.702l18.02 2.534a2 2 0 01-.558 3.961l-18.02-2.534a2 2 0 01-1.701-2.26zM29.097 29.096a2 2 0 00-2.674.924L18.46 46.38a2 2 0 003.597 1.75L30.02 31.77a2 2 0 00-.923-2.674zM5.778 9.095a2 2 0 012-2h19.5a2 2 0 110 4h-19.5a2 2 0 01-2-2zM5.778 16.345a2 2 0 012-2h6.125a2 2 0 010 4H7.778a2 2 0 01-2-2zM6.507 52.845a2 2 0 012-2h6.125a2 2 0 010 4H8.507a2 2 0 01-2-2z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconLock= (className,fill) =>\r\n    <svg width={41} height={41} viewBox=\"0 0 41 41\" fill=\"none\" className={className}>\r\n      <path fill=\"#fff\" d=\"M.41.162v40h40v-40z\" />\r\n      <path\r\n        d=\"M7.863 17.116c0-.736.597-1.333 1.334-1.333H29.78c.736 0 1.333.597 1.333 1.333v17.5c0 .736-.597 1.333-1.333 1.333H9.197a1.333 1.333 0 01-1.334-1.333v-17.5zm2.667 1.333v14.834h17.917V18.449H10.53z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M19.529 22.533c.736 0 1.333.597 1.333 1.333v4.167a1.333 1.333 0 01-2.667 0v-4.167c0-.736.597-1.333 1.334-1.333zM23.62 6.964c-.817-1.029-2.08-1.847-4.12-1.765-2.093.083-3.404.962-4.238 1.989-.848 1.045-1.227 2.284-1.316 3.08v6.765a1.333 1.333 0 01-2.667 0V10.2c0-.043.002-.085.006-.127.119-1.235.659-3.027 1.907-4.566 1.284-1.582 3.293-2.857 6.2-2.973 2.96-.118 5.016 1.133 6.317 2.772 1.255 1.58 1.784 3.479 1.898 4.776.004.04.006.078.006.118v6.833a1.333 1.333 0 01-2.667 0v-6.77c-.09-.898-.48-2.233-1.326-3.299z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconLockEye= (className,fill) =>\r\n    <svg width={40} height={41} viewBox=\"0 0 40 41\" fill=\"none\" className={className}>\r\n      <g clipPath=\"url(#prefix__clip0)\">\r\n        <path fill=\"#fff\" d=\"M0 .18v40h40v-40z\" />\r\n        <path\r\n          d=\"M7.453 17.135c0-.737.597-1.334 1.333-1.334H29.37c.736 0 1.333.597 1.333 1.334v8.545a1.333 1.333 0 11-2.666 0v-7.212H10.12V33.3h10.59a1.333 1.333 0 110 2.667H8.786a1.333 1.333 0 01-1.333-1.333v-17.5z\"\r\n          fill={fill}\r\n        />\r\n        <path\r\n          d=\"M23.21 6.982c-.817-1.029-2.081-1.847-4.12-1.765-2.093.084-3.404.962-4.238 1.99-.848 1.045-1.228 2.283-1.316 3.08v6.764a1.333 1.333 0 11-2.667 0v-6.833c0-.043.002-.085.006-.127.119-1.235.658-3.027 1.907-4.565 1.284-1.583 3.293-2.857 6.2-2.974 2.96-.118 5.016 1.133 6.317 2.772 1.255 1.581 1.783 3.48 1.898 4.776.004.04.006.079.006.118v6.833a1.333 1.333 0 01-2.667 0v-6.77c-.09-.898-.48-2.233-1.326-3.299zM20.725 31.913c3.622 4.271 6.931 4.927 9.525 4.336 2.563-.584 4.776-2.458 6.202-4.287-1.645-2.102-3.243-3.34-4.713-4.002-1.624-.732-3.172-.8-4.611-.467-2.591.601-4.891 2.53-6.403 4.42zm12.11-6.384c2.176.981 4.315 2.799 6.355 5.642.324.451.334 1.057.025 1.519-1.574 2.352-4.542 5.286-8.373 6.159-4.005.912-8.525-.514-12.858-6.082a1.333 1.333 0 01-.045-1.577c1.658-2.398 4.73-5.4 8.586-6.294 1.967-.456 4.116-.356 6.31.633z\"\r\n          fill={fill}\r\n        />\r\n        <path\r\n          d=\"M28.57 31.355a.513.513 0 100 1.027.513.513 0 000-1.027zm-3.18.514a3.18 3.18 0 116.36 0 3.18 3.18 0 01-6.36 0z\"\r\n          fill={fill}\r\n        />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path\r\n            fill=\"#fff\"\r\n            transform=\"matrix(0 1 1 0 0 .18)\"\r\n            d=\"M0 0h40v40H0z\"\r\n          />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n\r\nconst IconPhone= (className,fill) =>\r\n  <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n    <g clipPath=\"url(#prefix__clip0)\">\r\n      <path\r\n        d=\"M10.863 17.139a.564.564 0 11-1.127 0 .564.564 0 011.127 0z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M5.03 15.448c0-.368.298-.666.666-.666h9.206a.667.667 0 010 1.333H5.696a.667.667 0 01-.667-.667z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M4.766 2.694a2 2 0 012-2h7.068a2 2 0 012 2v15.084a2 2 0 01-2 2H6.766a2 2 0 01-2-2V2.694zm2-.666a.667.667 0 00-.667.666v15.084c0 .368.298.667.667.667h7.068a.667.667 0 00.666-.667V2.694a.667.667 0 00-.666-.666H6.766z\"\r\n        fill={fill}\r\n      />\r\n    </g>\r\n  </svg>\r\n\r\nconst IconPhone2= (className,fill) =>\r\n  <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n    <g clipPath=\"url(#prefix__clip0)\" fill={fill}>\r\n      <path d=\"M18.288 25.736a6.965 6.965 0 01-2.39-.427 25.482 25.482 0 01-9.253-5.898 25.479 25.479 0 01-5.898-9.253A6.915 6.915 0 01.394 6.76 7.078 7.078 0 011.6 3.742a7.107 7.107 0 012.44-2.173A6.961 6.961 0 017.372.736c.368 0 .687.258.764.618l1.226 5.722a.781.781 0 01-.211.716L7.055 9.888A20.564 20.564 0 0016.17 19l2.095-2.095a.781.781 0 01.716-.211l5.723 1.226c.36.077.617.395.617.764 0 1.184-.28 2.305-.832 3.333a7.08 7.08 0 01-5.19 3.644c-.338.05-.675.074-1.01.074zM6.748 2.333a5.411 5.411 0 00-3.87 2.305 5.382 5.382 0 00-.662 4.987 23.696 23.696 0 0014.216 14.216 5.382 5.382 0 004.986-.663 5.411 5.411 0 002.306-3.87l-4.655-.997L16.88 20.5a.781.781 0 01-.884.154A22.12 22.12 0 015.402 10.061a.781.781 0 01.155-.885l2.188-2.188-.997-4.655zM24.538 14.017a.781.781 0 01-.78-.781c0-6.03-4.907-10.937-10.938-10.937a.781.781 0 010-1.563c3.34 0 6.478 1.3 8.839 3.661 2.36 2.361 3.66 5.5 3.66 8.839 0 .431-.349.781-.78.781z\" />\r\n      <path d=\"M21.414 14.017a.781.781 0 01-.782-.781c0-4.308-3.504-7.812-7.812-7.812a.781.781 0 010-1.563c5.17 0 9.375 4.206 9.375 9.375 0 .431-.35.781-.781.781z\" />\r\n      <path d=\"M18.289 14.017a.781.781 0 01-.781-.781 4.693 4.693 0 00-4.688-4.688.781.781 0 010-1.562 6.257 6.257 0 016.25 6.25c0 .431-.35.78-.781.78z\" />\r\n    </g>\r\n    <defs>\r\n      <clipPath id=\"prefix__clip0\">\r\n        <path fill=\"#fff\" transform=\"translate(.32 .736)\" d=\"M0 0h25v25H0z\" />\r\n      </clipPath>\r\n    </defs>\r\n  </svg>\r\n\r\n\r\nconst IconCodCli= (className,fill) =>\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M5.271 5.554c0-.46.374-.834.834-.834H19.02c.46 0 .834.374.834.834v15.364c0 .46-.373.834-.834.834H6.105a.833.833 0 01-.834-.834V5.554zm1.667.833v13.698h11.25V6.387H6.938z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M10.421 13.236a.846.846 0 10-1.692 0 .846.846 0 001.692 0z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M11.348 13.236c0-.46.373-.833.833-.833h3.382a.833.833 0 110 1.667H12.18a.833.833 0 01-.833-.834z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconEye= (className,fill) =>\r\n    <svg width={41} height={41} viewBox=\"0 0 41 41\" fill=\"none\" className={className}>\r\n      <path fill=\"#fff\" d=\"M.47.18v40h40v-40z\" />\r\n      <path\r\n        d=\"M7.332 20.265c5.91 7.203 11.453 8.455 15.91 7.44 4.419-1.007 8.14-4.318 10.4-7.383-2.73-3.608-5.423-5.749-7.948-6.887-2.68-1.208-5.25-1.323-7.633-.77-4.463 1.034-8.33 4.44-10.729 7.6zm19.458-9.26c3.234 1.457 6.462 4.18 9.577 8.522.324.451.334 1.056.025 1.518-2.387 3.569-6.859 7.962-12.558 9.26-5.872 1.338-12.625-.697-19.229-9.182a1.333 1.333 0 01-.044-1.577c2.52-3.648 7.155-8.148 12.898-9.48 2.91-.674 6.081-.527 9.331.938z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M20.47 16.597a3.583 3.583 0 100 7.167 3.583 3.583 0 000-7.167zm-6.25 3.583a6.25 6.25 0 1112.5 0 6.25 6.25 0 01-12.5 0z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconEyeClose= (className,fill) =>\r\n    <svg width={20} height={21} viewBox=\"0 0 20 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M4.248 4.176a.667.667 0 01.943.024l10.042 10.563a.667.667 0 01-.967.918L4.225 5.12a.667.667 0 01.023-.943z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M8.956 7.234A3.125 3.125 0 0112.9 11.35l-1.108-1.156v-.013c0-.968-.769-1.757-1.729-1.79L8.956 7.234zm-.23 1.687l-.923-.963a3.125 3.125 0 004.324 4.512l-.923-.963a1.792 1.792 0 01-2.479-2.586z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M11.385 13.943c-2.229.507-5-.119-7.955-3.72.861-1.136 2.102-2.335 3.56-3.111l-.953-.995C4.307 7.12 2.92 8.595 2.044 9.863a.667.667 0 00.022.789c3.302 4.243 6.679 5.26 9.615 4.59a8.624 8.624 0 002.261-.877l-.96-1.002a7.127 7.127 0 01-1.597.58zm-3.08-7.387c.161-.05.324-.095.49-.134 1.19-.276 2.476-.218 3.816.386 1.262.569 2.608 1.64 3.973 3.443a11.032 11.032 0 01-2.432 2.406l.932.972a12.434 12.434 0 002.876-3.016.667.667 0 00-.013-.76c-1.557-2.17-3.171-3.532-4.788-4.26-1.625-.733-3.211-.807-4.666-.47a8.278 8.278 0 00-1.2.378l1.012 1.055z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n  \r\n  const IconFolder= (className,fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M2.587 8.368a.667.667 0 01.556-.299H15.09c.268 0 .51.16.614.406l3.167 7.437a.667.667 0 01-.613.928H6.311a.667.667 0 01-.614-.406L2.53 8.997a.667.667 0 01.057-.629zm1.565 1.035l2.6 6.103h10.497l-2.6-6.103H4.153z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M5.078 4.989c0-.368.299-.667.667-.667h5.937c.368 0 .667.299.667.667v.946h5.938c.368 0 .667.298.667.667v9.548a.667.667 0 01-1.333 0V7.268h-5.939a.667.667 0 01-.666-.667v-.945H6.41v2.598a.667.667 0 01-1.333 0V4.99z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\n  const IconDots= (className,fill) =>\r\n    <svg width={30} height={31} viewBox=\"0 0 30 31\" fill=\"none\" className={className}>\r\n    <path\r\n      d=\"M16.5 9.025a1.5 1.5 0 10-3 0 1.5 1.5 0 003 0zM16.5 15.057a1.5 1.5 0 10-3 0 1.5 1.5 0 003 0zM16.5 21.089a1.5 1.5 0 10-3 0 1.5 1.5 0 003 0z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconLike= (className,fill) =>\r\n  <svg width={100} height={101} viewBox=\"0 0 100 101\" fill=\"none\" className={className}>\r\n    <path\r\n      d=\"M58.642 10.556A3.333 3.333 0 0162.386 9.5c6.57 2.383 10.008 6.277 10.904 10.781.83 4.174-.705 8.04-2.267 10.348l-3.78 6.087h10.139c5.99-.047 9.921 2.35 11.899 6.051 1.78 3.334 1.632 7.102 1.062 9.535l-4.778 25.032c-.01.051-.02.102-.033.153-2.224 9.266-8.413 12.71-12.308 12.948a3.364 3.364 0 01-.204.007H45.244c-4.435.092-7.669-1.361-9.618-3.886-1.75-2.268-2.083-4.918-1.877-6.796V42.99c0-.754.256-1.486.726-2.076L58.64 10.556zm3.636 6.136L40.416 44.154v35.81c0 .157-.011.313-.033.468-.08.564.038 1.424.52 2.05.362.467 1.35 1.359 4.228 1.293l.077-.001h27.675c.839-.103 4.575-1.324 6.15-7.77l4.775-25.026a3.36 3.36 0 01.034-.157c.352-1.457.335-3.46-.442-4.914-.599-1.122-1.976-2.56-5.977-2.525H61.25a3.333 3.333 0 01-2.831-5.092l6.979-11.24c.027-.043.055-.086.084-.128.922-1.343 1.65-3.429 1.27-5.341-.27-1.359-1.227-3.244-4.473-4.889z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      d=\"M12.084 50.343c0-5.523 4.477-10 10-10h14.945a3.333 3.333 0 013.333 3.334v43.437a3.333 3.333 0 01-3.333 3.333H22.084c-5.523 0-10-4.477-10-10V50.343zm10-3.333a3.333 3.333 0 00-3.333 3.333v30.104a3.333 3.333 0 003.333 3.334h11.612V47.01H22.084z\"\r\n      fill={fill}\r\n    />\r\n  </svg>\r\n\r\nconst IconMoneda= (className,fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n    <path\r\n      d=\"M10.532 4.151a6.125 6.125 0 100 12.25 6.125 6.125 0 000-12.25zm-7.459 6.125a7.458 7.458 0 1114.917 0 7.458 7.458 0 01-14.917 0z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      d=\"M13.496 8.375c.337.149.49.542.341.879l-1.971 4.466a.667.667 0 11-1.22-.54l1.971-4.465a.667.667 0 01.88-.34z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      d=\"M9 11.676c-.678 0-1.226-.134-1.643-.402a.557.557 0 01-.298-.504c0-.124.034-.224.102-.298a.318.318 0 01.252-.122c.106 0 .252.05.439.15.199.093.38.165.541.214.168.05.38.075.635.075.261 0 .463-.043.607-.13.149-.088.224-.21.224-.365a.34.34 0 00-.094-.252c-.056-.062-.162-.118-.317-.168a5.499 5.499 0 00-.69-.186c-.555-.112-.953-.271-1.195-.476-.237-.206-.355-.489-.355-.85 0-.273.08-.52.243-.737a1.53 1.53 0 01.662-.513c.286-.125.61-.187.97-.187.262 0 .514.034.757.103.243.062.46.155.653.28.2.124.299.29.299.494 0 .125-.034.23-.103.318a.318.318 0 01-.252.121.598.598 0 01-.205-.037 5.938 5.938 0 01-.243-.131 3.368 3.368 0 00-.466-.205 1.372 1.372 0 00-.486-.075c-.23 0-.414.047-.55.14a.445.445 0 00-.196.383c0 .155.068.273.205.354.137.081.401.162.793.243.417.087.744.187.98.299.237.112.405.252.504.42.106.168.159.382.159.644 0 .423-.177.762-.532 1.017-.348.255-.815.383-1.4.383z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconVerified= (className,fill) =>\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n    <path\r\n      d=\"M9.976 2.873a.667.667 0 01.509.002l5.52 2.308c.216.09.368.286.403.516.238 1.582.235 4.055-.555 6.385-.797 2.349-2.415 4.602-5.42 5.571a.667.667 0 01-.429-.006c-2.455-.875-6.893-4.482-6.096-11.922a.667.667 0 01.411-.546l5.657-2.308zm-4.779 3.39c-.511 6.249 3.075 9.235 5.045 10.05 2.359-.842 3.667-2.65 4.348-4.657.65-1.915.708-3.968.547-5.39l-4.912-2.054-5.028 2.051z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      d=\"M12.966 7.348a.667.667 0 01.031.942L9.65 11.865a.667.667 0 01-.994-.023l-1.312-1.538a.667.667 0 011.014-.866l.828.971 2.84-3.03a.667.667 0 01.941-.03z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconHelp= (className,fill) => \r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M11.054 3.708c-3.37 0-6.1 2.742-6.1 6.125s2.73 6.125 6.1 6.125c3.37 0 6.102-2.742 6.102-6.125s-2.732-6.125-6.102-6.125zM3.625 9.833c0-4.12 3.326-7.458 7.43-7.458 4.103 0 7.429 3.339 7.429 7.458 0 4.12-3.326 7.458-7.43 7.458-4.103 0-7.429-3.339-7.429-7.458z\"\r\n        fill={fill}\r\n      />\r\n      <path\r\n        d=\"M11.996 8.071c0 .201-.056.392-.175.576v.001c-.091.144-.273.266-.595.336a3.585 3.585 0 00-.447.113.766.766 0 00-.294.16.564.564 0 00-.138.274 1.59 1.59 0 00-.034.354v1.171c0 .184.05.355.174.485.118.147.294.202.48.202.188 0 .365-.05.492-.183.126-.133.172-.313.172-.504v-.877c.498-.129.908-.363 1.218-.71l.002-.001c.347-.395.514-.894.514-1.48 0-.611-.236-1.123-.7-1.52-.46-.395-1.035-.587-1.708-.587-.54 0-1.04.166-1.499.493-.462.327-.714.754-.714 1.272a.7.7 0 00.177.488l.005.006.006.006a.653.653 0 00.455.177.567.567 0 00.359-.124.62.62 0 00.165-.207c.044-.081.084-.181.12-.295a.715.715 0 01.318-.4h.002c.169-.108.378-.166.636-.166.31 0 .549.09.734.259.18.165.275.384.275.681zm-1.03 4.257c.198 0 .371.072.511.212.147.139.226.314.226.516a.694.694 0 01-.226.517.704.704 0 01-.51.212.704.704 0 01-.513-.214.71.71 0 01-.213-.515.71.71 0 01.213-.514.705.705 0 01.513-.214zm.373.355l.013.014-.013-.014zm-.372-.155a.506.506 0 00-.372.155.51.51 0 010 0 .506.506 0 01.372-.155z\"\r\n        fill={fill}\r\n      />\r\n    </svg>\r\n\r\nconst IconExit= (className,fill) => \r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n    <path\r\n      d=\"M6.611 7.528V3.653a2 2 0 012-2h6.167a2 2 0 012 2V16.82a2 2 0 01-2 2H8.611a2 2 0 01-2-2v-3.875h1.334v3.875c0 .368.298.666.666.666h6.167a.667.667 0 00.667-.666V3.653a.667.667 0 00-.667-.667H8.611a.667.667 0 00-.666.667v3.875H6.61z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      d=\"M4.861 10.227c0-.368.299-.667.667-.667h6.439a.667.667 0 110 1.334H5.528a.667.667 0 01-.667-.667z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      d=\"M9.805 13.726a.667.667 0 01-.087-.939l2.111-2.543-2.112-2.56a.667.667 0 111.028-.849l2.464 2.987a.667.667 0 01-.001.85l-2.464 2.967a.667.667 0 01-.939.087z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconTable= (className,fill) => \r\n    <svg width={25} height={26} viewBox=\"0 0 25 26\" fill=\"none\" className={className}>\r\n    <g\r\n      clipPath=\"url(#prefix__clip0)\"\r\n      fillRule=\"evenodd\"\r\n      clipRule=\"evenodd\"\r\n      fill={fill}\r\n    >\r\n      <path d=\"M.066 1.004C.066.544.44.171.9.171h23.229c.46 0 .833.373.833.833v23.203c0 .46-.373.834-.833.834H.899a.833.833 0 01-.833-.834V1.004zm1.667.834v21.536h21.563V1.838H1.733z\" />\r\n      <path d=\"M4.191 6.735a2.5 2.5 0 012.5-2.5h4.124c.46 0 .833.373.833.833v5.924c0 .46-.373.833-.833.833h-5.79a.833.833 0 01-.834-.833V6.735zm2.5-.834a.833.833 0 00-.833.834v3.423h4.124V5.902h-3.29zM20.84 18.516a2.5 2.5 0 01-2.5 2.5h-4.124a.833.833 0 01-.833-.834v-5.924c0-.46.373-.833.833-.833h5.79c.46 0 .834.373.834.833v4.258zm-2.5.833c.46 0 .833-.373.833-.833v-3.424H15.05v4.257h3.29zM18.406 4.301a2.5 2.5 0 012.5 2.5v4.124c0 .46-.373.833-.833.833h-5.924a.833.833 0 01-.833-.833v-5.79c0-.46.373-.834.833-.834h4.257zm.834 2.5a.833.833 0 00-.834-.833h-3.424v4.123h4.258v-3.29zM6.625 20.949a2.5 2.5 0 01-2.5-2.5v-4.124c0-.46.373-.833.833-.833h5.924c.46 0 .834.373.834.833v5.79c0 .46-.373.834-.834.834H6.625zm-.833-2.5c0 .46.373.833.833.833h3.424v-4.124H5.792v3.29z\" />\r\n    </g>\r\n    <defs>\r\n      <clipPath id=\"prefix__clip0\">\r\n        <path\r\n          fill=\"#fff\"\r\n          transform=\"matrix(0 1 1 0 0 .125)\"\r\n          d=\"M0 0h25v25H0z\"\r\n        />\r\n      </clipPath>\r\n    </defs>\r\n    </svg>\r\n\r\nconst IconFoco = (className) => \r\n    <svg width={30} height={31} viewBox=\"0 0 30 31\" fill=\"none\" className={className}>\r\n    <rect y={0.652} width={30} height={30} rx={15} fill=\"#F7C545\" />\r\n    <path\r\n      d=\"M22.525 13.008a.692.692 0 01-.511.206.742.742 0 01-.526-.206.808.808 0 01-.22-.528l-.175-6.062a.778.778 0 01.22-.587.798.798 0 01.584-.25h.234c.224 0 .414.084.57.25a.755.755 0 01.233.587l-.175 6.062a.777.777 0 01-.234.528zm-.467 1.38c.224 0 .418.083.584.25a.806.806 0 01.248.587v.234c0 .225-.082.421-.248.587a.798.798 0 01-.584.25h-.088a.797.797 0 01-.584-.25.805.805 0 01-.249-.587v-.234c0-.226.083-.421.249-.588a.798.798 0 01.584-.25h.088zM12.033 7.866c-2.383.498-4.314 2.41-4.823 4.808-.429 2.024.1 4.057 1.451 5.576a4.108 4.108 0 011.04 2.692v1.055c0 .701.46 1.297 1.093 1.504.208 1.231 1.277 2.222 2.598 2.222 1.32 0 2.39-.99 2.598-2.222a1.585 1.585 0 001.093-1.504v-1.055c0-.971.38-1.94 1.07-2.727a6.314 6.314 0 001.567-4.163c0-3.993-3.654-7.029-7.687-6.186zm1.36 16.802c-.679 0-1.273-.466-1.493-1.093h2.984c-.22.627-.814 1.093-1.492 1.093zm2.636-2.671c0 .29-.237.527-.528.527h-4.218a.528.528 0 01-.527-.527v-.528h5.273v.528zm1.331-4.477c-.735.839-1.187 1.85-1.302 2.895h-5.331a5.211 5.211 0 00-1.277-2.866c-1.127-1.266-1.567-2.963-1.208-4.656.42-1.976 2.03-3.582 4.007-3.995 3.375-.705 6.416 1.83 6.416 5.154a5.26 5.26 0 01-1.305 3.468z\"\r\n      fill=\"#fff\"\r\n    />\r\n    </svg>\r\n\r\nconst IconWarning = (className, fill) => \r\n    <svg width={30} height={31} viewBox=\"0 0 30 31\" fill=\"none\" className={className}>\r\n    <path \r\n      d=\"M15.377 20.11c.328 0 .618.12.851.352.245.231.377.523.377.859 0 .336-.132.628-.377.86a1.178 1.178 0 01-.852.351c-.33 0-.621-.122-.855-.356a1.178 1.178 0 01-.356-.855c0-.33.122-.622.356-.856.234-.234.525-.356.855-.356zm.62.59l.023.023-.023-.022z\"\r\n      fill={fill}\r\n    />\r\n    <path\r\n      d=\"M16.679 17.952a1.257 1.257 0 11-2.514 0v-6.32a1.257 1.257 0 012.514 0v6.32z\"\r\n      fill={fill}\r\n    />\r\n    <path \r\n      d=\"M15.422 2.205c.402 0 .773.215.974.563l12.805 22.179a1.125 1.125 0 01-.974 1.687H2.617a1.125 1.125 0 01-.975-1.687l12.806-22.18c.2-.347.572-.562.974-.562zM4.565 24.385h21.713L15.423 5.58 4.565 24.384z\"\r\n      fill={fill}\r\n    />\r\n    </svg>\r\n\r\nconst IconCompatible = (className, fill) => \r\n    <svg width={20} height={20} viewBox=\"0 0 20 20\" fill=\"none\" className={className}>\r\n    <circle cx={10} cy={10} r={10} fill={fill} />\r\n    <path \r\n      d=\"M10.243 3.232a.4.4 0 01.434.08l1.83 1.756 1.244-1.244a.4.4 0 01.559-.006l1.86 1.774a.4.4 0 01-.002.58l-1.386 1.317 1.895 1.823A.4.4 0 0116.4 10h-6a.4.4 0 01-.4-.4v-6a.4.4 0 01.243-.368zm.557 1.306V9.2h4.607l-1.481-1.424a.4.4 0 01.001-.579l1.386-1.316-1.273-1.215-1.244 1.245a.4.4 0 01-.56.006L10.8 4.538zM9.757 16.768a.4.4 0 01-.434-.08l-1.83-1.756-1.244 1.244a.4.4 0 01-.559.006l-1.86-1.774a.4.4 0 01.002-.58l1.386-1.317-1.895-1.823A.4.4 0 013.6 10h6c.22 0 .4.18.4.4v6a.4.4 0 01-.243.368zM9.2 15.46V10.8H4.593l1.481 1.424a.4.4 0 01-.001.579l-1.386 1.316 1.273 1.215 1.244-1.245a.4.4 0 01.56-.006L9.2 15.461z\"\r\n      fill=\"#F4F6F9\"\r\n    />\r\n    </svg>\r\n//Justin ---\r\nconst IconBirthday=(className,fill)=>\r\n    <svg width={30} height={30} viewBox=\"0 0 30 31\" fill=\"none\" className={className}>\r\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0.599609 29.4405C0.599609 28.9103 1.02942 28.4805 1.55961 28.4805L28.4396 28.4805C28.9698 28.4805 29.3996 28.9103 29.3996 29.4405C29.3996 29.9707 28.9698 30.4005 28.4396 30.4005L1.55961 30.4005C1.02942 30.4005 0.599609 29.9707 0.599609 29.4405Z\" fill={fill}/>\r\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M24.6771 15.6991C24.2873 15.3703 23.8023 15.2649 23.5075 15.2698L23.4918 15.27L7.55407 15.2699C6.25229 15.2699 5.56935 15.7253 5.19423 16.1842C4.78659 16.6828 4.65504 17.2953 4.66038 17.6742L4.66057 17.6877L4.66048 29.3437C4.66048 29.8738 4.23067 30.3037 3.70048 30.3037C3.17028 30.3037 2.74048 29.8738 2.74048 29.3437L2.74048 17.6939C2.73159 16.9472 2.96726 15.8748 3.70771 14.969C4.48312 14.0204 5.73491 13.3499 7.55407 13.3499L23.4847 13.3499C24.1568 13.3408 25.1133 13.5552 25.915 14.2314C26.7577 14.9421 27.3271 16.0767 27.3063 17.6941L27.3063 29.3437C27.3063 29.8738 26.8765 30.3037 26.3463 30.3037C25.8161 30.3037 25.3863 29.8738 25.3863 29.3437L25.3863 17.6744C25.4018 16.5551 25.0282 15.9952 24.6771 15.6991Z\" fill={fill}/>\r\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.60416 17.3672C4.12365 17.2612 4.63072 17.5964 4.73674 18.1159C4.81228 18.4861 5.03802 18.8997 5.3852 19.2549C5.73179 19.6095 6.14514 19.8502 6.5304 19.9384C6.89568 20.022 7.22741 19.9713 7.52621 19.758C7.8439 19.5312 8.23148 19.0427 8.51338 18.0465C8.63217 17.6267 9.01911 17.3397 9.45532 17.348C9.89152 17.3563 10.2673 17.6577 10.3701 18.0817C10.4893 18.5734 10.6662 19.0927 10.9649 19.4635C11.2192 19.7792 11.5783 20.0177 12.2478 19.9672C13.6269 19.8631 14.079 18.7891 14.1208 18.2356C14.1567 17.7607 14.5353 17.3839 15.0103 17.3502C15.4854 17.3166 15.9133 17.6364 16.0157 18.1015C16.2969 19.379 17.1734 19.9645 18.0401 19.9645C18.542 19.9645 19.3743 19.6215 19.7916 18.06C19.9074 17.6267 20.3078 17.3313 20.756 17.3486C21.2041 17.3658 21.5806 17.691 21.6628 18.1319C21.7458 18.5773 22.0283 19.046 22.4525 19.4086C22.8772 19.7714 23.3687 19.9645 23.8001 19.9645C24.3859 19.9645 24.697 19.8415 24.8865 19.6688C25.0802 19.4922 25.3167 19.1085 25.4047 18.2138C25.4566 17.6862 25.9264 17.3005 26.4541 17.3525C26.9817 17.4044 27.3674 17.8742 27.3155 18.4019C27.2035 19.5397 26.864 20.4643 26.1798 21.0879C25.4914 21.7154 24.6224 21.8845 23.8001 21.8845C22.8232 21.8845 21.9041 21.4655 21.2051 20.8681C21.0509 20.7363 20.9038 20.5928 20.7662 20.4389C20.0513 21.3926 19.0743 21.8845 18.0401 21.8845C16.9032 21.8845 15.8653 21.3958 15.1275 20.5398C14.5576 21.2219 13.6816 21.7845 12.3923 21.8818C11.0446 21.9835 10.0892 21.437 9.46968 20.668C9.44662 20.6393 9.42409 20.6105 9.40205 20.5814C9.17543 20.8737 8.92177 21.1208 8.64162 21.3208C7.83737 21.8948 6.92786 21.9991 6.10198 21.81C5.29607 21.6255 4.56833 21.1659 4.01214 20.5969C3.45656 20.0285 3.01785 19.2952 2.85551 18.4998C2.7495 17.9803 3.08468 17.4733 3.60416 17.3672Z\" fill={fill}/>\r\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.167 9.21289C15.6972 9.21289 16.127 9.6427 16.127 10.1729L16.127 14.2168C16.127 14.747 15.6972 15.1768 15.167 15.1768C14.6368 15.1768 14.207 14.747 14.207 14.2168L14.207 10.1729C14.207 9.6427 14.6368 9.21289 15.167 9.21289Z\" fill={fill}/>\r\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.8075 0.846277C17.095 1.10524 17.1989 1.51152 17.0711 1.87676C16.9335 2.26983 16.9006 2.53567 16.9074 2.73132C16.914 2.9218 16.9599 3.10022 17.057 3.32304C17.142 3.51816 17.2474 3.70928 17.3897 3.96728C17.4289 4.03837 17.471 4.11454 17.5161 4.19727C17.7145 4.56066 17.9417 4.99704 18.1536 5.53997C18.6503 6.81277 18.4439 8.01521 17.729 8.89217C17.0434 9.73316 15.9694 10.1792 14.8805 10.1792C12.8685 10.1792 11.2725 8.23583 11.5662 5.77521C11.7301 4.40212 12.5128 3.26751 13.3277 2.4428C14.1482 1.61255 15.0892 1.00599 15.7551 0.691548C16.105 0.526311 16.5199 0.587315 16.8075 0.846277ZM14.6934 3.79235C14.0354 4.45823 13.5662 5.2187 13.4727 6.00274C13.2864 7.56342 14.2504 8.25924 14.8805 8.25924C15.4705 8.25924 15.9665 8.01547 16.2409 7.67898C16.4859 7.37845 16.6294 6.91575 16.3649 6.23797C16.1962 5.80561 16.0131 5.45105 15.8308 5.11717C15.7986 5.05818 15.7651 4.99753 15.7309 4.93561C15.5827 4.6676 15.4213 4.37561 15.2968 4.08987C15.2078 3.88561 15.13 3.66923 15.0745 3.43533C14.9456 3.54744 14.8177 3.66662 14.6934 3.79235Z\" fill={fill}/>\r\n    </svg>\r\n\r\nconst IconAlert=(className,fill)=>\r\n    <svg width={50} height={30} viewBox=\"0 0 20 21\" fill=\"none\" className={className}>\r\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.251 13.999C10.4701 13.999 10.6633 14.0794 10.8189 14.2338C10.9822 14.3881 11.0702 14.5827 11.0702 14.8067C11.0702 15.0306 10.9822 15.2253 10.8189 15.3796C10.6633 15.534 10.4701 15.6144 10.251 15.6144C10.0307 15.6144 9.83663 15.5331 9.68064 15.3771C9.52464 15.2211 9.44336 15.027 9.44336 14.8067C9.44336 14.5864 9.52464 14.3923 9.68064 14.2363C9.83663 14.0803 10.0307 13.999 10.251 13.999ZM10.6647 14.3931C10.6699 14.398 10.6751 14.403 10.6801 14.408L10.6647 14.3931Z\" fill={fill}/>\r\n    <path d=\"M11.1191 12.5605C11.1191 13.0233 10.744 13.3984 10.2812 13.3984C9.81848 13.3984 9.44334 13.0233 9.44334 12.5605L9.44334 8.34714C9.44334 7.88438 9.81848 7.50924 10.2812 7.50924C10.744 7.50924 11.1191 7.88438 11.1191 8.34714L11.1191 12.5605Z\" fill={fill}/>\r\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.2811 2.0625C10.5491 2.0625 10.7967 2.20545 10.9306 2.4375L19.4674 17.2236C19.6014 17.4557 19.6014 17.7416 19.4674 17.9736C19.3334 18.2057 19.0859 18.3486 18.8179 18.3486L1.74435 18.3486C1.4764 18.3486 1.22881 18.2057 1.09484 17.9736C0.960861 17.7416 0.960861 17.4557 1.09484 17.2236L9.63161 2.4375C9.76558 2.20545 10.0132 2.0625 10.2811 2.0625ZM3.04339 16.8486L17.5189 16.8486L10.2811 4.3125L3.04339 16.8486Z\" fill={fill}/>\r\n    </svg>\r\n\r\nconst IconCamera=(className,fill)=>\r\n<svg width=\"17\" height=\"15\" viewBox=\"0 0 17 15\" fill=\"none\">\r\n<path d=\"M2.58611 1.93594H4.98611L6.58611 0.335938H11.3861L12.9861 1.93594H15.3861C15.8105 1.93594 16.2174 2.10451 16.5175 2.40457C16.8175 2.70462 16.9861 3.11159 16.9861 3.53594V13.1359C16.9861 13.5603 16.8175 13.9672 16.5175 14.2673C16.2174 14.5674 15.8105 14.7359 15.3861 14.7359H2.58611C2.16177 14.7359 1.7548 14.5674 1.45474 14.2673C1.15469 13.9672 0.986115 13.5603 0.986115 13.1359V3.53594C0.986115 3.11159 1.15469 2.70462 1.45474 2.40457C1.7548 2.10451 2.16177 1.93594 2.58611 1.93594ZM8.98611 4.33594C7.92525 4.33594 6.90783 4.75736 6.15769 5.50751C5.40754 6.25766 4.98611 7.27507 4.98611 8.33594C4.98611 9.3968 5.40754 10.4142 6.15769 11.1644C6.90783 11.9145 7.92525 12.3359 8.98611 12.3359C10.047 12.3359 11.0644 11.9145 11.8145 11.1644C12.5647 10.4142 12.9861 9.3968 12.9861 8.33594C12.9861 7.27507 12.5647 6.25766 11.8145 5.50751C11.0644 4.75736 10.047 4.33594 8.98611 4.33594ZM8.98611 5.93594C9.62263 5.93594 10.2331 6.18879 10.6832 6.63888C11.1333 7.08897 11.3861 7.69942 11.3861 8.33594C11.3861 8.97246 11.1333 9.58291 10.6832 10.033C10.2331 10.4831 9.62263 10.7359 8.98611 10.7359C8.3496 10.7359 7.73915 10.4831 7.28906 10.033C6.83897 9.58291 6.58611 8.97246 6.58611 8.33594C6.58611 7.69942 6.83897 7.08897 7.28906 6.63888C7.73915 6.18879 8.3496 5.93594 8.98611 5.93594Z\" fill={fill}/>\r\n</svg>\r\n\r\nconst IconFoco2=(className,fill)=>\r\n  <svg width={11} height={16} viewBox=\"0 0 11 16\" fill=\"none\" className={className}>\r\n    <path\r\n      d=\"M4.47.618A5.245 5.245 0 00.453 4.625c-.358 1.687.083 3.38 1.21 4.647.55.619.865 1.436.865 2.243v.88c0 .584.383 1.081.911 1.253.174 1.026 1.065 1.852 2.166 1.852 1.1 0 1.991-.825 2.165-1.852a1.32 1.32 0 00.911-1.254v-.879c0-.809.317-1.616.892-2.272a5.262 5.262 0 001.305-3.47c0-3.327-3.045-5.857-6.406-5.155zM5.605 14.62c-.565 0-1.06-.389-1.243-.911h2.486c-.183.522-.678.911-1.243.911zM7.8 12.394a.44.44 0 01-.44.44H3.847a.44.44 0 01-.44-.44v-.44h4.395v.44zm1.11-3.73c-.613.699-.99 1.542-1.086 2.412H3.382a4.343 4.343 0 00-1.064-2.388c-.939-1.055-1.306-2.47-1.006-3.88a4.374 4.374 0 013.339-3.33C7.464.89 9.998 3.003 9.998 5.773c0 1.064-.386 2.09-1.087 2.89z\"\r\n      fill={fill}\r\n    />\r\n  </svg>\r\n\r\nconst IconHappy=(className,fill)=>\r\n  <svg width={41} height={40} viewBox=\"0 0 41 40\" fill=\"none\" className={className}>\r\n    <g clipPath=\"url(#prefix__clip0)\" fill={fill}>\r\n      <path d=\"M34.642 5.858A19.87 19.87 0 0020.5 0 19.89 19.89 0 009.182 3.51a.781.781 0 00.886 1.287A18.333 18.333 0 0120.5 1.563c10.166 0 18.438 8.27 18.438 18.437 0 10.166-8.272 18.438-18.438 18.438-10.166 0-18.438-8.272-18.438-18.438 0-3.748 1.119-7.355 3.235-10.432a.78.78 0 10-1.288-.885A19.886 19.886 0 00.5 20a19.87 19.87 0 005.858 14.142A19.87 19.87 0 0020.5 40a19.87 19.87 0 0014.142-5.858A19.87 19.87 0 0040.5 20a19.87 19.87 0 00-5.858-14.142z\" />\r\n      <path d=\"M6.91 7.191a.78.78 0 00.553-1.333.781.781 0 10-.553 1.334zM14.223 25.413a.781.781 0 00-1.509.404 8.072 8.072 0 007.786 5.975 8.072 8.072 0 007.786-5.975.781.781 0 00-1.51-.404A6.507 6.507 0 0120.5 30.23a6.507 6.507 0 01-6.277-4.816zM24.76 19.693a2.064 2.064 0 011.99-1.527c.93 0 1.749.628 1.99 1.527a.781.781 0 001.51-.404 3.627 3.627 0 00-3.5-2.686 3.628 3.628 0 00-3.499 2.686.781.781 0 101.51.404zM14.25 16.604a3.627 3.627 0 00-3.499 2.685.781.781 0 101.509.404 2.064 2.064 0 011.99-1.527c.93 0 1.749.628 1.99 1.527a.782.782 0 001.509-.404 3.627 3.627 0 00-3.5-2.686z\" />\r\n    </g>\r\n    <defs>\r\n      <clipPath id=\"prefix__clip0\">\r\n        <path fill=\"#fff\" transform=\"translate(.5)\" d=\"M0 0h40v40H0z\" />\r\n      </clipPath>\r\n    </defs>\r\n  </svg>\r\n\r\nconst IconLocation=(className,fill)=>\r\n  <svg width=\"10\" height=\"12\" viewBox=\"0 0 10 12\" fill=\"none\" className={className}>\r\n    <path d=\"M5.2497 0C2.81392 0 0.832031 1.98189 0.832031 4.41792C0.832031 5.05333 0.962086 5.66 1.21839 6.22124C2.32293 8.63824 4.44064 11.1901 5.06353 11.9145C5.11019 11.9687 5.17823 11.9999 5.24983 11.9999C5.32142 11.9999 5.38946 11.9687 5.43613 11.9145C6.05877 11.1902 8.17648 8.63848 9.28139 6.22124C9.53781 5.66 9.66775 5.05333 9.66775 4.41792C9.6675 1.98189 7.68561 0 5.2497 0ZM5.2497 6.7126C3.98441 6.7126 2.9549 5.68309 2.9549 4.41779C2.9549 3.15237 3.98441 2.12287 5.2497 2.12287C6.515 2.12287 7.54451 3.15237 7.54451 4.41779C7.54463 5.68309 6.51512 6.7126 5.2497 6.7126Z\" fill={fill}/>\r\n  </svg>\r\n\r\nconst IconMaleta=(className,fill)=>\r\n  <svg width={13} height={12} viewBox=\"0 0 13 12\" fill=\"none\">\r\n  <g clipPath=\"url(#prefix__clip0)\" fill={fill}>\r\n    <path d=\"M10.705 6.453c-.766.574-1.701.973-2.72 1.17A1.503 1.503 0 016.5 8.913a1.503 1.503 0 01-1.486-1.29c-1.018-.197-1.953-.596-2.719-1.17C1.137 5.584.5 4.42.5 3.176v6.386c0 .955.777 1.732 1.731 1.732h8.538c.954 0 1.731-.777 1.731-1.732V3.176c0 1.245-.637 2.408-1.795 3.277z\" />\r\n    <path d=\"M5 6.902v-.638c0-.194.157-.352.35-.352h2.3c.193 0 .35.158.35.352v.638c2.193-.475 3.797-1.965 3.797-3.725v-.352H8.97v-.698c0-.783-.637-1.42-1.42-1.42h-2.1c-.783 0-1.42.637-1.42 1.42v.698H1.203v.352c0 1.76 1.604 3.25 3.796 3.725zm-.267-4.775c0-.395.322-.717.717-.717h2.1c.395 0 .717.322.717.717v.698H4.733v-.698z\" />\r\n    <path d=\"M7.298 6.615H5.702v.798a.799.799 0 001.596 0v-.798z\" />\r\n  </g>\r\n  <defs>\r\n    <clipPath id=\"prefix__clip0\">\r\n      <path fill=\"#fff\" transform=\"translate(.5)\" d=\"M0 0h12v12H0z\" />\r\n    </clipPath>\r\n  </defs>\r\n  </svg>\r\n\r\nconst IconPhone3=(className,fill)=>\r\n  <svg width={17} height={17} viewBox=\"0 0 17 17\" fill=\"none\" className={className}>\r\n  <path\r\n    d=\"M12.483 16.922a4.456 4.456 0 01-1.53-.273 16.307 16.307 0 01-5.922-3.775 16.307 16.307 0 01-3.774-5.922 4.425 4.425 0 01-.226-2.175 4.53 4.53 0 012.332-3.322A4.455 4.455 0 015.497.922a.5.5 0 01.488.395L6.77 4.98a.5.5 0 01-.135.459l-1.341 1.34a13.16 13.16 0 005.833 5.833l1.34-1.34a.5.5 0 01.459-.136l3.662.785a.5.5 0 01.395.489c0 .758-.179 1.475-.532 2.133a4.549 4.549 0 01-3.322 2.332 4.45 4.45 0 01-.646.048zM5.097 1.944c-1 .11-1.887.634-2.476 1.475a3.445 3.445 0 00-.424 3.192 15.165 15.165 0 009.098 9.098 3.445 3.445 0 003.191-.424 3.463 3.463 0 001.476-2.477l-2.98-.638-1.4 1.4a.5.5 0 01-.566.1 14.158 14.158 0 01-6.78-6.78.5.5 0 01.099-.567l1.4-1.4-.638-2.98zM16.483 9.422a.5.5 0 01-.5-.5c0-3.86-3.14-7-7-7a.5.5 0 010-1c2.137 0 4.146.832 5.657 2.343a7.947 7.947 0 012.343 5.657.5.5 0 01-.5.5z\"\r\n    fill={fill}\r\n  />\r\n  <path\r\n    d=\"M14.483 9.422a.5.5 0 01-.5-.5c0-2.757-2.243-5-5-5a.5.5 0 010-1c3.308 0 6 2.691 6 6a.5.5 0 01-.5.5z\"\r\n    fill={fill}\r\n  />\r\n  <path\r\n    d=\"M12.483 9.422a.5.5 0 01-.5-.5c0-1.654-1.346-3-3-3a.5.5 0 010-1c2.206 0 4 1.794 4 4a.5.5 0 01-.5.5z\"\r\n    fill={fill}\r\n  />\r\n  </svg>\r\n\r\nconst IconSupervisor=(className,fill)=>\r\n  <svg width={33} height={32} viewBox=\"0 0 33 32\" fill=\"none\" className={className}>\r\n  <path\r\n    fillRule=\"evenodd\"\r\n    clipRule=\"evenodd\"\r\n    d=\"M12.125 5.61a4.294 4.294 0 100 8.588 4.294 4.294 0 000-8.588zM5.697 9.904a6.427 6.427 0 1112.855 0 6.427 6.427 0 01-12.855 0zM3.183 21.134c1.475-2.259 4.082-3.91 8.727-3.91 4.465 0 7.103 1.68 8.695 3.892 1.28 1.776 1.84 3.868 2.226 5.313.072.267.137.512.2.73a1.067 1.067 0 01-1.024 1.364h-19.8a1.067 1.067 0 01-1.036-1.319c.063-.26.125-.566.195-.906.291-1.432.704-3.46 1.817-5.164zm.348 5.256h17.076c-.367-1.323-.82-2.76-1.733-4.028-1.161-1.613-3.132-3.004-6.964-3.004-4.058 0-5.927 1.39-6.94 2.942-.838 1.282-1.155 2.72-1.44 4.09z\"\r\n    fill={fill}\r\n  />\r\n  <path\r\n    fillRule=\"evenodd\"\r\n    clipRule=\"evenodd\"\r\n    d=\"M17.857 4.247a6.427 6.427 0 110 11.314 9.031 9.031 0 001.136-1.814 4.294 4.294 0 100-7.686 9.028 9.028 0 00-1.136-1.814zM19.615 17.256c.348-.02.708-.031 1.081-.031 4.465 0 7.103 1.678 8.696 3.89 1.278 1.777 1.838 3.869 2.225 5.314.072.268.137.512.2.73a1.067 1.067 0 01-1.024 1.364H25.48a15.794 15.794 0 00-.182-2.133h4.095c-.366-1.323-.82-2.76-1.732-4.028-1.015-1.41-2.648-2.65-5.6-2.94a13.384 13.384 0 00-2.445-2.166z\"\r\n    fill={fill}\r\n  />\r\n  </svg>\r\n\r\nconst IconDesktop=(className,fill)=>\r\n  <svg width={25} height={15} viewBox=\"0 0 25 25\" fill=\"none\" className={className}>\r\n  <path\r\n    d=\"M24.266 3.6H.734A.734.734 0 000 4.334v13.52c0 .405.329.734.734.734h9.177v1.344h-1.98a.734.734 0 000 1.468h9.139a.734.734 0 100-1.468h-1.981v-1.344h9.177a.734.734 0 00.734-.734V4.334a.734.734 0 00-.734-.734zM13.62 19.932h-2.242v-1.344h2.242v1.344zm9.91-2.812H1.469V5.068h22.064V17.12z\"\r\n    fill={fill}\r\n  />\r\n  </svg>\r\n\r\nconst IconKit=(className,fill)=>\r\n  <svg width={20} height={20} viewBox=\"0 0 34 31\" fill=\"none\" className={className}>\r\n    <path\r\n    d=\"M30 15c0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15C0 6.716 6.716 0 15 0c8.284 0 15 6.716 15 15Z\"\r\n    fill={fill}\r\n    />\r\n    <path\r\n    d=\"M15 18.688a2.19 2.19 0 0 1-2.188-2.188A2.19 2.19 0 0 1 15 14.312a2.19 2.19 0 0 1 2.188 2.188A2.19 2.19 0 0 1 15 18.688Z\"\r\n    fill=\"#fff\"\r\n    fillOpacity={0.95}\r\n    />\r\n    <path\r\n    fillRule=\"evenodd\"\r\n    clipRule=\"evenodd\"\r\n    d=\"M9 5.5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3.465c0 .02-.016.035-.035.035H24.5a1 1 0 0 1 1 1v3.75H24a.5.5 0 0 0 0 1h1.5V23a1 1 0 0 1-1 1h-19a1 1 0 0 1-1-1v-8.25h2.25a.5.5 0 0 0 0-1H4.5V10a1 1 0 0 1 1-1H9V5.5Zm10.5 3.465c0 .02.016.035.035.035H10.46a.041.041 0 0 0 .041-.041V6.75a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 .75.75v2.215Zm.144 8.148c.025-.2.044-.4.044-.613a4.87 4.87 0 0 0-.044-.613l1.319-1.03a.315.315 0 0 0 .075-.4l-1.25-2.163a.314.314 0 0 0-.382-.138l-1.556.625a4.569 4.569 0 0 0-1.056-.612l-.238-1.657a.305.305 0 0 0-.306-.262h-2.5a.305.305 0 0 0-.306.262l-.238 1.657a4.805 4.805 0 0 0-1.056.612l-1.556-.625a.305.305 0 0 0-.381.138l-1.25 2.162a.308.308 0 0 0 .075.4l1.318 1.031c-.025.2-.043.407-.043.613 0 .206.018.413.043.613l-1.319 1.03a.315.315 0 0 0-.075.4l1.25 2.163a.314.314 0 0 0 .382.138l1.556-.625c.325.25.675.456 1.056.612l.238 1.657c.018.15.15.262.306.262h2.5a.305.305 0 0 0 .306-.262l.238-1.657a4.802 4.802 0 0 0 1.056-.612l1.556.625c.144.056.306 0 .382-.138l1.25-2.162a.315.315 0 0 0-.076-.4l-1.318-1.031Z\"\r\n    fill=\"#fff\"\r\n    fillOpacity={0.95}\r\n    />\r\n  </svg>\r\n\r\nconst SvgAssets = function (props) {\r\n    const { icon, className = '', fill = '#000' } = props;\r\n\r\n    const lib = {\r\n        'icon-logo': IconLogo,\r\n        'curve-top': CurveTop,\r\n        'curve-bottom': CurveBottom,\r\n        'curve-small': CurveSmall,\r\n        'icon-close': IconClose,\r\n        'icon-star': IconStar,\r\n        'icon-home': IconHome,\r\n        'icon-campana': IconCampana,\r\n        'icon-carrito': IconCarrito,\r\n        'icon-menu': IconMenu,\r\n        'icon-chart': IconChart,\r\n        'icon-oferta': IconOferta,\r\n        'icon-arrow-right': IconArrowRight,\r\n        'icon-arrow-left': IconArrowLeft,\r\n        'icon-trofeo': IconTrofeo,\r\n        'icon-list': IconList,\r\n        'icon-list-2': IconList2,\r\n        'icon-list-check': IconListCheck,\r\n        'icon-tag': IconTag,\r\n        'icon-add-cart': IconAddCart,\r\n        'icon-reloj': IconReloj,\r\n        'icon-clip': IconClip,\r\n        'icon-add-file': IconAddFile,\r\n        'icon-trash': IconTrash,\r\n        'icon-trash-2': IconTrash2,\r\n        'icon-refresh': IconRefresh,\r\n        'icon-cart': IconCart,\r\n        'icon-codigo': IconCodigo,\r\n        'icon-moto': IconMoto,\r\n        'icon-lupa': IconLupa,\r\n        'icon-left': IconLeft,\r\n        'icon-right': IconRight,\r\n        'icon-bottom': IconBottom,\r\n        'icon-top': IconTop,\r\n        'icon-download-file': IconDownloadFile,\r\n        'icon-envio': IconEnvio,\r\n        'icon-local': IconLocal,\r\n        'icon-pago': IconPago,\r\n        'icon-edit': IconEdit,\r\n        'icon-check': Iconcheck,\r\n        'icon-info': IconInfo,\r\n        'icon-user': IconUser,\r\n        'icon-mail': IconMail,\r\n        'icon-mail-2': IconMail2,\r\n        'icon-lock': IconLock,\r\n        'icon-lock-eye': IconLockEye,\r\n        'icon-phone': IconPhone,\r\n        'icon-phone-2': IconPhone2,\r\n        'icon-cod-cli': IconCodCli,\r\n        'icon-eye': IconEye,\r\n        'icon-eye-close': IconEyeClose,\r\n        'icon-back': IconBack,\r\n        'icon-folder': IconFolder,\r\n        'icon-dots': IconDots,\r\n        'icon-like': IconLike,\r\n        'icon-moneda': IconMoneda,\r\n        'icon-verified': IconVerified,\r\n        'icon-help': IconHelp,\r\n        'icon-exit': IconExit,\r\n        'icon-table': IconTable,\r\n        'icon-foco': IconFoco,\r\n        'icon-warning': IconWarning,\r\n        'icon-compatible': IconCompatible,\r\n        'icon-birthday' : IconBirthday,\r\n        'icon-alert':IconAlert,\r\n        'icon-camera':IconCamera,\r\n        'icon-foco-2': IconFoco2,\r\n        'icon-happy': IconHappy,\r\n        'icon-location': IconLocation,\r\n        'icon-maleta': IconMaleta,\r\n        'icon-phone-3': IconPhone3,\r\n        'icon-supervisor': IconSupervisor,\r\n        'icon-desktop': IconDesktop,\r\n        'icon-kit': IconKit\r\n    }\r\n\r\n    const Element = lib[icon];\r\n\r\n    if (!Element) {\r\n        throw new Error(`SvgAssets no encuentra el ícono con el nombre ${icon}. Por favor insertar ícono válido`);\r\n    }\r\n\r\n    return Element(className,fill);\r\n\r\n};\r\n\r\nexport { SvgAssets }","export default {\r\n    rojo: '#D7202C',\r\n    rojoClaro: '#F23361',\r\n    verde: '#2DB997',\r\n    verdeClaro: '#2DB997',\r\n    naranja: '#FF9446',\r\n    celeste: '#9AC8FF',\r\n    celesteClaro: '#F4F6F9',\r\n    morado: '#7371FF',\r\n    grisMedio: '#8A8A8A',\r\n    grisClaro: '#E2E2E2',\r\n    grisOscuro: '#737373',\r\n    azulClaro: '#316ACD',\r\n    azul: '#003591',\r\n    amarillo: '#FADB00', //Justin\r\n    MoradoOscuro: '#6D6AF6', //Justin\r\n    grisMedioClaro: '#BDBDBD', //Justin\r\n    naranjaClaro: '#FFF1E7'\r\n};","// import { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink } from 'reactstrap';\r\nimport {\r\n  Navbar,\r\n  NavbarBrand,\r\n  NavItem,\r\n  // NavLink,\r\n  Dropdown,\r\n  UncontrolledCollapse,\r\n  Button,\r\n  Collapse,\r\n  UncontrolledDropdown,\r\n  DropdownToggle,\r\n  DropdownMenu,\r\n  DropdownItem,\r\n  FormGroup,\r\n  Input\r\n} from 'reactstrap';\r\nimport React, { Component } from 'react';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport { Link } from 'react-router-dom';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { data } from '../../../constants/Constants';\r\nimport c from '../../../constants/Colors';\r\nimport localStorageCustom from '../../../utilitarios/localStorage';\r\nimport { AuthContext } from \"../../../store/provider/AuthProvider\";\r\nimport { askNotificacion } from '../../../utilitarios/util'\r\n\r\nconst LISTADO = [\r\n  {\r\n    screen: \"/dashboard\",\r\n    title: \"Dashboard\",\r\n    icon: \"icon-chart\",\r\n    class: \"mobile\",\r\n    color: c.azulClaro,\r\n  },\r\n  {\r\n    title: \"Cuenta\",\r\n    color: c.verdeClaro,\r\n    icon: \"icon-user\",\r\n    class: \"mobile verde\",\r\n    list: [\r\n      { name: \"Mi perfil\", screen: \"/perfil\", },\r\n      { name: \"Cambiar Perfil\", screen: \"/linea-negocio\", }\r\n    ]\r\n  },\r\n  {\r\n    title: \"Pedidos\",\r\n    color: c.morado,\r\n    icon: \"icon-list-check\",\r\n    class: \"morado\",\r\n    list: [\r\n      { name: \"Generar Pedidos\", screen: \"/generar-pedido\" },\r\n      { name: \"Generar Pedidos Masivos\", screen: \"/generar-pedido-masivo\", },\r\n      { name: \"Historial de Pedidos\", screen: \"/historial-pedidos\" },\r\n      { name: \"Pedidos Sugeridos\", screen: \"/pedido-sugerido\", }\r\n    ]\r\n  },\r\n  {\r\n    title: \"Más comprados y ofertas\",\r\n    color: c.naranja,\r\n    icon: \"icon-list-2\",\r\n    class: \"naranja\",\r\n    list: [\r\n      { name: \"Productos más comprados\", screen: \"/productos-comprados\" },\r\n      { name: \"Ofertas\", screen: \"/ofertas\", icon: 'icon-oferta' }\r\n    ]\r\n  },\r\n  {\r\n    screen: \"/estado-cuenta\",\r\n    title: \"Estado de cuenta\",\r\n    icon: \"icon-moneda\",\r\n    class: \" \",\r\n    color: c.azulClaro,\r\n  },\r\n  {\r\n    screen: \"/bonificaciones\",\r\n    title: \"Metas y bonificaciones\",\r\n    icon: \"icon-verified\",\r\n    class: \" \",\r\n    color: c.azulClaro,\r\n  },\r\n  {\r\n    screen: \"/pre-pedidos\",\r\n    title: \"Pre-Pedidos\",\r\n    icon: \"icon-edit\",\r\n    color: c.azulClaro,\r\n  },\r\n  {\r\n    title: \"Ayuda\",\r\n    color: c.azulClaro,\r\n    icon: \"icon-help\",\r\n    class: \"bottom mobile\",\r\n    list: [\r\n      { name: \"Preguntas frecuentes\", screen: \"/preguntas-frecuentes\" },\r\n      { name: \"Sugerencias\", screen: \"/sugerencias\" },\r\n      // { name: \"Incidentes\", screen: \"/incidente\" },\r\n      // { name: \"Requerimientos\", screen: \"/requerimientos\"}\r\n    ]\r\n  },\r\n];\r\n\r\nconst VEHICULO_LISTADO = [\r\n  {\r\n    screen: \"/vehiculo-dashboard\",\r\n    title: \"Inicio\",\r\n    icon: \"icon-chart\",\r\n    class: \"\",\r\n    color: c.azulClaro,\r\n  },\r\n  {\r\n    title: \"Ayuda\",\r\n    color: c.azulClaro,\r\n    icon: \"icon-help\",\r\n    class: \"bottom\",\r\n    list: [\r\n      { name: \"Preguntas frecuentes\", screen: \"/preguntas-frecuentes\" },\r\n      { name: \"Sugerencias\", screen: \"/sugerencias\" },\r\n    ]\r\n  },\r\n]\r\n\r\nfunction OpcionMenu({ dadComponent }) {\r\n  let list = (dadComponent.state.perfilVehiculos ? VEHICULO_LISTADO : LISTADO) || [];\r\n  let optionsItem = [];\r\n  if (list.length > 0) {\r\n    // console.log('LISTADO',LISTADO)\r\n    let collapseItem = dadComponent.state.collapseItem;\r\n    list.map((item, index) => {\r\n      optionsItem.push(\r\n        <div className={`item ${item.class}`} key={index}>\r\n          {item.list ?\r\n            <div className=\"item-header\" onClick={() => { dadComponent.state.collapseItem === index ? dadComponent.setState({ collapseItem: null }) : dadComponent.ToggleCollapseItem(index) }}>\r\n              <SvgAssets icon={item.icon} fill={item.color} />\r\n              <h6 style={{ color: item.color }}>{item.title}</h6>\r\n              <SvgAssets className=\"arrow\" icon={collapseItem === index ? \"icon-top\" : \"icon-bottom\"} fill={item.color} />\r\n            </div> :\r\n            <Link to={item.screen} className=\"item-header\" onClick={() => { dadComponent.state.width < data.isSmallDevice ? dadComponent.toggleNavbar() : dadComponent.toggleDropdown() }} >\r\n              <SvgAssets icon={item.icon} fill={item.color} />\r\n              <h6>{item.title}</h6>\r\n            </Link>\r\n          }\r\n          {item.list ?\r\n            <Collapse className=\"item-body\" isOpen={dadComponent.state.collapseItem === index}>\r\n              <ul>\r\n                {item.list.map((subOption, i) => (\r\n                  <li key={`sub${i}`}><Link to={subOption.screen} className=\"link\" onClick={() => { dadComponent.state.width < data.isSmallDevice ? dadComponent.toggleNavbar() : dadComponent.toggleDropdown() }}>\r\n                    {subOption.icon ? <SvgAssets icon={subOption.icon} fill={'#fff'} /> : null}{subOption.name}</Link>\r\n                  </li>\r\n                ))}\r\n              </ul>\r\n            </Collapse> : null\r\n          }\r\n        </div>\r\n      );\r\n    });\r\n  }\r\n  return optionsItem;\r\n\r\n}\r\n\r\nconst Drawer = ({ dadComponent, auth, cerrarSession }) => {\r\n  const { collapsed } = dadComponent.state;\r\n  return (\r\n    <div className={collapsed ? \"drawer\" : \"drawer open\"}>\r\n      <SvgAssets icon=\"curve-top\" className=\"desktop curve\" fill={c.celesteClaro} />\r\n      <div className=\"rs\">\r\n        <Button color=\"link\" className=\"close-menu mobile\" onClick={() => dadComponent.toggleNavbar()}>\r\n          <SvgAssets icon=\"icon-close\" fill={c.rojoClaro} />\r\n        </Button>\r\n        <h3 className=\"title-2\">{auth.userRazonSocial}</h3>\r\n        <span>Repuestos</span>\r\n        <SvgAssets icon=\"curve-top\" className=\"curve-bottom mobile\" fill={'#fff'} />\r\n      </div>\r\n      <div className=\"list-items\">\r\n        <OpcionMenu dadComponent={dadComponent} />\r\n        <hr className=\"desktop\" style={{ borderColor: c.celeste }} />\r\n        <div className=\"desktop\">\r\n          <Link to=\"/perfil\" className=\"link-item item bottom verde\" onClick={() => dadComponent.toggleDropdown()}>\r\n            <div className=\"item-header\">\r\n              <SvgAssets icon=\"icon-user\" fill={c.verdeClaro} />\r\n              <h6>Mi perfil</h6>\r\n            </div>\r\n          </Link>\r\n          <Link to=\"/linea-negocio\" className=\"link-item item bottom\" onClick={() => dadComponent.toggleDropdown()}>\r\n            <div className=\"item-header\">\r\n              <SvgAssets icon=\"icon-refresh\" fill={c.azulClaro} />\r\n              <h6>Cambiar Perfil</h6>\r\n            </div>\r\n          </Link>\r\n        </div>\r\n        <a href=\"#\" className=\"item bottom\" style={{ marginTop: 0 }} onClick={(e) => { e.preventDefault(); cerrarSession(); }}>\r\n          <div className=\"item-header\">\r\n            <SvgAssets icon=\"icon-exit\" fill={c.azulClaro} />\r\n            <h6>Cerrar sesión</h6>\r\n          </div>\r\n        </a>\r\n        <Link to=\"/eliminar-cuenta\" onClick={() => { dadComponent.state.width < data.isSmallDevice ? dadComponent.toggleNavbar() : dadComponent.toggleDropdown() }} className=\"item bottom\" style={{ marginTop: 0 }}>\r\n          <div className=\"item-header\">\r\n            <SvgAssets icon=\"icon-trash\" fill={c.rojo} />\r\n            <h6 style={{ color: c.rojo }}>Eliminar cuenta</h6>\r\n          </div>\r\n        </Link>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class NavMenu extends Component {\r\n  static displayName = NavMenu.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      collapsed: true,\r\n      collapsed2: true,\r\n      width: window.innerWidth,\r\n      collapseItem: false,\r\n      dropdownOpen: false,\r\n      perfilVehiculos: false,\r\n    };\r\n  }\r\n\r\n  toggleNavbar = () => {\r\n    // debugger;\r\n    // document.querySelector(\".nav-link\")\r\n    this.setState({\r\n      collapsed: !this.state.collapsed,\r\n    });\r\n  }\r\n\r\n  toggleDropdown = () => {\r\n    this.setState({\r\n      dropdownOpen: !this.state.dropdownOpen,\r\n    });\r\n  }\r\n\r\n  ToggleCollapseItem = (index) => {\r\n    this.setState({ collapseItem: index })\r\n  }\r\n\r\n  authHeader(isLoggedIn) {\r\n    if (isLoggedIn) {\r\n      return (this.renderHeader(isLoggedIn));\r\n    }\r\n    return null;\r\n  }\r\n\r\n  componentDidUpdate() {\r\n    if (this.state.collapsed) {\r\n      document.getElementsByTagName('html')[0].style.overflow = \"inherit\";\r\n    } else {\r\n      document.getElementsByTagName('html')[0].style.overflow = \"hidden\";\r\n    }\r\n  }\r\n\r\n  renderHeader() {\r\n    const auth = this.context;\r\n    console.log(auth.carritoProdctos);\r\n    return (\r\n      <div>\r\n        {/* <Menu dadComponent={this} /> */}\r\n        <Navbar className=\"navbar-expand-sm navbar-toggleable-sm box-shadow\" fixed=\"top\">\r\n          {/* <Container> */}\r\n          <NavbarBrand tag={Link} to=\"/dashboard\">\r\n            <img className='logo' src={require('../../../assets/img/isologo.png')} />\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-bottom' fill=\"#fff\" />\r\n          </NavbarBrand>\r\n          <ul className=\"navbar-nav ml-auto\">\r\n            <NavItem>\r\n              <NavLink activeClassName=\"active\" to='/dashboard' className=\"desktop nav-link\">\r\n                <SvgAssets icon=\"icon-home\" fill={c.celeste} />\r\n              </NavLink>\r\n            </NavItem>\r\n            {this.state.perfilVehiculos ?\r\n              <NavItem>\r\n                <NavLink className=\"nav-link\" to=\"/representante-venta\">\r\n                  <SvgAssets icon=\"icon-supervisor\" fill={c.celeste} />\r\n                </NavLink>\r\n              </NavItem> : null\r\n            }\r\n            <NavItem>\r\n              <NavLink activeClassName=\"active-wish\" className=\"nav-link\" to=\"/lista-deseos\">\r\n                <SvgAssets icon=\"icon-star\" fill={c.celeste} />\r\n              </NavLink>\r\n            </NavItem>\r\n            <UncontrolledDropdown className=\"notificaciones\">\r\n              {(auth.dealerAlertas || []).length > 0 ?\r\n                <DropdownToggle nav>\r\n                  <SvgAssets icon=\"icon-campana\" fill={c.celeste} />\r\n                  {(auth.dealerAlertas || []).length > 0 ?\r\n                    <span className=\"dot\" />\r\n                    : null\r\n                  }\r\n                </DropdownToggle>\r\n                :\r\n                <NavLink activeClassName=\"active\" className=\"nav-link\" to=\"/notificaciones\">\r\n                  <SvgAssets icon=\"icon-campana\" fill={c.celeste} />\r\n                </NavLink>\r\n              }\r\n              {(auth.dealerAlertas || []).length > 0 ?\r\n                <DropdownMenu right>\r\n                  <SvgAssets icon=\"curve-small\" className=\"curve\" fill='#fff' />\r\n                  <div className=\"scroll-content\">\r\n                    {auth.dealerAlertas.map((alerta, index) => {\r\n                      return (\r\n                        <div className=\"dropdown-item\" key={index}>\r\n                          <div className=\"item\">\r\n                            <p>{alerta.mensaje}</p>\r\n                            {(alerta.fechaHace == null) ?\r\n                              <span>{alerta.fecha} {alerta.hora}</span>\r\n                              :\r\n                              <span>{alerta.fechaHace}</span>\r\n                            }\r\n                          </div>\r\n                        </div>\r\n                      )\r\n                    })\r\n                    }\r\n                  </div>\r\n                  {/* <DropdownItem>\r\n                    <div className=\"item\">\r\n                      <p>El pedido N° 9999999999, vence en 5 horas.</p>\r\n                      <span>9:50 a.m.</span>\r\n                    </div>\r\n                  </div>\r\n                  <div className=\"dropdown-item\">\r\n                    <div className=\"item\">\r\n                      <p>Actualice su contraseña, recuerda que tu actual contraseña vence en 3 días.</p>\r\n                      <span>Hace 1d</span>\r\n                    </div>\r\n                  </DropdownItem> */}\r\n                  {(auth.dealerAlertas || []).length > 0 ?\r\n                    <DropdownItem tag=\"div\" className=\"link-u\" style={{ padding: 0, display: 'flex', justifyContent: 'flex-end' }}>\r\n                      <Link activeClassName=\"active\" className=\"link link-u bold\" to=\"/notificaciones\" style={{ margin: 0 }}>\r\n                        Ver todos\r\n                      </Link>\r\n                    </DropdownItem>\r\n                    : null\r\n                  }\r\n                  {/* <Link className=\"link-u\" to=\"/notificaciones\">Ver todos</Link> */}\r\n                </DropdownMenu>\r\n                : null\r\n              }\r\n            </UncontrolledDropdown>\r\n            <NavItem>\r\n              <NavLink activeClassName=\"active\" to=\"/carrito\" className=\"nav-link\">\r\n                <SvgAssets icon=\"icon-carrito\" />\r\n                {(auth.carritoProdctos > 0) ?\r\n                  <span className=\"dot cart\">{auth.carritoProdctos}</span>\r\n                  : null}\r\n              </NavLink>\r\n            </NavItem>\r\n            <NavItem className=\"mobile\">\r\n              <Button color=\"link\" className=\"btn-menu\" onClick={() => this.toggleNavbar()}>\r\n                <SvgAssets icon=\"icon-menu\" />\r\n              </Button>\r\n            </NavItem>\r\n            <Dropdown isOpen={this.state.dropdownOpen} toggle={this.toggleDropdown} className=\"dropdown-drawer\">\r\n              <DropdownToggle nav>\r\n                <SvgAssets icon=\"icon-user\" fill=\"#fff\" className=\"icon-user\" />\r\n                {/* Razón Social S.A */}\r\n                {auth.userRazonSocial}\r\n                <SvgAssets icon=\"icon-bottom\" fill={c.azulClaro} className=\"arrow\" />\r\n              </DropdownToggle>\r\n              <DropdownMenu right>\r\n                <Drawer dadComponent={this} auth={auth} cerrarSession={this.cerrarSession} />\r\n              </DropdownMenu>\r\n            </Dropdown >\r\n          </ul>\r\n          {/* </Container> */}\r\n        </Navbar>\r\n        <div className={`bg-drawer ${this.state.collapsed ? '' : 'show'}`} />\r\n        {this.state.width < data.isSmallDevice ?\r\n          <Drawer dadComponent={this} auth={auth} cerrarSession={this.cerrarSession} /> : null\r\n        }\r\n      </div>\r\n    )\r\n  }\r\n\r\n  render() {\r\n    const { isLoggedIn } = this.props;\r\n    return (\r\n      <header>\r\n        {this.authHeader(isLoggedIn)}\r\n      </header>\r\n    );\r\n  }\r\n\r\n  toggleModalAlertAsk = () => {\r\n    askNotificacion('Cerrar sesión', '¿Esta seguro de cerrar sesión?', () => {\r\n      const auth = this.context;\r\n      localStorageCustom.prototype.removeToken();\r\n      localStorageCustom.prototype.removeUsuario();\r\n      auth.setuserToken(null);\r\n      auth.setIsLoggedIn(false);\r\n      // history.pushState(null, null, '/');\r\n      window.location.href = \"/\";\r\n    })\r\n  }\r\n\r\n  cerrarSession = () => {\r\n    this.toggleModalAlertAsk();\r\n    // this.props.history.push('/');\r\n  }\r\n}\r\n","// import { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink } from 'reactstrap';\r\nimport {\r\n  Navbar,\r\n  NavbarBrand,\r\n  NavItem,\r\n  Container,\r\n  NavLink\r\n} from 'reactstrap';\r\nimport React, { Component } from 'react';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport { Link } from 'react-router-dom';\r\nimport c from '../../../constants/Colors';\r\nimport { AuthContext } from \"../../../store/provider/AuthProvider\";\r\n\r\nexport class NavMenuAuth extends Component {\r\n  static displayName = NavMenuAuth.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      collapsed: true,\r\n    };\r\n  }\r\n\r\n  authHeader(isLoggedIn, hideNav) {\r\n    console.log('hideNav', hideNav)\r\n    // debugger;\r\n    if (!isLoggedIn && !hideNav) {\r\n      return (this.renderHeader(isLoggedIn));\r\n    }\r\n    return null;\r\n  }\r\n\r\n  renderHeader() {\r\n    const auth = this.context;\r\n    //   console.log(auth);\r\n    return (\r\n      <div>\r\n        <Navbar className=\"navbar-expand-sm navbar_auth desktop\">\r\n          <Container>\r\n            <NavbarBrand tag={Link} to=\"/\">\r\n              <img className='logo' src={require('../../../assets/img/isologo.png')} />\r\n              <SvgAssets icon=\"curve-bottom\" className='curve-bottom' fill=\"#fff\" />\r\n            </NavbarBrand>\r\n            <ul className=\"navbar-nav ml-auto\">\r\n              <NavItem>\r\n                <NavLink tag={Link} to={{ pathname: '/', state: { step: 1 }}} className=\"nav-link\">\r\n                  <SvgAssets icon=\"icon-user\" fill={c.azulClaro} /> Iniciar sesión\r\n                    </NavLink>\r\n              </NavItem>\r\n              <NavItem>\r\n                <NavLink tag={Link} className=\"nav-link\" to=\"/solicitar-acceso\">\r\n                  Solicitar Acceso\r\n                    </NavLink>\r\n              </NavItem>\r\n            </ul>\r\n          </Container>\r\n        </Navbar>\r\n      </div>\r\n    )\r\n  }\r\n\r\n  render() {\r\n    const { isLoggedIn, hideNav } = this.props;\r\n    return (\r\n      <header>\r\n        {this.authHeader(isLoggedIn, hideNav)}\r\n      </header>\r\n    );\r\n  }\r\n}\r\n","import * as React from \"react\"\r\n\r\nexport function Logo({className}) {\r\n  return (\r\n    <svg className={className} viewBox=\"0 0 115 114\" fill=\"none\">\r\n      <g clipPath=\"url(#prefix__clip0)\">\r\n        <path\r\n          d=\"M57.741-.072c31.521 0 57.071 25.55 57.071 57.071 0 31.521-25.564 57.071-57.07 57.071C26.22 114.07.67 88.506.67 56.999.67 25.478 26.22-.072 57.74-.072z\"\r\n          fill=\"#fff\"\r\n        />\r\n        <path\r\n          d=\"M102.828 54.407H75.126v3.633c0 9.62-7.795 17.428-17.413 17.428-9.62 0-17.428-7.809-17.428-17.428 0-9.618 7.809-17.413 17.428-17.413 3.177 0 6.141.855 8.706 2.337a36.739 36.739 0 00-25.892-10.616c-9.79 0-18.682 3.804-25.294 10.032a44.997 44.997 0 00-2.793 15.66c0 24.069 18.782 43.748 42.494 45.187.84.043 1.696.086 2.55.086.086 0 .157.014.229.014 25.008 0 45.272-20.278 45.272-45.287a38.323 38.323 0 00-.157-3.633z\"\r\n          fill=\"#D7202C\"\r\n        />\r\n        <path\r\n          d=\"M66.42 42.963l4.602-7.98 9.334-16.16a45.111 45.111 0 00-22.643-6.055c-17.4 0-32.476 9.832-40.057 24.225-.171.327-.37.655-.527.983a43.36 43.36 0 00-1.896 4.417c6.612-6.241 15.49-10.046 25.294-10.046A36.739 36.739 0 0166.42 42.963z\"\r\n          fill=\"#003591\"\r\n        />\r\n        <path\r\n          d=\"M28.97 43.234H29c3.078.727 4.916 3.677 4.147 6.855-.513 2.151-1.739 3.32-3.264 3.947l-1.168-2.608c.898-.427 1.539-.997 1.781-2.01.357-1.467-.655-2.806-2.18-3.177h-.029c-1.567-.385-3.063.356-3.405 1.838-.271 1.097.1 1.867.712 2.68l-2.109 1.823c-1.126-1.31-1.824-2.892-1.254-5.23.713-3.006 3.591-4.873 6.74-4.118zM31.35 57.156l.598 5.087c.2 1.64-.1 2.836-.74 3.634-.542.699-1.326 1.126-2.394 1.254h-.029c-1.639.2-2.836-.555-3.563-1.824l-3.434 3.007-.413-3.434 2.992-2.551V62.3l-.156-1.282-3.25.385-.355-2.978 10.744-1.269zm-4.574 5.558c.114 1.011.684 1.539 1.468 1.453h.028c.84-.1 1.197-.77 1.083-1.767l-.228-1.952-2.58.313.229 1.953zM28.414 71.107l.029-.014c2.565-1.767 6.056-1.126 7.951 1.625 1.895 2.764 1.254 6.198-1.31 7.965l-.03.015c-2.564 1.767-6.056 1.125-7.95-1.625-1.896-2.764-1.255-6.213 1.31-7.966zm4.874 7.083l.028-.015c1.283-.883 1.767-2.593.827-3.947-.926-1.354-2.65-1.496-3.933-.613l-.029.015c-1.297.883-1.767 2.593-.84 3.933.94 1.353 2.664 1.51 3.947.627zM36.053 86.369l2.437-.912c.512 1.268 1.325 2.237 2.408 2.864.698.399 1.211.356 1.439-.043l.014-.028c.228-.385.043-.784-1.083-1.796-1.738-1.596-2.978-3.035-1.867-4.973l.015-.029c.997-1.752 3.092-2.223 5.358-.94 1.61.912 2.608 2.052 3.163 3.448l-2.351 1.112c-.513-1.097-1.268-1.952-2.109-2.423-.627-.356-1.097-.27-1.282.072l-.015.028c-.242.428-.028.798 1.112 1.838 1.895 1.696 2.85 3.164 1.852 4.93l-.014.03c-1.083 1.923-3.263 2.208-5.543.897-1.668-.955-2.964-2.38-3.534-4.075zM51.756 83.732l2.978.257-.67 8.165 5.23.442-.213 2.608-8.223-.67.898-10.802zM64.738 83.12l2.75-.87 7.681 9.006-3.078.969-1.325-1.61-3.99 1.254-.157 2.08-3.007.955 1.126-11.785zm4.503 5.528l-2.08-2.565-.243 3.306 2.323-.74zM72.675 80.028l1.966-1.995 7.21.855-4.075-4.019 2.08-2.123 7.71 7.61-1.853 1.866-7.466-.869 4.218 4.161-2.081 2.123-7.71-7.61zM80.983 69.17l1.839-3.748c1.71-3.463 4.702-4.49 7.495-3.107l.029.014c2.793 1.383 3.876 4.446 2.151 7.938l-1.81 3.69-9.704-4.788zm9.192-.172c.798-1.61.441-3.106-1.14-3.89l-.029-.014c-1.553-.77-2.978-.143-3.776 1.468l-.542 1.097 4.945 2.437.542-1.098z\"\r\n          fill=\"#fff\"\r\n        />\r\n        <path\r\n          d=\"M75.026 36.594h1.782c1.439 0 2.422.983 2.422 2.265v.015c0 1.282-.983 2.28-2.422 2.28h-1.782v-4.56zm1.782 3.648c.826 0 1.368-.556 1.368-1.368v-.015c0-.812-.556-1.367-1.368-1.367h-.77v2.75h.77zM79.843 39.416c0-1.012.712-1.824 1.724-1.824 1.169 0 1.696.912 1.696 1.895 0 .071-.014.171-.014.257h-2.423c.1.456.413.684.855.684.328 0 .57-.1.84-.357l.57.5c-.327.398-.797.655-1.424.655-1.055 0-1.824-.741-1.824-1.81zm2.45-.285c-.056-.442-.313-.741-.74-.741-.413 0-.684.3-.755.74h1.496zM83.719 40.684l.427-.656c.385.27.77.413 1.097.413.285 0 .414-.1.414-.256 0-.214-.342-.285-.727-.4-.485-.142-1.04-.37-1.04-1.054v-.014c0-.712.57-1.111 1.282-1.111.442 0 .927.156 1.297.398l-.385.684c-.342-.199-.684-.327-.94-.327-.243 0-.37.1-.37.242v.014c0 .2.327.285.712.414.484.156 1.054.398 1.054 1.04v.014c0 .77-.584 1.126-1.34 1.126a2.42 2.42 0 01-1.481-.527zM87.11 39.416c0-1.183.756-1.824 1.596-1.824.528 0 .855.242 1.083.527v-1.724h.984v4.759h-.984v-.499c-.242.328-.57.57-1.083.57-.826-.014-1.596-.655-1.596-1.81zm2.68 0c0-.599-.385-.984-.841-.984-.456 0-.855.385-.855.97v.014c0 .584.384.969.855.969.456-.015.84-.4.84-.97zM91.485 39.416c0-1.012.713-1.824 1.725-1.824 1.168 0 1.695.912 1.695 1.895 0 .071 0 .171-.014.257H92.47c.1.456.413.684.855.684.327 0 .57-.1.84-.357l.57.5c-.327.398-.798.655-1.425.655-1.054 0-1.824-.741-1.824-1.81zm2.466-.285c-.057-.442-.314-.741-.741-.741-.414 0-.684.3-.756.74h1.497zM75.055 44.317l-1.596.399-.413-1.653 2.636-.784h1.382v9.234H75.07v-7.196h-.014zM79.202 50.587l1.07-1.539c.669.542 1.225.784 2.008.784 1.126 0 1.725-.855 1.867-2.08-.442.384-1.069.626-1.867.626-1.995 0-3.277-1.097-3.277-2.964v-.028c0-1.853 1.425-3.206 3.505-3.206 1.226 0 1.953.299 2.65.997.656.656 1.084 1.653 1.084 3.463v.028c0 2.979-1.397 5.002-4.004 5.002-1.354 0-2.266-.442-3.036-1.083zm4.96-5.244v-.028c0-.813-.6-1.397-1.61-1.397-.998 0-1.554.584-1.554 1.397v.028c0 .812.598 1.382 1.596 1.382.997-.028 1.567-.598 1.567-1.382zM88.735 50.687c-.67-.67-1.083-1.653-1.083-3.477v-.029c0-2.835 1.283-5.001 4.019-5.001 1.24 0 2.052.37 2.864 1.011l-1.054 1.554c-.599-.456-1.083-.727-1.881-.727-1.14 0-1.725.912-1.853 2.123.456-.3.998-.584 1.895-.584 1.824 0 3.22 1.012 3.22 2.921v.029c0 1.88-1.51 3.177-3.505 3.177-1.168-.014-1.98-.356-2.622-.997zm4.133-2.095v-.028c0-.77-.599-1.34-1.596-1.34-.998 0-1.568.556-1.568 1.325v.029c0 .77.599 1.368 1.596 1.368.998-.014 1.568-.57 1.568-1.354zM96.259 49.917l3.05-2.508c1.139-.94 1.581-1.44 1.581-2.209 0-.77-.513-1.197-1.225-1.197-.713 0-1.198.4-1.882 1.226l-1.41-1.14c.897-1.24 1.781-1.896 3.42-1.896 1.895 0 3.163 1.112 3.163 2.836v.029c0 1.539-.783 2.294-2.408 3.548l-1.496 1.154h4.004V51.5h-6.783v-1.582h-.014z\"\r\n          fill=\"#003591\"\r\n        />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path fill=\"#fff\" transform=\"translate(.77)\" d=\"M0 0h114v114H0z\" />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconLogo({className}) {\r\n  return (\r\n    <svg width={46} height={46} viewBox=\"0 0 46 46\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M45.058 21.473H31.3v1.804c0 4.777-3.871 8.655-8.648 8.655-4.776 0-8.654-3.878-8.654-8.655 0-4.776 3.877-8.647 8.654-8.647 1.578 0 3.05.424 4.324 1.16a18.245 18.245 0 00-12.858-5.272c-4.862 0-9.278 1.89-12.561 4.982A22.345 22.345 0 00.17 23.277c0 11.953 9.327 21.725 21.102 22.44.418.021.842.043 1.267.043.042 0 .078.007.113.007 12.42 0 22.482-10.07 22.482-22.49.008-.608-.028-1.21-.077-1.804z\"\r\n        fill=\"#D7202C\"\r\n      />\r\n      <path\r\n        d=\"M26.977 15.79l2.285-3.963 4.636-8.025A22.402 22.402 0 0022.653.795c-8.64 0-16.128 4.883-19.892 12.03-.085.163-.184.326-.262.488a21.538 21.538 0 00-.941 2.194 18.213 18.213 0 0112.56-4.989c5.01 0 9.554 2.01 12.859 5.272z\"\r\n        fill=\"#003591\"\r\n      />\r\n      <path\r\n        d=\"M8.38 15.924h.014c1.529.361 2.442 1.826 2.06 3.404-.255 1.069-.864 1.649-1.621 1.96l-.58-1.295c.446-.212.764-.495.884-.998.177-.729-.325-1.394-1.082-1.578H8.04c-.778-.19-1.521.177-1.69.913-.135.545.049.927.353 1.33l-1.047.906c-.56-.65-.906-1.436-.623-2.597.354-1.493 1.783-2.42 3.347-2.045zM9.561 22.838l.298 2.526c.099.814-.05 1.408-.368 1.805-.27.346-.659.559-1.19.622h-.013c-.814.1-1.409-.276-1.77-.905l-1.705 1.493-.205-1.706 1.486-1.266v-.015l-.078-.636-1.614.19-.176-1.478 5.335-.63zm-2.271 2.76c.056.502.34.764.729.722h.014c.417-.05.594-.383.538-.878l-.114-.97-1.28.156.113.97zM8.104 29.766l.014-.007c1.274-.878 3.007-.559 3.949.807.94 1.373.622 3.078-.651 3.956l-.015.007c-1.273.877-3.007.559-3.948-.807-.942-1.373-.623-3.085.65-3.956zm2.42 3.517l.014-.007c.637-.439.878-1.288.41-1.96-.46-.672-1.316-.743-1.953-.304l-.014.007c-.644.438-.877 1.288-.417 1.953.467.672 1.323.75 1.96.311zM11.897 37.346l1.21-.453c.255.63.658 1.11 1.196 1.422.347.198.601.177.715-.021l.007-.014c.113-.191.021-.39-.538-.892-.863-.793-1.479-1.507-.927-2.47l.007-.014c.495-.87 1.536-1.104 2.66-.467.8.453 1.296 1.02 1.572 1.713l-1.168.552c-.255-.545-.63-.97-1.047-1.203-.311-.177-.545-.135-.637.035l-.007.014c-.12.212-.014.396.552.913.941.842 1.415 1.571.92 2.449l-.007.014c-.538.955-1.62 1.096-2.753.445-.828-.474-1.472-1.181-1.755-2.023zM19.695 36.036l1.479.127-.333 4.055 2.597.22-.106 1.295-4.083-.333.446-5.364zM26.142 35.731l1.366-.431 3.815 4.472-1.529.481-.658-.8-1.982.623-.077 1.034-1.494.474.56-5.853zm2.237 2.746l-1.033-1.274-.12 1.642 1.153-.368zM30.084 34.196l.976-.99 3.58.424-2.023-1.996 1.033-1.054 3.828 3.779-.92.927-3.708-.432 2.095 2.067-1.033 1.054-3.828-3.779zM34.209 28.803l.913-1.86c.849-1.72 2.335-2.23 3.722-1.543l.014.007c1.387.686 1.925 2.208 1.069 3.941l-.899 1.833-4.819-2.378zm4.564-.084c.397-.8.22-1.543-.566-1.932l-.014-.007c-.771-.383-1.479-.071-1.875.729l-.27.544 2.456 1.21.27-.544z\"\r\n        fill=\"#fff\"\r\n      />\r\n      <path\r\n        d=\"M31.251 12.626h.884c.715 0 1.204.489 1.204 1.125v.008c0 .636-.489 1.132-1.203 1.132h-.885v-2.265zm.884 1.812c.411 0 .68-.276.68-.68v-.007c0-.403-.276-.679-.68-.679h-.382v1.366h.383zM33.643 14.027c0-.502.354-.906.856-.906.58 0 .842.453.842.941 0 .036-.007.085-.007.128h-1.203c.05.226.206.34.425.34.163 0 .283-.05.418-.178l.283.248a.879.879 0 01-.708.326c-.524 0-.906-.368-.906-.9zm1.217-.142c-.028-.219-.155-.368-.368-.368-.205 0-.34.149-.375.368h.743zM35.568 14.657l.212-.325c.191.134.382.205.545.205.142 0 .205-.05.205-.127 0-.106-.17-.142-.36-.198-.241-.071-.517-.184-.517-.524v-.007c0-.354.283-.552.637-.552.22 0 .46.078.644.198l-.191.34c-.17-.1-.34-.163-.468-.163-.12 0-.183.05-.183.12v.007c0 .1.162.142.353.206.241.077.524.198.524.516v.007c0 .382-.29.56-.665.56-.234 0-.503-.079-.736-.263zM37.252 14.028c0-.588.375-.906.793-.906.262 0 .425.12.538.262v-.857h.488v2.364h-.488v-.248a.633.633 0 01-.538.283c-.41-.007-.793-.325-.793-.898zm1.33 0c0-.298-.19-.489-.417-.489-.226 0-.424.191-.424.482v.007c0 .29.19.48.424.48.227-.006.418-.197.418-.48zM39.424 14.027c0-.502.354-.906.857-.906.58 0 .842.453.842.941 0 .036 0 .085-.007.128h-1.203c.05.226.205.34.424.34.163 0 .283-.05.418-.178l.283.248a.879.879 0 01-.708.326c-.523 0-.906-.368-.906-.9zm1.225-.142c-.029-.219-.156-.368-.368-.368-.206 0-.34.149-.375.368h.743zM31.266 16.463l-.793.198-.205-.82 1.31-.39h.686v4.586h-.991v-3.574h-.007zM33.325 19.576l.53-.764c.334.27.61.39.999.39.559 0 .856-.425.927-1.034-.22.191-.531.312-.927.312-.991 0-1.628-.545-1.628-1.472v-.014c0-.92.708-1.593 1.74-1.593.61 0 .97.149 1.317.496.326.325.538.82.538 1.72v.014c0 1.479-.694 2.483-1.988 2.483-.673 0-1.126-.219-1.508-.538zm2.463-2.604v-.014c0-.403-.297-.693-.8-.693-.495 0-.771.29-.771.693v.014c0 .404.297.687.792.687.496-.014.779-.297.779-.687zM38.06 19.626c-.333-.332-.538-.82-.538-1.727v-.014c0-1.408.636-2.484 1.995-2.484.616 0 1.02.184 1.422.503l-.523.771c-.297-.226-.538-.36-.934-.36-.566 0-.857.452-.92 1.054a1.58 1.58 0 01.94-.29c.907 0 1.6.502 1.6 1.45v.014c0 .934-.75 1.578-1.74 1.578-.58-.007-.984-.176-1.303-.495zm2.051-1.04v-.014c0-.383-.297-.665-.792-.665-.495 0-.779.276-.779.658v.014c0 .382.298.68.793.68.495-.008.779-.284.779-.673zM41.795 19.244l1.515-1.246c.566-.467.785-.715.785-1.097s-.255-.594-.608-.594c-.354 0-.595.198-.934.609l-.701-.567c.446-.615.885-.94 1.698-.94.942 0 1.571.551 1.571 1.407v.015c0 .764-.389 1.139-1.196 1.762l-.743.573h1.989v.863h-3.368v-.785h-.008z\"\r\n        fill=\"#003591\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function ArrowRight({className}) {\r\n  return (\r\n    <svg className={className} viewBox=\"0 0 19 16\" fill=\"none\">\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M10.804 13.2a1.108 1.108 0 00.134 1.62c.51.412 1.277.356 1.713-.127l5.773-6.395c.328-.365.379-.874.151-1.283a1.165 1.165 0 00-.34-.416L12.646.492a1.263 1.263 0 00-1.713-.115 1.108 1.108 0 00-.123 1.621l3.976 4.342H1.672c-.67 0-1.214.515-1.214 1.15 0 .635.543 1.15 1.214 1.15H14.92l-4.115 4.56z\"\r\n        fill=\"#fff\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function ArrowBack({className}) {\r\n  return (\r\n    <svg className={className} viewBox=\"0 0 29 29\" fill=\"none\">\r\n      <path\r\n        d=\"M14.5 28.25c7.594 0 13.75-6.156 13.75-13.75S22.094.75 14.5.75.75 6.906.75 14.5 6.906 28.25 14.5 28.25z\"\r\n        strokeWidth={1.5}\r\n        fill=\"none\"\r\n      />\r\n      <path\r\n        strokeWidth=\"0\"\r\n        d=\"M14.206 10.154a.792.792 0 10-1.204-1.029l-3.765 4.406a.792.792 0 00-.097.888c.05.11.126.205.218.281l3.647 4.209a.792.792 0 001.197-1.038l-2.592-2.992h8.551a.792.792 0 100-1.584h-8.639l2.684-3.14z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconHelp({className}) {\r\n  return (\r\n    <svg className={className} viewBox=\"0 0 28 29\" fill=\"none\">\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M14.492 5.558c-4.735 0-8.575 3.854-8.575 8.608 0 4.754 3.84 8.608 8.575 8.608 4.736 0 8.575-3.854 8.575-8.608 0-4.754-3.839-8.608-8.575-8.608zM4.051 14.166c0-5.79 4.675-10.482 10.441-10.482 5.767 0 10.442 4.693 10.442 10.482 0 5.79-4.675 10.482-10.442 10.482-5.766 0-10.441-4.693-10.441-10.482z\"\r\n        fill=\"#316ACD\"\r\n      />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M15.816 11.69c0 .283-.08.55-.246.809l-.001.002c-.128.202-.383.373-.836.472-.251.05-.462.102-.628.158-.155.053-.31.122-.413.224a.792.792 0 00-.194.386c-.033.143-.047.31-.047.498v1.646c0 .259.07.499.243.68.167.207.413.285.675.285.264 0 .513-.07.692-.257.177-.186.241-.44.241-.708v-1.233c.7-.18 1.276-.51 1.713-.997l.002-.002c.487-.555.723-1.256.723-2.08 0-.86-.331-1.578-.984-2.137-.648-.554-1.455-.824-2.402-.824-.757 0-1.461.233-2.105.692-.65.46-1.004 1.06-1.004 1.788 0 .261.076.499.248.686l.008.009.008.007c.179.166.397.25.64.25a.797.797 0 00.504-.175.87.87 0 00.232-.29c.062-.115.118-.255.169-.415.075-.234.22-.42.447-.561l.002-.001c.238-.152.532-.234.895-.234.434 0 .77.127 1.03.364.254.232.388.54.388.958zm-1.447 5.982a.99.99 0 01.717.298.975.975 0 01.318.726c0 .284-.111.53-.318.726a.99.99 0 01-.717.298.99.99 0 01-.72-.3.998.998 0 01-.3-.724c0-.28.103-.525.3-.723a.99.99 0 01.72-.3zm.522.5a.583.583 0 01.02.019l-.02-.02zm-.522-.219a.711.711 0 00-.522.219.717.717 0 010 0 .711.711 0 01.522-.219z\"\r\n        fill=\"#316ACD\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconRight({className}) {\r\n  return (\r\n    <svg className={className} viewBox=\"0 0 7 13\" fill=\"none\">\r\n      <path\r\n        d=\"M.546 12.162a.79.79 0 01-.103-1.112l3.894-4.69L.44 1.637A.79.79 0 011.661.632l4.31 5.226a.79.79 0 010 1.008l-4.312 5.193a.79.79 0 01-1.113.104z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconTwitter({className}) {\r\n  return (\r\n    <svg className={className} viewBox=\"0 0 30 31\">\r\n      <path\r\n        d=\"M15 .344c-8.283 0-15 6.717-15 15 0 8.283 6.717 15 15 15 8.283 0 15-6.717 15-15 0-8.283-6.717-15-15-15zm6.849 11.696c.006.147.01.295.01.444 0 4.55-3.463 9.796-9.796 9.796a9.751 9.751 0 01-5.277-1.546c.27.031.543.047.821.047 1.613 0 3.098-.55 4.276-1.473a3.446 3.446 0 01-3.216-2.392 3.418 3.418 0 001.555-.059 3.443 3.443 0 01-2.762-3.375v-.044c.465.258.995.413 1.56.43a3.439 3.439 0 01-1.532-2.865c0-.631.17-1.222.466-1.73a9.774 9.774 0 007.097 3.596 3.444 3.444 0 015.867-3.14 6.9 6.9 0 002.186-.835A3.457 3.457 0 0121.59 10.8a6.859 6.859 0 001.977-.542 7.01 7.01 0 01-1.718 1.783z\"\r\n        fill=\"#316ACD\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconBottom({className}) {\r\n  return (\r\n    <svg className={className} width={18} height={8} viewBox=\"0 0 18 8\" fill=\"none\">\r\n      <path\r\n        d=\"M1.242.453a1.06 1.06 0 011.49-.138l6.28 5.192L15.334.313a1.06 1.06 0 011.489.142 1.05 1.05 0 01-.143 1.483L9.683 7.687a1.061 1.061 0 01-1.35-.002L1.38 1.936A1.05 1.05 0 011.242.453z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconList({className})  {\r\n  return (\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\">\r\n      <path fill=\"#fff\" d=\"M.004.5v25h25V.5z\" />\r\n      <path\r\n        d=\"M5.212 5.318c0-.46.373-.834.833-.834h12.917c.46 0 .834.373.834.834v15.364c0 .46-.374.834-.834.834H6.045a.833.833 0 01-.833-.834V5.318zm1.667.833v13.698h11.25V6.151H6.879z\"\r\n      />\r\n      <path\r\n        d=\"M10.745 9.679a.846.846 0 10-1.693 0 .846.846 0 001.693 0zM10.745 13a.846.846 0 10-1.693 0 .846.846 0 001.693 0zM10.745 16.32a.846.846 0 10-1.693 0 .846.846 0 001.693 0z\"\r\n      />\r\n      <path\r\n        d=\"M11.67 9.679c0-.46.374-.833.834-.833h3.382a.833.833 0 110 1.666h-3.382a.833.833 0 01-.833-.833zM11.67 13c0-.46.374-.834.834-.834h3.382a.833.833 0 110 1.667h-3.382a.833.833 0 01-.833-.834zM11.67 16.32c0-.46.374-.834.834-.834h3.382a.833.833 0 110 1.667h-3.382a.833.833 0 01-.833-.833z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconLocation({className}) {\r\n  return (\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\">\r\n      <path fill=\"#fff\" d=\"M.978.23v25h25v-25z\" />\r\n      <path\r\n        d=\"M9.915 5.613C8.494 7.038 8.112 8.636 8.27 10.185c.163 1.582.896 3.128 1.737 4.326l3.616 4.856 3.35-4.83c.67-1.047 1.454-2.652 1.68-4.318.224-1.642-.096-3.28-1.545-4.584-1.537-1.383-3.015-1.646-4.244-1.464-1.265.187-2.333.858-2.95 1.442zm2.706-3.091c1.72-.255 3.697.16 5.603 1.875 1.966 1.77 2.357 4.018 2.082 6.046-.271 2-1.19 3.844-1.939 5.007a.777.777 0 01-.016.024l-4.018 5.796a.833.833 0 01-1.354.023l-4.314-5.796a.848.848 0 01-.013-.018c-.95-1.35-1.838-3.167-2.039-5.124-.204-1.99.309-4.106 2.13-5.928a.878.878 0 01.016-.015c.808-.768 2.182-1.642 3.862-1.89z\"\r\n      />\r\n      <path\r\n        d=\"M13.5 7.423a2.217 2.217 0 100 4.433 2.217 2.217 0 000-4.433zM9.617 9.639a3.883 3.883 0 117.766 0 3.883 3.883 0 01-7.766 0z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconFolder({className}) {\r\n  return (\r\n    <svg width={32} height={32} viewBox=\"0 0 32 32\" fill=\"none\">\r\n      <path fill=\"#fff\" d=\"M0 0v32h32V0z\" />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M2.614 12.459c.197-.299.531-.479.89-.479h19.115c.428 0 .814.256.981.65l5.068 11.898a1.066 1.066 0 01-.98 1.485H8.571c-.428 0-.814-.256-.982-.649L2.522 13.465c-.14-.33-.106-.707.092-1.006zm2.503 1.655l4.16 9.765h16.796l-4.16-9.765H5.118z\"\r\n      />\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M6.599 7.053c0-.59.477-1.067 1.066-1.067h9.5c.59 0 1.067.478 1.067 1.067v1.513h9.501c.59 0 1.067.478 1.067 1.067v15.278a1.067 1.067 0 01-2.133 0V10.7h-9.502c-.589 0-1.066-.478-1.066-1.067V8.12H8.732v4.157a1.067 1.067 0 01-2.133 0V7.053z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function CurveTop({className}) {\r\n  return (\r\n    <svg width={80} height={13} viewBox=\"0 0 80 13\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M61.278 6.475c4.946 2.544 11.13 6.233 18.471 6.233H.686c7.42 0 13.602-4.237 18.548-6.493C24.181 3.958 32.837.208 40.256.208c7.42 0 16.076 3.722 21.022 6.267z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function CurveBottom({className}) {\r\n  return (\r\n    <svg width={80} height={13} viewBox=\"0 0 80 13\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M19.257 6.238C14.31 3.693 8.127.005.785.005H79.85c-7.42 0-13.602 4.237-18.549 6.493-4.946 2.257-13.602 6.007-21.021 6.007-7.42 0-16.076-3.722-21.022-6.267z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconCorreo({className}) {\r\n  return (\r\n    <svg width={41} height={41} viewBox=\"0 0 41 41\" fill=\"none\" className={className}>\r\n      <path fill=\"#fff\" d=\"M.313.241v40h40v-40z\" />\r\n      <path\r\n        d=\"M5.749 21.605a4 4 0 011.652-5.41l18.353-9.767a4 4 0 015.41 1.652l5.037 9.464a4 4 0 01-1.652 5.41l-18.354 9.767a4 4 0 01-5.41-1.652L5.75 21.605zm2.905-3.056a1.333 1.333 0 00-.551 1.803l5.036 9.465c.346.65 1.154.896 1.804.55L33.296 20.6c.65-.346.897-1.153.55-1.803L28.81 9.332a1.333 1.333 0 00-1.803-.55L8.654 18.549z\"\r\n      />\r\n      <path\r\n        d=\"M5.608 19.04a1.333 1.333 0 011.48-1.166l13.996 1.658 6.093-12.335a1.333 1.333 0 112.391 1.181l-6.51 13.18c-.25.506-.791.8-1.352.733l-14.93-1.77a1.333 1.333 0 01-1.168-1.48z\"\r\n      />\r\n      <path\r\n        d=\"M22.01 18.135A1.333 1.333 0 0123.516 17l12.013 1.69a1.333 1.333 0 01-.371 2.641l-12.013-1.69a1.333 1.333 0 01-1.135-1.506zM19.4 19.447a1.333 1.333 0 00-1.782.615l-5.31 10.908a1.333 1.333 0 102.398 1.167l5.31-10.908a1.333 1.333 0 00-.616-1.782zM3.854 6.112c0-.736.597-1.333 1.334-1.333h13a1.333 1.333 0 110 2.666h-13a1.333 1.333 0 01-1.334-1.333zM3.854 10.946c0-.737.597-1.334 1.334-1.334H9.27a1.333 1.333 0 010 2.667H5.188a1.333 1.333 0 01-1.334-1.333zM4.34 35.279c0-.737.597-1.334 1.333-1.334h4.084a1.333 1.333 0 010 2.667H5.673a1.333 1.333 0 01-1.333-1.333z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconLock({className}) {\r\n  return (\r\n    <svg width={41} height={41} viewBox=\"0 0 41 41\" fill=\"none\" className={className}>\r\n      <path fill=\"#fff\" d=\"M.411.926v40h40v-40z\" />\r\n      <path\r\n        d=\"M7.864 17.88c0-.737.597-1.334 1.333-1.334H29.78c.737 0 1.334.597 1.334 1.334v17.5c0 .736-.597 1.333-1.334 1.333H9.197a1.333 1.333 0 01-1.333-1.333v-17.5zm2.666 1.333v14.833h17.917V19.213H10.53z\"\r\n      />\r\n      <path\r\n        d=\"M19.53 23.297c.737 0 1.334.597 1.334 1.333v4.167a1.333 1.333 0 11-2.667 0V24.63c0-.736.597-1.333 1.334-1.333zM23.621 7.728c-.816-1.03-2.08-1.847-4.12-1.766-2.093.084-3.404.962-4.238 1.99-.848 1.045-1.227 2.283-1.316 3.08v6.765a1.333 1.333 0 11-2.667 0v-6.834c0-.042.002-.085.006-.127.119-1.234.659-3.027 1.907-4.565 1.284-1.583 3.293-2.857 6.2-2.973 2.96-.119 5.016 1.133 6.317 2.772 1.255 1.58 1.784 3.479 1.898 4.776.004.039.006.078.006.117v6.834a1.333 1.333 0 11-2.667 0v-6.77c-.09-.898-.48-2.234-1.326-3.3z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconEye({className}) {\r\n  return (\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n      <path fill=\"#fff\" d=\"M.411.926v20h20v-20z\" />\r\n      <path\r\n        d=\"M3.842 10.968c2.955 3.602 5.726 4.228 7.955 3.72 2.21-.503 4.07-2.16 5.2-3.691-1.365-1.805-2.712-2.875-3.974-3.444-1.34-.604-2.626-.661-3.817-.385-2.231.517-4.165 2.22-5.364 3.8zm9.729-4.63c1.617.728 3.23 2.09 4.789 4.26a.666.666 0 01.012.76c-1.194 1.785-3.43 3.981-6.279 4.63-2.936.669-6.313-.348-9.615-4.591a.667.667 0 01-.022-.788c1.26-1.824 3.578-4.075 6.45-4.74 1.454-.337 3.04-.264 4.665.469z\"\r\n      />\r\n      <path\r\n        d=\"M10.411 9.134a1.792 1.792 0 100 3.583 1.792 1.792 0 000-3.583zm-3.125 1.792a3.125 3.125 0 116.25 0 3.125 3.125 0 01-6.25 0z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconEyeLock({className}) {\r\n  return (\r\n    <svg width={21} height={21} viewBox=\"0 0 21 21\" fill=\"none\" className={className}>\r\n      <path fill=\"#fff\" d=\"M.411.926v20h20v-20z\" />\r\n      <path\r\n        d=\"M4.66 4.922a.667.667 0 01.942.024l10.042 10.562a.667.667 0 11-.966.919L4.636 5.864a.667.667 0 01.024-.942z\"\r\n      />\r\n      <path\r\n        d=\"M9.367 7.98a3.125 3.125 0 013.944 4.115l-1.108-1.156v-.013c0-.969-.768-1.757-1.729-1.79L9.367 7.98zm-.23 1.686l-.923-.962a3.125 3.125 0 004.324 4.512l-.923-.963a1.792 1.792 0 01-2.479-2.586z\"\r\n      />\r\n      <path\r\n        d=\"M11.797 14.688c-2.229.508-5-.118-7.955-3.72.861-1.136 2.102-2.334 3.56-3.11l-.953-.996c-1.73 1.004-3.117 2.479-3.993 3.747a.667.667 0 00.022.788c3.302 4.243 6.679 5.26 9.615 4.591a8.622 8.622 0 002.261-.878l-.96-1.002a7.123 7.123 0 01-1.597.58zm-3.08-7.387c.161-.05.324-.095.49-.133 1.19-.276 2.476-.219 3.816.385 1.262.57 2.609 1.64 3.974 3.444a11.035 11.035 0 01-2.433 2.405l.932.972a12.434 12.434 0 002.876-3.016.667.667 0 00-.012-.76c-1.558-2.17-3.172-3.532-4.79-4.26-1.624-.733-3.21-.806-4.665-.47a8.277 8.277 0 00-1.199.379L8.716 7.3z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconLockEye({className}) {\r\n  return (\r\n    <svg width={40} height={41} viewBox=\"0 0 40 41\" fill=\"none\" className={className}>\r\n      <g clipPath=\"url(#prefix__clip0)\">\r\n        <path fill=\"#fff\" d=\"M0 .162v40h40v-40z\" />\r\n        <path\r\n          d=\"M7.453 17.116c0-.736.597-1.333 1.333-1.333h20.583c.737 0 1.334.597 1.334 1.333v8.546a1.333 1.333 0 11-2.667 0v-7.213H10.119v14.834h10.59a1.333 1.333 0 010 2.666H8.786a1.333 1.333 0 01-1.333-1.333v-17.5z\"\r\n        />\r\n        <path\r\n          d=\"M23.21 6.964c-.817-1.029-2.081-1.847-4.12-1.765-2.093.083-3.404.962-4.238 1.989-.848 1.045-1.228 2.284-1.316 3.08v6.765a1.333 1.333 0 01-2.667 0V10.2c0-.043.002-.085.006-.127.119-1.235.658-3.027 1.907-4.566 1.284-1.582 3.293-2.857 6.2-2.973 2.96-.118 5.016 1.133 6.317 2.772 1.255 1.58 1.783 3.479 1.898 4.776.004.04.006.078.006.118v6.833a1.333 1.333 0 01-2.667 0v-6.77c-.09-.898-.48-2.233-1.326-3.299zM20.724 31.895c3.623 4.271 6.931 4.927 9.525 4.336 2.564-.584 4.777-2.458 6.202-4.287-1.645-2.102-3.242-3.34-4.713-4.002-1.623-.732-3.171-.8-4.61-.467-2.591.6-4.892 2.529-6.404 4.42zm12.11-6.384c2.177.981 4.315 2.799 6.355 5.642.324.451.334 1.056.025 1.518-1.574 2.353-4.542 5.287-8.372 6.16-4.005.912-8.526-.514-12.858-6.082a1.333 1.333 0 01-.045-1.577c1.657-2.399 4.729-5.4 8.586-6.294 1.967-.456 4.115-.356 6.309.633z\"\r\n        />\r\n        <path\r\n          d=\"M28.571 31.337a.513.513 0 100 1.027.513.513 0 000-1.027zm-3.18.513a3.18 3.18 0 116.36 0 3.18 3.18 0 01-6.36 0z\"\r\n        />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"prefix__clip0\">\r\n          <path\r\n            fill=\"#fff\"\r\n            transform=\"matrix(0 1 1 0 0 .162)\"\r\n            d=\"M0 0h40v40H0z\"\r\n          />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconLike({className}) {\r\n  return (\r\n    <svg width={41} height={41} viewBox=\"0 0 41 41\" fill=\"none\" className={className}>\r\n      <path fill=\"#fff\" d=\"M.735.218v40h40v-40z\" />\r\n      <path\r\n        d=\"M24.192 4.346c.357-.448.96-.619 1.498-.423 2.628.953 4.003 2.51 4.361 4.312.332 1.67-.281 3.216-.906 4.14l-1.512 2.434h4.055c2.397-.018 3.969.94 4.76 2.42.712 1.334.653 2.842.425 3.815l-1.911 10.012a1.26 1.26 0 01-.014.062c-.89 3.706-3.365 5.084-4.923 5.179a1.298 1.298 0 01-.081.003h-11.11c-1.775.037-3.068-.545-3.848-1.555-.7-.907-.833-1.967-.75-2.718V17.319c0-.302.101-.594.29-.83l9.666-12.143zM25.647 6.8l-8.745 10.985v14.324c0 .063-.005.125-.013.187-.032.225.015.57.208.82.144.187.54.544 1.691.517h11.1c.336-.041 1.83-.53 2.46-3.109l1.91-10.01.014-.062c.141-.583.134-1.384-.176-1.966-.24-.449-.79-1.024-2.391-1.01h-6.47a1.333 1.333 0 01-1.133-2.037l2.792-4.496.034-.05c.369-.538.66-1.373.508-2.137-.108-.544-.49-1.298-1.79-1.956z\"\r\n      />\r\n      <path\r\n        d=\"M5.569 20.26a4 4 0 014-4h5.978c.736 0 1.333.596 1.333 1.333v17.375c0 .736-.597 1.333-1.333 1.333H9.569a4 4 0 01-4-4V20.259zm4-1.334c-.737 0-1.334.597-1.334 1.333v12.042c0 .736.597 1.333 1.334 1.333h4.644V18.926H9.57z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconStar({className}) {\r\n  return (\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n      <path fill=\"#fff\" d=\"M.75.619v25h25v-25z\" />\r\n      <path\r\n        d=\"M11.665 3.733c.499-1.536 2.671-1.536 3.17 0l1.827 5.622h5.912c1.614 0 2.285 2.066.98 3.015l-4.783 3.475 1.826 5.622c.5 1.536-1.258 2.812-2.564 1.863l-4.783-3.474-4.782 3.474c-1.307.95-3.064-.327-2.565-1.863l1.827-5.622-4.783-3.475c-1.306-.949-.635-3.015.98-3.015h5.911l1.827-5.622zm3.412 6.137L13.25 4.248 11.423 9.87a1.667 1.667 0 01-1.585 1.152H3.927l4.782 3.474c.584.425.829 1.177.606 1.864l-1.827 5.622 4.782-3.475a1.667 1.667 0 011.96 0l4.782 3.475-1.826-5.622a1.667 1.667 0 01.605-1.864l4.783-3.474h-5.912a1.667 1.667 0 01-1.585-1.152z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconCampana({className}) {\r\n  return (\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M10.093 19.936a.833.833 0 01.833-.816h4.648c.454 0 .824.363.833.816v.008a3.158 3.158 0 11-6.315.025v-.033zm1.91.851a1.49 1.49 0 002.494 0h-2.494z\"\r\n      />\r\n      <path\r\n        d=\"M11.372 4.989a1.878 1.878 0 013.756 0v.536a6.164 6.164 0 014.284 5.87v3.577l1.948 2.862a1.89 1.89 0 01-1.563 2.953H6.703a1.89 1.89 0 01-1.563-2.953l1.948-2.861v-3.577c0-2.75 1.799-5.076 4.284-5.87v-.537zm1.878-.212a.212.212 0 00-.212.212v1.18c0 .398-.28.74-.67.818a4.497 4.497 0 00-3.614 4.409v3.834c0 .167-.05.33-.144.469L6.518 18.77a.223.223 0 00.185.35h13.094a.223.223 0 00.185-.35l-2.092-3.073a.834.834 0 01-.144-.468v-3.834c0-2.18-1.553-4-3.613-4.41a.833.833 0 01-.671-.817V4.99a.212.212 0 00-.212-.212z\"\r\n      />\r\n      <circle cx={19.438} cy={10.074} fill=\"#F23361\" r={4.295} />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconCarrito({className}) {\r\n  return (\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M1.479 4.264c0-.46.373-.833.833-.833h2.032c.402 0 .746.287.82.682L7.745 18.12H20.54a.833.833 0 110 1.666H7.051a.833.833 0 01-.819-.682L3.65 5.098H2.312a.833.833 0 01-.833-.834z\"\r\n      />\r\n      <path\r\n        d=\"M4.76 6.66c0-.46.373-.833.834-.833H23.04a.833.833 0 01.815 1.01l-1.98 9.115a.833.833 0 01-.814.656H6.583a.833.833 0 110-1.666h13.808l1.617-7.448H5.594a.833.833 0 01-.834-.834zM8.74 19.008c.46 0 .834.373.834.833a1.094 1.094 0 102.187 0 .833.833 0 011.667 0 2.76 2.76 0 11-5.52 0c0-.46.372-.833.833-.833zM15.181 19.008c.46 0 .834.373.834.833a1.094 1.094 0 102.187 0 .833.833 0 011.667 0 2.76 2.76 0 11-5.52 0c0-.46.372-.833.832-.833z\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n\r\nexport function IconMenu({className}) {\r\n  return (\r\n    <svg width={26} height={26} viewBox=\"0 0 26 26\" fill=\"none\" className={className}>\r\n      <path\r\n        d=\"M23.771 4.743H2.729M23.771 10.327H2.729M23.771 15.91H2.729M23.771 21.494H2.729\"\r\n        stroke=\"#316ACD\"\r\n        strokeWidth={2}\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n    </svg>\r\n  )\r\n}\r\n","import { data } from \"../constants/Constants\";\r\nimport localStorageCustom from \"../utilitarios/localStorage\";\r\nconst axios = require('axios')\r\nconst qs = require('qs')\r\n\r\nconst SERVICE_ENVIROMENT = {\r\n\r\n    DEV: \"https://b2bv2.asiri.pe/api/\",\r\n    PROD: \"https://b2bv2.asiri.pe/api/\",\r\n\r\n\r\n    // DEV: \"https://apib2bdev.crosland.com.pe:4436/api/\",\r\n    // PROD: \"https://apib2bdev.crosland.com.pe:4436/api/\",\r\n\r\n\r\n}\r\nconst baseURL = SERVICE_ENVIROMENT[data.enviroment];\r\n\r\n// export \r\nconst baseInstanceAxios = axios.create({\r\n    baseURL,\r\n    timeout: 1000000,\r\n});\r\n\r\nconst getToken = () => {\r\n    try {\r\n        let token = localStorageCustom.prototype.getToken();\r\n        // console.log(\"token\", token)\r\n        return token;\r\n    } catch (error) {\r\n        // console.log(\"getToken ERROR:\", error.message);\r\n        return;\r\n    }\r\n};\r\n\r\nconst isAxiosHandlerEnabled = (config = {}) => {\r\n    // return config.hasOwnProperty('handlerEnabled') && !config.handlerEnabled ? false : true;\r\n    return Object.prototype.hasOwnProperty.call(config, \"handlerEnabled\") &&\r\n        !config.handlerEnabled ?\r\n        false :\r\n        true;\r\n};\r\n\r\nconst requestAxiosHandler = request => {\r\n    if (isAxiosHandlerEnabled(request)) {\r\n        const token = getToken();\r\n        request.headers[\"Content-Type\"] = \"application/x-www-form-urlencoded\";\r\n        if (token)\r\n            request.headers[\"Authorization\"] = \"Bearer \" + token;\r\n\r\n    }\r\n    return request;\r\n};\r\n\r\nconst successAxiosHandler = response => {\r\n    if (isAxiosHandlerEnabled(response.config)) {\r\n        if (response.status == 200) {\r\n            // Handle responses\r\n            // if (response.data.mo.type = \"success\") {\r\n            return response.data;\r\n            // }\r\n            // throw new Error(response.statusText);\r\n\r\n        }\r\n    }\r\n    throw new Error(response.statusText);\r\n};\r\n\r\nconst errorAxiosHandler = error => {\r\n    if (isAxiosHandlerEnabled(error.config)) {\r\n        console.log(\"errorAxiosHandler >\", error);\r\n    }\r\n    if (error.message == \"Network request failed\" || error.message == \"Network Error\") {\r\n        error.message = \"Por favor, asegúrate de estar conectado a internet y vuelve a intentarlo\";\r\n        error.description = \"Por favor, asegúrate de estar conectado a internet y vuelve a intentarlo\";\r\n    }\r\n\r\n    return Promise.reject({ ...error });\r\n};\r\n\r\n// Add interceptors\r\nbaseInstanceAxios.interceptors.request.use(request =>\r\n    requestAxiosHandler(request)\r\n);\r\n\r\nbaseInstanceAxios.interceptors.response.use(\r\n    response => successAxiosHandler(response),\r\n    error => errorAxiosHandler(error)\r\n);\r\n\r\nclass ServiceManager {\r\n    Get(params, test = false) {\r\n        let { url = null, urlIsRelative = true } = params;\r\n        return baseInstanceAxios\r\n            .get(url)\r\n            .then(response => {\r\n                return response;\r\n            })\r\n            .catch(error => {\r\n                throw error;\r\n            });\r\n    }\r\n\r\n    Post(params, test = false) {\r\n        let { url = null, data = null, urlIsRelative = true } = params;\r\n        data = qs.stringify(data);\r\n        // console.log(\"data\", data)\r\n        return baseInstanceAxios\r\n            .post(url, data)\r\n            .then(response => {\r\n                return response;\r\n            })\r\n            .catch(error => {\r\n                throw error;\r\n            });\r\n    }\r\n}\r\n\r\nexport default ServiceManager;","import { data } from '../../constants/Constants';\r\nimport device from '../../utilitarios/device';\r\n\r\n\r\nexport function getDevice() {\r\n       return localStorage.getItem(\"mc\");\r\n       // return \"4CDDACD4-31D3-427F-86D5-D8C445718B48\";\r\n}\r\n\r\n","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport device from '../../utilitarios/device';\r\nimport { getDevice } from './utilApi';\r\n\r\nexport function generarInicioMAC() {\r\n    let params = {};\r\n    params.url = \"login/GenerarInicioMac\";\r\n    params.data = {};\r\n    console.log(\"params.data==>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function generarMAC({ CorreoElectronico, SO, Browser }) {\r\n    let params = {};\r\n    params.url = \"login/generarmac\";\r\n    params.data = {\r\n        'dto.CorreoElectronico': CorreoElectronico,\r\n        'dto.Descripcion': `${SO} / ${Browser}`,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"params.data==>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function login({ CorreoElectronico, Contrasenia }) {\r\n    const DispositivoId = getDevice();\r\n    console.log(\"DispositivoId : \",DispositivoId)\r\n    let params = {};\r\n    params.url = \"login/login\";\r\n    params.data = {\r\n        'dto.CorreoElectronico': CorreoElectronico,\r\n        'dto.Contrasenia': Contrasenia,\r\n        'dto.CodigoDispositivo': DispositivoId,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.Os': 'android'\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function validuserlogin({ CorreoElectronico ,descripcion}) {\r\n    const DispositivoId = getDevice();\r\n    console.log(\"DispositivoId validuserlogin : \",DispositivoId)\r\n    console.log(\"descripcion : \",descripcion)\r\n    let params = {};\r\n    params.url = \"login/validalogin\";\r\n    params.data = {\r\n        'dto.CorreoElectronico': CorreoElectronico,\r\n        'dto.CodigoDispositivo': DispositivoId,\r\n        'dto.Descripcion': descripcion,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"params.data==>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function getRazonSocialAsociados(dealer, linea) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarRazonSocial\";\r\n    params.data = {\r\n        'dto.CodigoDealer': dealer.originalcodcliente,\r\n        'dto.Vkorg': linea.vkorg,\r\n        'dto.DispositivoDealer': dealer.codigoDispositivo,\r\n        'dto.CorreoElectronicoDealer': dealer.correoElectronico,\r\n        'dto.Canal': linea.canal,\r\n        'dto.Sector': linea.sector,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function ListarLocalesServicio(dealer, linea) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarLocalesServicio\";\r\n    params.data = {\r\n        'dto.CodigoDealer': dealer.codcliente,\r\n        'dto.CorreoElectronicoDealer': dealer.correoElectronico,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"ListarLocalesServicio===>\", dealer, params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function solicitarAcceso(CorreoElectronico, Ruc, Celular) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"login/solicitaracceso\";\r\n    params.data = {\r\n        'dto.CorreoElectronico': CorreoElectronico,\r\n        'dto.CodigoDispositivo': DispositivoId,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.Ruc': Ruc,\r\n        'dto.Celular': Celular\r\n    };\r\n    console.log(\"Params\", params);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function getTyC() {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"login/tyc\";\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function solicitarNuevoCodigo(CorreoElectronico) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"login/SolicitarNuevoCodigo\";\r\n    params.data = {\r\n        'dto.CorreoElectronico': CorreoElectronico,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function recuperarAcceso(CorreoElectronico) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"login/RecuperarAcceso\";\r\n    params.data = {\r\n        'dto.CorreoElectronico': CorreoElectronico,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function validarCodigoAcceso(CorreoElectronico, CodigoVerificacion) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"login/ValidarCodigoAcceso\";\r\n    params.data = {\r\n        'dto.CorreoElectronico': CorreoElectronico,\r\n        'dto.CodigoActivacion': CodigoVerificacion,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"params.data===>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function activarAcceso(CorreoElectronico, Contrasenia, CodigoActivacion) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"login/ActivarAcceso\";\r\n    params.data = {\r\n        'dto.CorreoElectronico': CorreoElectronico,\r\n        'dto.Contrasenia': Contrasenia,\r\n        'dto.CodigoDispositivo': DispositivoId,\r\n        'dto.CodigoActivacion': CodigoActivacion,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function cambiarContrasenia(CorreoElectronico, Contrasenia, DispositivoDealer, CodigoDealer) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"login/CambiarContrasenia\";\r\n    params.data = {\r\n        'dto.CorreoElectronico': CorreoElectronico,\r\n        'dto.Contrasenia': Contrasenia,\r\n        'dto.DispositivoDealer': DispositivoDealer,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function RegistrarSugerencia(entidad  ) {    \r\n \r\n    const DispositivoId = getDevice(); \r\n    let params = {};\r\n    params.url = \"vehiculo/RegistrarSugerencia\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': entidad.correoElectronico ,    \r\n        'dto.CodigoDealer':  entidad.codcliente,\r\n        'dto.PerfilCodigo': data.PerfilLinea.Repuestos  ,\r\n        'dto.Linea': data.LineaRepuestos  ,\r\n        'dto.Mensaje':  entidad.mensaje  ,    \r\n        'dto.Sistema': data.Sistema  ,\r\n        'dto.DispositivoDealer': DispositivoId,  \r\n        'dto.Alias': data.AliasSugerencia\r\n    }; \r\n    console.log(\"params.data====>\",params.data);   \r\n    return ServiceManager.prototype.Post(params);\r\n}","import React, { Component } from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport {Logo, IconHelp, IconRight, IconTwitter} from '../../../assets/icons/svgIcon';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\nimport { getTyC } from '../../../store/sagas/authApi';\r\nimport { notificacion } from '../../../utilitarios/util';\r\n\r\nexport class Footer extends Component {\r\n  static displayName = Footer.name;\r\n\r\n  constructor (props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      \r\n    };\r\n  }\r\n\r\n  loadInBrowser = () => {\r\n    window.open(this.state.tyc);\r\n  };\r\n\r\n  postTyC = async () => {\r\n    getTyC()\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false, tyc: result.dto.urlTyC })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n\r\n  componentDidMount(){\r\n    this.postTyC();\r\n  }\r\n\r\n  render () {\r\n    const { isLoggedIn } = this.props;\r\n    return (\r\n      <footer>\r\n        { isLoggedIn ?\r\n          <Container className=\"list-footer\">\r\n            {/* <Logo className='logo' /> */}\r\n            <img className='logo' src={require('../../../assets/img/logo-1.png')} />\r\n            <div className=\"options\">\r\n              <h6><IconHelp className='svg'/>Ayuda</h6>\r\n              <ul>\r\n                <li><Link to=\"/preguntas-frecuentes\">Preguntas frecuentes<SvgAssets icon=\"icon-right\" fill={c.azulClaro} /></Link></li>\r\n                <li><Link to=\"/sugerencias\" className=\"red\">Sugerencias<SvgAssets icon=\"icon-right\" fill={c.rojoClaro} /></Link></li>\r\n                {/* <li><Link to=\"/requerimientos\">Requerimientos<SvgAssets icon=\"icon-right\" fill={c.azulClaro} /></Link></li> */}\r\n              </ul>\r\n            </div>\r\n            {/* <div className=\"rrss\">\r\n              <h6>Redes Sociales</h6>\r\n              <a href=\"#\"><IconTwitter className='icon' /></a>\r\n              <a href=\"#\"><IconTwitter className='icon' /></a>\r\n              <a href=\"#\"><IconTwitter className='icon' /></a>\r\n              <a href=\"#\"><IconTwitter className='icon' /></a>\r\n            </div> */}\r\n          </Container>\r\n          : null\r\n        }\r\n        <div className=\"sub-footer\">\r\n          <Container>\r\n            <span>© 2020 Asiri Crosland | Copyright, Lima - Perú | <a href=\"#\" onClick={(e) => {e.preventDefault(); this.loadInBrowser()}}>Términos y condiciones</a></span>\r\n          </Container>\r\n        </div>\r\n      </footer>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport { NavMenu } from './reusable/global/NavMenu';\r\nimport { NavMenuAuth } from './reusable/global/NavLogin';\r\nimport { Footer } from './reusable/global/Footer';\r\nimport { AuthContext } from \"../store/provider/AuthProvider\";\r\nimport localStorageCustom from '../utilitarios/localStorage';\r\n// import { browserHistory } from \"react-router\";\r\n// import { createBrowserHistory } from \"history\";\r\n// import PropTypes from 'prop-types' \r\n\r\nexport class Layout extends Component {\r\n  static displayName = Layout.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      isLoggedIn: false,\r\n      hideNav: false\r\n    };\r\n    this.validateState = this.validateState.bind(this);\r\n  }\r\n\r\n  isLoggedInChange(value) {\r\n    this.setState({ isLoggedIn: value });\r\n  }\r\n\r\n  componentDidUpdate(prevProps, prevState) {\r\n    // const auth = this.context;\r\n    // // debugger;\r\n    // const { pathname } = window.location;\r\n\r\n    // const isLoggedIn = [\"/linea-negocio\", \"/razon-social\"].includes(pathname.toLowerCase()) ? false : auth.isLoggedIn;\r\n    // // const hideNav = auth.hideNav;\r\n    // const hideNav = [\"/\"].includes(pathname.toLowerCase()) ? true : false;\r\n    // if (prevState.isLoggedIn != isLoggedIn || prevState.hideNav != hideNav) {\r\n    // debugger;\r\n    // console.log(hideNav);\r\n    // // debugger;\r\n    //   this.setState({\r\n    //     isLoggedIn: isLoggedIn,\r\n    //     hideNav: hideNav\r\n    //   })\r\n    // }\r\n  }\r\n\r\n  validateState() {\r\n    const auth = this.context;\r\n\r\n    const { history } = this.props;\r\n    const { pathname } = history.location;\r\n    var isLoggedIn = localStorageCustom.prototype.getToken() ? true : false;\r\n    const hideNav = isLoggedIn ? true : [\"/\"].includes(pathname.toLowerCase());\r\n    isLoggedIn = [\"/linea-negocio\", \"/razon-social\"].includes(pathname.toLowerCase()) ? false : isLoggedIn;\r\n    this.setState({\r\n      isLoggedIn: isLoggedIn,\r\n      hideNav: hideNav\r\n    });\r\n  }\r\n\r\n  componentDidMount() {\r\n    const { history } = this.props;\r\n    this.validateState();\r\n    history.listen(this.validateState);\r\n  }\r\n\r\n  classWrapper(path) {\r\n    switch (path) {\r\n      case \"/\" : case \"/solicitar-acceso\" : case \"/recuperar-contrasenia\":\r\n        return \"pt-0\";\r\n      case \"/perfil\":\r\n        return \"perfil-page\";\r\n      default:\r\n        return \"\";\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { isLoggedIn, hideNav } = this.state;\r\n    const { history } = this.props;\r\n    const { pathname } = history.location;\r\n    console.log('pathname',pathname)\r\n    return (\r\n      <div id=\"wrapper\" className={this.classWrapper(pathname)}>\r\n        <NavMenu isLoggedIn={isLoggedIn} />\r\n        <NavMenuAuth isLoggedIn={isLoggedIn} hideNav={hideNav} />\r\n        {this.props.children}\r\n        <Footer isLoggedIn={isLoggedIn} />\r\n      </div>\r\n    );\r\n  }\r\n}","import React from 'react';\r\nimport { Spinner } from 'reactstrap';\r\n\r\nconst Loader = (props) => {\r\n  let IS_VISIBLE = props.visible;\r\n  return (\r\n    <div>\r\n      {IS_VISIBLE ? <div id=\"loader\"><Spinner color=\"light\" /></div> : null}\r\n    </div>\r\n  );\r\n}\r\n\r\nexport default Loader;","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Container } from 'reactstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { connect } from 'react-redux';\r\nimport { Logo, ArrowRight, ArrowBack, CurveTop } from '../../assets/icons/svgIcon';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { generarMAC, login, validuserlogin, generarInicioMAC } from '../../store/sagas/authApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport device from '../../utilitarios/device';\r\nimport { getDevice } from '../../store/sagas/utilApi';\r\nimport { data } from '../../constants/Constants';\r\nimport FormFeedback from 'reactstrap/lib/FormFeedback';\r\nimport Platform from 'react-platform-js';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class Login extends Component {\r\n  // class Login extends Component {\r\n  static displayName = Login.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      loading: false,\r\n      step: 0,\r\n      email: \"\",\r\n      errorValidacion: null,\r\n      pswChanged: false,\r\n      password: '',\r\n      hidePassword: true,\r\n      icon: 'icon-eye-close',\r\n    };\r\n    this.checkCookie();\r\n\r\n    this.nextStep = this.nextStep.bind(this);\r\n    this.backStep = this.backStep.bind(this);\r\n  }\r\n\r\n\r\n\r\n  setCookie(cname, cvalue, exdays) {\r\n    let d = new Date();\r\n    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n    let expires = \"expires=\" + d.toUTCString();\r\n    document.cookie = cname + \"=\" + cvalue + \";\" + expires + \"\";\r\n  }\r\n\r\n\r\n  getCookie(cname) {\r\n    let name = cname + \"=\";\r\n    let decodedCookie = decodeURIComponent(document.cookie);\r\n    let ca = decodedCookie.split(';');\r\n\r\n    for (let i = 0; i < ca.length; i++) {\r\n      let c = ca[i];\r\n      while (c.charAt(0) == ' ') {\r\n        c = c.substring(1);\r\n      }\r\n      if (c.indexOf(name) == 0) {\r\n        return c.substring(name.length, c.length);\r\n      }\r\n    }\r\n    return \"\";\r\n  }\r\n\r\n  checkCookie() {\r\n    let code = this.getCookie(\"mc\");\r\n    console.log(\"code : \", code)\r\n    if (code != \"\") {\r\n      localStorage.setItem(\"mc\", code);\r\n    } else {\r\n\r\n      generarInicioMAC()\r\n        .then(result => {\r\n\r\n          let newCode = result.token\r\n          this.setCookie(\"mc\", newCode, 365);\r\n          let cookieGenerated = this.getCookie(\"mc\");\r\n          localStorage.setItem(\"mc\", cookieGenerated);\r\n        }).catch((error) => {\r\n          console.log(\"error : \", error)\r\n        });\r\n\r\n    }\r\n  }\r\n\r\n  nextStep() {\r\n    this.setState({ step: this.state.step + 1, errorValidacion: null, loading: false })\r\n  }\r\n\r\n  backStep() {\r\n    this.setState({ step: this.state.step - 1, errorValidacion: null, loading: false }\r\n      //   , () => {\r\n\r\n      //   if (this.props.location.state != null) {\r\n      //     if (this.props.location.state.step != null) {\r\n      //       this.props.location.state = { step: this.state.step };\r\n      //     }\r\n      //   }\r\n      // }\r\n    )\r\n  }\r\n\r\n  checkParams() {\r\n    this.validPswChanged();\r\n    this.validStep();\r\n  }\r\n\r\n  putEmail = (e) => {\r\n    let value = e.currentTarget.value;\r\n    this.setState({ email: value, errorValidacion: null })\r\n  }\r\n\r\n  putPassword = (e) => {\r\n    let value = e.currentTarget.value;\r\n    this.setState({ password: value, errorValidacion: null })\r\n  }\r\n\r\n  validPswChanged() {\r\n    if (this.props.location.state != null) {\r\n      let pswChanged = this.props.location.state.pswChanged;\r\n      if (pswChanged != null) this.setState({ pswChanged: pswChanged });\r\n    }\r\n  }\r\n\r\n  validStep() {\r\n    if (this.props.location.state != null) {\r\n      let step = this.props.location.state.step;\r\n      if (step != null) this.setState({ step: step }, () => {\r\n        this.props.history.replace();\r\n      });\r\n    }\r\n  }\r\n\r\n  changeIcon() {\r\n    this.setState(prevState => ({\r\n      icon: prevState.icon == 'icon-eye' ? 'icon-eye-close' : 'icon-eye',\r\n      hidePassword: !prevState.hidePassword\r\n    }))\r\n  }\r\n\r\n  postLogin = async (signIn) => {\r\n    const auth = this.context;\r\n    let Contrasenia = this.state.password;\r\n    let CorreoElectronico = this.state.email;\r\n    this.setState({ loading: true });\r\n\r\n    login({ CorreoElectronico, Contrasenia })\r\n      .then(result => {\r\n        let storageGeneral = {\r\n          dealer: {},\r\n          linea: [],\r\n          asociado: []\r\n        }\r\n        if (result.mo.type == \"success\") {\r\n          localStorageCustom.prototype.saveToken(result.token);\r\n          storageGeneral.dealer = result.dto;\r\n          localStorageCustom.prototype.saveRazonSocial(storageGeneral.dealer.razsocialSocial);\r\n          localStorageCustom.prototype.saveUsuario(storageGeneral);\r\n          this.setState({ loading: false });\r\n          console.log(this.state.linea);\r\n          auth.setIsLoggedIn(true);\r\n          this.props.history.push({\r\n            pathname: '/linea-negocio',\r\n            state: {\r\n              LineaNegocio: this.state.linea\r\n            }\r\n          });\r\n          signIn(result.token);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postValidLogin = async (signIn, setCodigoDispositivo) => {\r\n    let CorreoElectronico = this.state.email;\r\n    this.setState({ loading: true });\r\n    const { OS, OSVersion, Browser, BrowserVersion } = Platform;\r\n    \r\n    let descripcion = `${OS} ${OSVersion} / ${Browser} ${BrowserVersion}`\r\n    validuserlogin({ CorreoElectronico, descripcion })\r\n      .then(result => {\r\n        console.log(\"result : \", result)\r\n        if (result.mo.type == \"success\") {\r\n          device.prototype.Mac = result.dto.codigoDispositivo;\r\n          if (result.dto.solicitudCuenta.estadoSolicitudId == 22)  ///EstadoActivado\r\n            this.setState({ password: '' }, this.nextStep);\r\n          else {\r\n            this.setState({ loading: false });\r\n\r\n            this.props.history.push({\r\n              pathname: 'verificar-correo',\r\n              state: {\r\n                email: CorreoElectronico,\r\n                errorValidacion: result.dto.solicitudCuenta.estadoSolicitud\r\n              }\r\n            });\r\n\r\n          }\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false, errorValidacion: error.message ?? null }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n\r\n  Bienvenida() {\r\n    return (\r\n      <div className=\"login_content\">\r\n        <div className=\"content\">\r\n          <img className='logo' src={require('../../assets/img/logo-1.png')} />\r\n          {/* <h4 className='title-2'>Crosland B2B</h4>\r\n          <p>La herramienta que brinda mayor conexión y eficiencia entre Crosland y sus clientes</p> */}\r\n          <button className='btn-block red' onClick={() => { this.setState({ email: '' }, this.nextStep) }}>iniciar sesión</button>\r\n          {/* <button className='btn-block red' onClick={this.nextStep}>iniciar sesión</button> */}\r\n        </div>\r\n        <div className=\"text-center\">\r\n          <Link className=\"link-u\" to=\"/solicitar-acceso\" style={{ color: \"#fff\" }}>Solicita Acceso</Link>\r\n        </div>\r\n      </div>\r\n    )\r\n  }\r\n\r\n  componentDidMount() {\r\n\r\n    const { history } = this.props;\r\n\r\n    if (localStorageCustom.prototype.getToken() != null) {\r\n      this.props.history.push('/linea-negocio');\r\n    }\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (this.props.location.state != undefined) {\r\n      if (prevProps.location.state !== this.props.location.state) {\r\n        this.checkParams();\r\n      }\r\n    }\r\n    // notificacion(\"Login\", \"dnmjkdfv fjvdfijvdf nijvd\");\r\n  }\r\n\r\n  IngresarEmail() {\r\n    let email = this.state.email;\r\n    const auth = this.context;\r\n    const pswChanged = this.state.pswChanged;\r\n    let errorValidacion = this.state.errorValidacion;\r\n\r\n    return (\r\n      <Container>\r\n        <Button color=\"link\" className=\"btn-back mobile\" onClick={this.backStep}><SvgAssets icon=\"icon-back\" fill=\"#fff\" /></Button>\r\n        <div className=\"text-center\">\r\n          <img className='logo-small' src={require('../../assets/img/logo-1.png')} />\r\n        </div>\r\n        <div className=\"card text-center card_login\">\r\n          {/* <img className='logo-small desktop' src={require('../../assets/img/logo-1.png')} /> */}\r\n          <Button color=\"link\" className=\"btn-back desktop\" onClick={this.backStep}>\r\n            <SvgAssets icon=\"icon-back\" fill={c.celeste} />\r\n          </Button>\r\n          <SvgAssets icon=\"curve-top\" className='curve-card-login mobile' fill=\"#fff\" />\r\n          <h4 className='title-2 desktop'>Ingresa a tu cuenta</h4>\r\n          <FormGroup style={{ marginBottom: 30 }}>\r\n            <Input type=\"email\" name=\"email\" placeholder=\"Email\" value={this.state.email} onChange={this.putEmail}\r\n              onKeyUp={(e) => e.keyCode == 13 && email != '' ? pswChanged ? this.props.history.push('verificar-correo') : this.postValidLogin(auth.setuserToken, auth.setCodigoDispositivo) : null}\r\n            />\r\n            {errorValidacion ?\r\n              <FormFeedback className=\"text-danger\" style={{ display: \"inherit\" }}>{errorValidacion}</FormFeedback> : null\r\n            }\r\n          </FormGroup>\r\n          <button disabled={email == \"\"}\r\n            className={`btn-block red${(email == \"\") ? ' disabled' : ''}`}\r\n            onClick={() => pswChanged ? this.props.history.push('verificar-correo') : this.postValidLogin(auth.setuserToken, auth.setCodigoDispositivo)}\r\n          >siguiente<ArrowRight className='svg-right' />\r\n          </button>\r\n          <Link className=\"link-u mt-5\" to=\"/recuperar-contrasenia\">¿Olvidaste tu contraseña?</Link>\r\n        </div>\r\n        <div className=\"text-center mt-4\">\r\n          <span>Si aún no tienes una cuenta,</span>\r\n          <Link className=\"link-u\" to=\"/solicitar-acceso\" style={{ color: \"#fff\" }}>Solicita Acceso</Link>\r\n        </div>\r\n      </Container>\r\n    )\r\n  }\r\n\r\n  IngresarPassword() {\r\n    const auth = this.context;\r\n    let { password, hidePassword, icon } = this.state;\r\n\r\n    return (\r\n      <Container>\r\n        <Button color=\"link\" className=\"btn-back mobile\" onClick={this.backStep}><ArrowBack className='svg' /></Button>\r\n        <div className=\"text-center\">\r\n          <img className='logo-small' src={require('../../assets/img/logo-1.png')} />\r\n        </div>\r\n        <div className=\"card text-center card_login\">\r\n          <Button color=\"link\" className=\"btn-back desktop\" onClick={this.backStep}>\r\n            <SvgAssets icon=\"icon-back\" fill={c.celeste} />\r\n          </Button>\r\n          <SvgAssets icon=\"curve-top\" className='curve-card-login mobile' fill=\"#fff\" />\r\n          <h4 className='title-2 desktop'>Ingresa a tu cuenta</h4>\r\n          <FormGroup style={{ marginBottom: 30 }} className=\"icon\">\r\n            <Input type={hidePassword ? \"password\" : \"text\"} name=\"password\" placeholder=\"Contraseña\" value={this.state.password} onChange={this.putPassword}\r\n              onKeyUp={(e) => e.keyCode == 13 && password != '' ? this.postLogin(auth.setuserToken) : null}\r\n            />\r\n            <button className=\"btn-icon\" onClick={() => this.changeIcon()}>\r\n              <SvgAssets icon={icon} fill={c.celeste} />\r\n            </button>\r\n          </FormGroup>\r\n          <button disabled={password == \"\"}\r\n            className={`btn-block red${((password == \"\") ? ' disabled' : '')}`}\r\n            onClick={() => this.postLogin(auth.setuserToken)}\r\n          >siguiente<ArrowRight className='svg-right' />\r\n          </button>\r\n          <Link className=\"link-u mt-5\" to=\"/recuperar-contrasenia\">¿Olvidaste tu contraseña?</Link>\r\n        </div>\r\n        <div className=\"text-center mt-4\">\r\n          <span>Si aún no tienes una cuenta,</span>\r\n          <Link className=\"link-u\" to=\"/solicitar-acceso\" style={{ color: \"#fff\" }}>Solicita Acceso</Link>\r\n        </div>\r\n      </Container>\r\n    )\r\n  }\r\n\r\n  renderStep() {\r\n    switch (this.state.step) {\r\n      case 0:\r\n        return this.Bienvenida();\r\n      case 1:\r\n        return this.IngresarEmail();\r\n      case 2:\r\n        return this.IngresarPassword();\r\n      default:\r\n        return this.Bienvenida();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    return (\r\n      <div className=\"login_section\">\r\n        <Spinner visible={this.state.loading} />\r\n        {this.renderStep()}\r\n      </div>\r\n    );\r\n  }\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport { Container, Button } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { data } from '../../constants/Constants';\r\nimport icon from '../../assets/img/img-ln.png';\r\nimport c from '../../constants/Colors';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class LineaNegocio extends Component {\r\n  static displayName = LineaNegocio.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      lineasNegocio: [],\r\n      linea: {}\r\n    };\r\n  }\r\n\r\n  checkParams() {\r\n    this.getLineasNegocio();\r\n    this.setState({ loading: false });\r\n  }\r\n\r\n  getLineasNegocio() {\r\n    let result = localStorageCustom.prototype.getUsuario()\r\n    let LineasNegocio = result.dealer.lineasNegocio;\r\n    this.setState({ lineasNegocio: LineasNegocio, loading: false });\r\n  }\r\n\r\n  IrLogin = async () => {\r\n    this.props.history.push('/');\r\n  }\r\n  seleccionarLinea = (value) => {\r\n    this.setState({ linea: value })\r\n  }\r\n  postLineaNegocio = () => {\r\n    let storageGeneral = localStorageCustom.prototype.getUsuario();\r\n    storageGeneral.linea = this.state.linea;\r\n    localStorageCustom.prototype.saveUsuario(storageGeneral);\r\n    this.props.history.push({\r\n      pathname: '/razon-social',\r\n      state: {\r\n        LineaNegocio: this.state.linea\r\n      }\r\n    });\r\n    // this.props.navigation.navigate('RazonSocial', { LineaNegocio: this.state.linea });\r\n  }\r\n\r\n  componentDidMount() {\r\n    const auth = this.context;\r\n    auth.setIsLoggedIn(false);\r\n    if (localStorageCustom.prototype.getToken() == null) {\r\n      this.props.history.push('/');\r\n    }\r\n    else this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (this.props.location.state != undefined) {\r\n      if (prevProps.location.state !== this.props.location.state) {\r\n        this.checkParams();\r\n      }\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { loading, linea, lineasNegocio } = this.state;\r\n    const navigation = this.props.navigation;\r\n    return (\r\n      <Container className=\"py-5\" id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <h4 className='title-2 text-center desktop' style={{ color: c.azulClaro }}>Ingresa a tu cuenta</h4>\r\n        {/* <h4 className=\"text-center title mb-4 mobile\" style={{ color: '#fff' }}>Elige que producto deseas comprar</h4> */}\r\n        <div className=\"card card_container linea_negocio\">\r\n          <img className='logo-small mobile' src={require('../../assets/img/logo-1.png')} />\r\n          <p className=\"paragraph-1 light\" style={{ color: '#8A8A8A' }}>Seleccione la línea de negocio con la que desees trabajar.</p>\r\n          {/* <h6 className=\"title mb-4 desktop light\" style={{ color: c.grisMedio }}>Selecciona la línea de negocio con la que deseas trabajar</h6> */}\r\n          {lineasNegocio.filter(f=>f.linea == data.LineaRepuestos).map((item, index) => {\r\n            return (\r\n              <div className=\"card-line-negocio\" style={{ backgroundColor: item.color }} key={item.id}>\r\n                <div className=\"custom-control custom-radio custom-control-inline\">\r\n                  <input type=\"radio\" id={`radio${item.id}`} name=\"radio_ln\" className=\"custom-control-input\" key={item.id} onChange={() => this.seleccionarLinea(item)} />\r\n                  <label className=\"custom-control-label\" htmlFor={`radio${item.id}`} />\r\n                </div>\r\n                <img src={item.icono} />\r\n                <h6>{item.nombreLinea}</h6>\r\n              </div>\r\n            )\r\n          })}\r\n          <button disabled={(!linea.id)}\r\n            className={`btn-block mobile red${(!linea.id) ? ' disabled' : ''}`}\r\n            onClick={() => this.postLineaNegocio()}>\r\n            aceptar\r\n          </button>\r\n        </div>\r\n        <div className=\"desktop text-center mt-5\">\r\n          <button disabled={(!linea.id)}\r\n            className={`btn-block red${(!linea.id) ? ' disabled' : ''}`}\r\n            onClick={() => this.postLineaNegocio()}>\r\n            aceptar\r\n          </button>\r\n        </div>\r\n      </Container>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Collapse, UncontrolledCollapse, Button, Container, Row, Col } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { IconLocation, IconList, IconBottom, IconFolder, ArrowBack } from '../../assets/icons/svgIcon';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { ListarLocalesServicio, getRazonSocialAsociados } from '../../store/sagas/authApi';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class RazonSocial extends Component {\r\n  static displayName = RazonSocial.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: false,\r\n      collapse1: false,\r\n      collapse2: false,\r\n      asociados: [],\r\n      lineaNegocio: {},\r\n      asociado: {},\r\n      dealer: {},\r\n      // linea:{}\r\n    };\r\n  }\r\n\r\n\r\n  checkParams() {\r\n    this.setState({ loading: true });\r\n    const { state } = this.props.location;\r\n    let LineaNegocio = state.LineaNegocio;\r\n\r\n    if (LineaNegocio) {\r\n      this.setState({ lineaNegocio: LineaNegocio, loading: false })\r\n    }\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      const auth = this.context;\r\n      auth.setIsLoggedIn(false);\r\n      if (localStorageCustom.prototype.getToken() == null) {\r\n        this.props.history.push('/');\r\n      }\r\n      else {\r\n        this.checkParams();\r\n        let data = localStorageCustom.prototype.getUsuario();\r\n        this.setState({ dealer: data.dealer }, async () => {\r\n          this.postRazonSocialAsociados(data.dealer, data.linea);\r\n        });\r\n      }\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  render() {\r\n    const { loading, collapse1, collapse2, asociados, asociado } = this.state;\r\n    const navigation = this.props.navigation;\r\n    const auth = this.context;\r\n\r\n    return (\r\n      <Container className=\"py-5\" id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <Button color=\"link\" className=\"btn-back\"><SvgAssets icon=\"icon-arrow-left\" className='svg' fill=\"#fff\" /></Button>\r\n        <h4 className=\"text-center title mb-4 mobile\" style={{ color: '#fff' }}>Selecciona la razón social con la que desees trabajar</h4>\r\n        <h4 className='title-2 text-center desktop' style={{ color: c.azulClaro }}>Ingresa a tu cuenta</h4>\r\n        <div className=\"card card_container\">\r\n          <h6 className=\"title mb-5 desktop light\" style={{ color: c.grisMedio }}>Selecciona la razón social con la que desees trabajar</h6>\r\n          <Row>\r\n            <Col md=\"6\" xs=\"12\">\r\n              <h6 className=\"title-rs verde\"><SvgAssets icon=\"icon-folder\" fill={c.verdeClaro} />Cuenta principal</h6>\r\n              {asociados.map((data, index) => {\r\n                return index == 0 ? (\r\n                  <div className=\"card-razon-social\" key={index} >\r\n                    <div>\r\n                      <div className=\"header-collapse\">\r\n                        <div className=\"custom-control custom-radio custom-control-inline\">\r\n                          <input type=\"radio\" id={`radio${data.ruc}`} name=\"radio_ln\" className=\"custom-control-input\" checked={asociado.ruc == data.ruc} onChange={() => this.seleccionarAsociado(data)} />\r\n                          <label className=\"custom-control-label\" htmlFor={`radio${data.ruc}`} style={{ color: '#2DB997' }}>{data.ruc} </label>\r\n                        </div>\r\n                      </div>\r\n                      <Collapse isOpen={collapse1 === index}>\r\n                        <div className=\"body-collapse\">\r\n                          <div className=\"item\">\r\n                            <IconList />\r\n                            <p><span>Razón Social:</span>{data.razonsSocial}</p>\r\n                          </div>\r\n                          <div className=\"item\">\r\n                            <IconLocation />\r\n                            <p><span>Región</span>{data.region}</p>\r\n                          </div>\r\n                        </div>\r\n                      </Collapse>\r\n                    </div>\r\n                    <div className=\"arrow-collapse\" onClick={() => { collapse1 === index ? this.setState({ collapse1: null }) : this.ToggleCollapse1(index) }} style={{ background: '#2DB997' }}>\r\n                      <SvgAssets icon={collapse1 === index ? \"icon-top\" : \"icon-bottom\"} fill={'#fff'} />\r\n                    </div>\r\n                  </div>\r\n                ) : (null)\r\n              })}\r\n              <hr className=\"mobile my-4\" />\r\n            </Col>\r\n            <Col md=\"6\" xs=\"12\" className=\"rs-border\">\r\n              <h6 className=\"title-rs  naranja\"><SvgAssets icon=\"icon-folder\" fill={c.naranja} />Cuentas asociadas</h6>\r\n              {asociados.map((data, index) => {\r\n                return index > 0 ? (\r\n                  <div className=\"card-razon-social\" key={index} >\r\n                    <div>\r\n                      <div className=\"header-collapse\">\r\n                        <div className=\"custom-control custom-radio custom-control-inline\">\r\n                          <input type=\"radio\" id={`radio${data.ruc}`} name=\"radio_ln\" className=\"custom-control-input\" checked={asociado.ruc == data.ruc} onChange={() => this.seleccionarAsociado(data)} />\r\n                          <label className=\"custom-control-label\" htmlFor={`radio${data.ruc}`} style={{ color: '#FF9446' }}>{data.ruc} </label>\r\n                        </div>\r\n                      </div>\r\n                      <Collapse isOpen={collapse2 === index}>\r\n                        <div className=\"body-collapse\">\r\n                          <div className=\"item\">\r\n                            <IconList />\r\n                            <p><span>Razón Social:</span>{data.razonsSocial}</p>\r\n                          </div>\r\n                          <div className=\"item\">\r\n                            <IconLocation />\r\n                            <p><span>Región</span>{data.region}</p>\r\n                          </div>\r\n                        </div>\r\n                      </Collapse>\r\n                    </div>\r\n                    <div className=\"arrow-collapse\" onClick={() => { collapse2 === index ? this.setState({ collapse2: null }) : this.ToggleCollapse2(index) }} style={{ background: '#FF9446' }}>\r\n                      <SvgAssets icon={collapse2 === index ? \"icon-top\" : \"icon-bottom\"} fill={'#fff'} />\r\n                    </div>\r\n                  </div>\r\n                ) : (null)\r\n              })}\r\n              {/* <div className=\"card-razon-social\">\r\n                <div>\r\n                  <div className=\"header-collapse\">\r\n                    <div className=\"custom-control custom-radio custom-control-inline\">\r\n                      <input type=\"radio\" id=\"radio2\" name=\"radio_ln\" className=\"custom-control-input\" />\r\n                      <label className=\"custom-control-label\" htmlFor=\"radio2\" style={{ color: '#FF9446' }}>9868776834</label>\r\n                    </div>\r\n                  </div>\r\n                  <UncontrolledCollapse toggler=\"#toggler2\">\r\n                    <div className=\"body-collapse\">\r\n                      <div className=\"item\">\r\n                        <IconList />\r\n                        <p><span>Razón Social:</span>Wunderman Thompson</p>\r\n                      </div>\r\n                      <div className=\"item\">\r\n                        <IconLocation />\r\n                        <p><span>Región</span>Lima</p>\r\n                      </div>\r\n                    </div>\r\n                  </UncontrolledCollapse>\r\n                </div>\r\n                <div className=\"arrow-collapse\" id=\"toggler2\" style={{ background: '#FF9446' }}>\r\n                  <IconBottom />\r\n                </div>\r\n              </div> */}\r\n            </Col>\r\n          </Row>\r\n          <div className=\"mobile\">\r\n            <button disabled={(!asociado.ruc)}\r\n              className={`btn-block mt-4 red${(!asociado.ruc) ? ' disabled' : ''}`}\r\n              onClick={() => this.postAsociado(auth.userRazonSocial, auth.setuserRazonSocial)}>\r\n              aceptar\r\n            </button>\r\n            {/* <Link to=\"/dashboard\" className=\"mobile\" style={{ color: \"#fff\" }}>\r\n              <button className='btn-block mt-4 red'>aceptar</button>\r\n            </Link> */}\r\n          </div>\r\n        </div>\r\n        <div className=\"desktop\">\r\n          <button disabled={(!asociado.ruc)}\r\n            className={`desktop btn-block mt-5 red${(!asociado.ruc) ? ' disabled' : ''}`}\r\n            onClick={() => this.postAsociado(auth.userRazonSocial, auth.setuserRazonSocial)}>\r\n            aceptar\r\n          </button>\r\n        </div>\r\n        {/* <Link to=\"/dashboard\" className=\"desktop\" style={{ color: \"#fff\" }}>\r\n          <button className='btn-block mt-5 red'>aceptar</button>\r\n        </Link> */}\r\n      </Container>\r\n    );\r\n  }\r\n\r\n  seleccionarAsociado = (_asociado) => {\r\n    this.setState({ asociado: _asociado })\r\n  }\r\n  postAsociado = async (userRazonSocial, setuserRazonSocial) => {\r\n    let storageGeneral = localStorageCustom.prototype.getUsuario();\r\n    localStorageCustom.prototype.saveRazonSocial(this.state.asociado.razonsSocial);\r\n    setuserRazonSocial(this.state.asociado.razonsSocial);\r\n    storageGeneral.asociado = this.state.asociado;\r\n    // storageGeneral.dealer.originalcodcliente = storageGeneral.dealer.codcliente;\r\n    storageGeneral.dealer.codcliente = this.state.asociado.codigoDealer;\r\n    localStorageCustom.prototype.saveUsuario(storageGeneral);\r\n\r\n    ListarLocalesServicio(storageGeneral.dealer, storageGeneral.linea)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.props.history.push(\"/dashboard\");\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Asociados\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n    // this.props.navigation.navigate('DrawerNavigator');\r\n  }\r\n\r\n  postRazonSocialAsociados = (dealer, linea) => {\r\n    getRazonSocialAsociados(dealer, linea)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false, asociados: result.dto.razonSocial })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Asociados\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n\r\n\r\n  ToggleCollapse1 = (index) => {\r\n    this.setState({ collapse1: index })\r\n  }\r\n  ToggleCollapse2 = (index) => {\r\n    this.setState({ collapse2: index })\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { IconCorreo, ArrowRight } from '../../assets/icons/svgIcon';\r\nimport { solicitarNuevoCodigo, validarCodigoAcceso } from '../../store/sagas/authApi';\r\nimport FormFeedback from 'reactstrap/lib/FormFeedback';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport {SvgAssets} from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class VerificarCorreo extends Component {\r\n  static displayName = VerificarCorreo.name;\r\n  constructor(props) {\r\n    super(props);\r\n\r\n    this.TextInput1 = React.createRef();\r\n    this.TextInput2 = React.createRef();\r\n    this.TextInput3 = React.createRef();\r\n    this.TextInput4 = React.createRef();\r\n    this.state = {\r\n      loading: false,\r\n      email: null,\r\n      errorValidacion: null,\r\n      input1: '',\r\n      input2: '',\r\n      input3: '',\r\n      input4: '',\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\"\r\n    };\r\n  }\r\n\r\n  load = async () => {\r\n    this.setState({\r\n      loading: false,\r\n      email: null,\r\n      errorValidacion: null,\r\n      input1: '',\r\n      input2: '',\r\n      input3: '',\r\n      input4: ''\r\n    });\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    this.setState({\r\n      email: state.email,\r\n      errorValidacion: state.errorValidacion\r\n    });\r\n    console.log(\"checkParams==>\", state.email);\r\n  }\r\n  ActivarContrania = () => {\r\n    var verificacion = (this.state.input1 ?? \"\") + (this.state.input2 ?? \"\") + (this.state.input3 ?? \"\") + (this.state.input4 ?? \"\")\r\n\r\n    this.setState({ errorValidacion: null });\r\n    if (verificacion == null || verificacion == \"\" || verificacion.length < 4) {\r\n      this.setState({ errorValidacion: \"Ingrese el código de verificación\" });\r\n    } else {\r\n      this.postValidarCodigoAcceso(verificacion, this.state.email);\r\n    }\r\n  }\r\n  setInput1 = (value, nextComponent) => {\r\n    this.setState({ input1: value, errorValidacion: null })\r\n    if (/^\\d$/.test(value)) nextComponent.focus();\r\n  }\r\n\r\n  setInput2 = (value, nextComponent, prevComponent) => {\r\n    this.setState({ input2: value, errorValidacion: null })\r\n    if (/^\\d$/.test(value)) nextComponent.focus();\r\n    if (value == \"\") prevComponent.focus();\r\n  }\r\n\r\n  setInput3 = (value, nextComponent, prevComponent) => {\r\n    this.setState({ input3: value, errorValidacion: null })\r\n    if (/^\\d$/.test(value)) nextComponent.focus();\r\n    if (value == \"\") prevComponent.focus();\r\n  }\r\n\r\n  setInput4 = (value, prevComponent) => {\r\n    this.setState({ input4: value, errorValidacion: null })\r\n    if (value == \"\") prevComponent.focus();\r\n  }\r\n\r\n  componentDidMount() {\r\n    this.load();\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { input1, input2, input3, input4, loading, email, errorValidacion } = this.state;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <Container className=\"py-5\">\r\n          <button className=\"btn-back mobile\" \r\n            onClick={() => this.props.history.push('/')}\r\n          >\r\n            <SvgAssets icon=\"icon-back\" fill=\"#fff\" />\r\n          </button>\r\n          <h4 className=\"text-center title-2 morado desktop\"><SvgAssets className=\"mr-2\" icon=\"icon-lock\" fill={c.morado}/>Verifica tu correo</h4>\r\n          <div className=\"card\">\r\n            <h4 className=\"text-center title-2 morado mobile\"><IconCorreo className='icon-block' />Verifica <br className=\"mobile\" /> tu correo</h4>\r\n            <p className=\"paragraph-1 text-center light morado mb-0\">Por favor, ingresa el código que te hemos enviado a <strong>{email}</strong></p>\r\n            <FormGroup className=\"group-cod\">\r\n              <div className=\"inputs-cod\">\r\n                <input className=\"cod morado\" placeholder=\"0\" maxLength={1} value={input1.replace(/[^0-9]/g, \"\")} onChange={(e) => { let input1 = e.currentTarget.value; this.setInput1(input1, this.TextInput2) }} ref={(input) => { this.TextInput1 = input; }} />\r\n                <input className=\"cod morado\" placeholder=\"0\" maxLength={1} value={input2.replace(/[^0-9]/g, \"\")} onChange={(e) => { let input2 = e.currentTarget.value; this.setInput2(input2, this.TextInput3, this.TextInput1) }} ref={(input) => { this.TextInput2 = input; }} />\r\n                <input className=\"cod morado\" placeholder=\"0\" maxLength={1} value={input3.replace(/[^0-9]/g, \"\")} onChange={(e) => { let input3 = e.currentTarget.value; this.setInput3(input3, this.TextInput4, this.TextInput2) }} ref={(input) => { this.TextInput3 = input; }} />\r\n                <input className=\"cod morado\" placeholder=\"0\" maxLength={1} value={input4.replace(/[^0-9]/g, \"\")} onChange={(e) => { let input4 = e.currentTarget.value; this.setInput4(input4, this.TextInput3) }} ref={(input) => { this.TextInput4 = input; }} />\r\n              </div>\r\n              {errorValidacion ? <FormFeedback>{errorValidacion}</FormFeedback> : null}\r\n            </FormGroup>\r\n            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n              <a className=\"link-u d-block text-center\" href=\"#\" onClick={(e) => { e.preventDefault(); this.postSolicitarNuevoCodigo() }} >Reenviar código</a>\r\n            </div>\r\n            <div className=\"text-center mt-5\">\r\n              {/* <Link to=\"/ingresar-contrasenia\" style={{textDecoration:'none'}}> */}\r\n              <button\r\n                className={`btn-block red${(input1 != \"\" && input2 != \"\" && input3 != \"\" && input4 != \"\" ? \"\" : \" disabled\")}`}\r\n                type=\"button\"\r\n                disabled={!(input1 != \"\" && input2 != \"\" && input3 != \"\" && input4 != \"\")}\r\n                onClick={() => this.ActivarContrania()}\r\n              >\r\n                siguiente<ArrowRight className='svg-right' />\r\n              </button>\r\n              {/* </Link> */}\r\n            </div>\r\n          </div>\r\n        </Container >\r\n      </div>\r\n    );\r\n  }\r\n\r\n  postSolicitarNuevoCodigo = async () => {\r\n    let CorreoElectronico = this.state.email;\r\n    this.setState({ loading: true });\r\n    solicitarNuevoCodigo(CorreoElectronico)\r\n      .then(result => {\r\n        debugger;\r\n        this.setState({ loading: false });\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false, errorValidacion: \"Su código fue enviado al correo electrónico\" });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        //console.log(\"postLogin \", error);\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postValidarCodigoAcceso = async (CodigoVerificacion, CorreoElectronico) => {\r\n    // let CorreoElectronico = this.state.email;\r\n    this.setState({ loading: true });\r\n    console.log(\"Parametro=====>\", CorreoElectronico, CodigoVerificacion);\r\n    validarCodigoAcceso(CorreoElectronico, CodigoVerificacion)\r\n      .then(result => {\r\n        this.setState({ loading: false });\r\n        if (result.mo.type == \"success\") {\r\n          this.props.history.push({\r\n            pathname: '/ingresar-contrasenia',\r\n            state: { email: this.state.email, codigoVerificacion: CodigoVerificacion }\r\n          });\r\n        } else {\r\n          this.setState({ loading: false, errorValidacion: result.mo.listMessage.join(\", \") });\r\n        }\r\n      }).catch((error) => {\r\n        //console.log(\"postLogin \", error);\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, FormFeedback, Input, Button, Container } from 'reactstrap';\r\nimport {Link} from 'react-router-dom';\r\nimport {IconEye, ArrowRight, IconLock, IconEyeLock} from '../../assets/icons/svgIcon';\r\nimport {SvgAssets} from '../../assets/icons/iconSvg';\r\nimport { activarAcceso } from '../../store/sagas/authApi';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport c from '../../constants/Colors';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class IngresarContrasenia extends Component {\r\n  static displayName = IngresarContrasenia.name;\r\n\r\n  constructor (props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      // password1: false,\r\n      // password2: false,\r\n      email: null,\r\n      codigoVerificacion: null,\r\n      password1: '',\r\n      loading: false,\r\n      password2: '',\r\n      errorValidacion: null,\r\n      hidePassword1: true,\r\n      hidePassword2: true,\r\n      icon1: 'icon-eye-close',\r\n      icon2: 'icon-eye-close',\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      alertOptions: null\r\n    };\r\n    // this.togglePassword1 = this.togglePassword1.bind(this);\r\n    // this.togglePassword2 = this.togglePassword2.bind(this);\r\n  }\r\n\r\n  // togglePassword1() {\r\n  //   this.setState({password1: !this.state.password1})\r\n  // }\r\n  // togglePassword2() {\r\n  //   this.setState({password2: !this.state.password2})\r\n  // }\r\n\r\n  load = async () => {\r\n    this.setState({\r\n      // codigoVerificacion:null,\r\n      password1: '',\r\n      loading: false,\r\n      password2: '',\r\n      errorValidacion: null\r\n    });\r\n  }\r\n\r\n  changeIcon1() {\r\n    this.setState(prevState => ({\r\n      icon1: prevState.icon1 == 'icon-eye' ? 'icon-eye-close' : 'icon-eye',\r\n      hidePassword1: !prevState.hidePassword1\r\n    }))\r\n  }\r\n  changeIcon2() {\r\n    this.setState(prevState => ({\r\n      icon2: prevState.icon2 == 'icon-eye' ? 'icon-eye-close' : 'icon-eye',\r\n      hidePassword2: !prevState.hidePassword2\r\n    }))\r\n  }\r\n\r\n  ActivarAcceso = () => {\r\n    this.setState({ errorValidacion: null, loading: true });\r\n    if (this.state.password1 == null || this.state.password1 == \"\" || this.state.password2 == null || this.state.password2 == \"\") {\r\n      // if (this.state.password1 || this.state.password2) {\r\n      this.setState({ errorValidacion: \"Debe ingresar el password\", loading: false });\r\n    } else if ((/^$|\\s+/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"No debe tener espacios vacíos\", loading: false });\r\n    } else if (this.state.password1.length < 6 || this.state.password1.length > 20) {\r\n      this.setState({ errorValidacion: \"Debe ingresar entre 6 a 20 caracteres\", loading: false });\r\n    } else if (!(/[A-ZÑ]/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"Debe tener al menos una letra mayúscula\", loading: false });\r\n    } else if (!(/[a-zñ]/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"Debe tener al menos una letra minúscula\", loading: false });\r\n    } else if (!(/[0-9]/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"Debe contener al menos un número\", loading: false });\r\n    } else if (!(/[+×÷=/_€£()!¡¿*&^%$#@\\\\\"\"':;,?.`~|<>°•○●□■♤♡◇♧₩¥¤▪︎☆》《-]/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"Debe tener al menos un símbolo\", loading: false });\r\n    } else if (this.state.password1 != this.state.password2) {\r\n      this.setState({ errorValidacion: \"Debe ingresar el mismo password\", loading: false });\r\n    } else {\r\n      this.postActivarAcceso();\r\n    }\r\n  }\r\n  postActivarAcceso = async () => {\r\n    let CorreoElectronico = this.state.email;\r\n    let CodigoVerificacion = this.state.codigoVerificacion;\r\n    let Contrasenia = this.state.password1;\r\n    this.setState({ loading: true });\r\n    activarAcceso(CorreoElectronico, Contrasenia, CodigoVerificacion)\r\n      .then(result => {\r\n        this.setState({ loading: false });\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false }, async () => {\r\n            // await this.notificacion(\"Bienvenido\", \"Su cuenta fue activada con éxito.\");\r\n            // navigation.navigate('Login')             \r\n\r\n            await notificacion(\r\n              \"Bienvenido\",\r\n              \"Su cuenta fue activada con éxito.\",\r\n              () => {\r\n                // this.toggleModalAlert();\r\n                this.props.history.push('/');\r\n              },\r\n            );\r\n          });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        //console.log(\"postLogin \", error);\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  // notificacion = async (alertTitulo = \"\", alertMensaje = \"\", alertOptions = null) => {\r\n  //   this.setState({ alertTitulo, alertMensaje, alertOptions });\r\n  //   this.toggleModalAlert();\r\n  // }\r\n  // toggleModalAlert = () => {\r\n  //   this.setState(prevState => ({\r\n  //     showAlert: !prevState.showAlert,\r\n  //   }));\r\n  // }\r\n  setPassword1 = (value) => {\r\n    this.setState({ password1: value, errorValidacion: null })\r\n  }\r\n  setPassword2 = (value) => {\r\n    this.setState({ password2: value, errorValidacion: null })\r\n  }\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    this.setState({ email: state.email, codigoVerificacion: state.codigoVerificacion });\r\n  }\r\n  componentDidMount() {\r\n    this.load();\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render () {\r\n  const { loading, password1, password2, errorValidacion, hidePassword1, icon1, hidePassword2, icon2 } = this.state;\r\n  // const {password1, password2} = this.state;\r\n    return (\r\n      <Container className=\"py-5\" id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <h4 className=\"text-center title-2 verde desktop\"><SvgAssets className=\"mr-2\" icon=\"icon-lock\" fill={c.verde}/>Ingresa tu contraseña</h4>\r\n        <div className=\"card card_container\">\r\n          <h4 className=\"text-center title-2 verde mobile\"><IconLock className='icon-block' />Ingresa <br className=\"mobile\"/> tu contraseña</h4>\r\n          <form>\r\n            <FormGroup className=\"icon\">\r\n              <Input className=\"verde\" type={!hidePassword1? 'text' : 'password'} name=\"password\" placeholder=\"Contraseña\" value={password1} onChange={(e) => { let password1 = e.currentTarget.value; this.setPassword1(password1)}} />\r\n              <Button color=\"link\" className=\"btn-icon verde\" onClick={() => this.changeIcon1()}>\r\n                {!hidePassword1 ? <IconEye/> : <IconEyeLock/>}\r\n              </Button>\r\n            </FormGroup>\r\n            <FormGroup className=\"icon\">\r\n              <Input className=\"verde\" type={!hidePassword2? 'text' : 'password'} name=\"password\" placeholder=\"Confirmar contraseña\" value={password2} onChange={(e) => { let password2 = e.currentTarget.value; this.setPassword2(password2)}} />\r\n              <Button color=\"link\" className=\"btn-icon verde\" onClick={() => this.changeIcon2()}>\r\n                {!hidePassword2 ? <IconEye/> : <IconEyeLock/>}\r\n              </Button>\r\n              {errorValidacion ? <FormFeedback>{errorValidacion}</FormFeedback> : null}\r\n            </FormGroup>\r\n            <p className=\"paragraph-2 desktop_parrafo3\" style={{ color: c.verdeClaro }}>Debe contener al menos una letra mayúscula, una minúscula, un número y un símbolo. Mínimo 6 y máximo 20 caracteres.</p>\r\n          </form>\r\n          <div className=\"text-center mt-5\">\r\n            {/* <Link to=\"/linea-negocio\" style={{textDecoration:'none'}}> */}\r\n            <button className={`btn-block red${(password1 != \"\" && password2 != \"\" ? \"\" : \" disabled\")}`}\r\n            disabled={password1 == \"\" || password2 == \"\"}\r\n            onClick={() => this.ActivarAcceso()}\r\n            >\r\n              siguiente<ArrowRight className='svg-right' />\r\n            </button>\r\n            {/* </Link> */}\r\n          </div>\r\n        </div>\r\n      </Container>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Container } from 'reactstrap';\r\nimport {Link} from 'react-router-dom';\r\nimport {SvgAssets} from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport FormFeedback from 'reactstrap/lib/FormFeedback';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { recuperarAcceso } from '../../store/sagas/authApi';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nfunction SendEmail ({ dadComponent }){\r\n  const { loading, email, errorValidacion } = dadComponent.state;\r\n  return(\r\n    <div>\r\n      <h4 className='title-2 text-center desktop' style={{color:c.azulClaro}}><SvgAssets icon=\"icon-lock-eye\" className=\"mr-2\" fill={c.azulClaro}/>Recuperar contraseña</h4>\r\n      <div className=\"card card_container\">\r\n        <h4 className=\"text-center title-2 azul mobile\"><SvgAssets icon=\"icon-lock-eye\" className=\"icon-block\" fill={c.azulClaro}/>Recuperar <br/> contraseña</h4>\r\n        <form>\r\n          <FormGroup>\r\n            <Input className=\"azul\" type=\"email\" name=\"email\" placeholder=\"Email\" value={email} onChange={(e) => { let email = e.currentTarget.value; dadComponent.setEmail(email)}}\r\n            onKeyPress={(e) => { if (e.which == 13 || e.which == 10) e.preventDefault();}}\r\n            onKeyUp={(e) => e.keyCode == 13 && email != '' ? dadComponent.RecuperarContrasenia() : null} />\r\n            {errorValidacion ? <FormFeedback>{errorValidacion}</FormFeedback> : null}\r\n          </FormGroup>\r\n        </form>\r\n        <div className=\"text-center mt-5\">\r\n          <button className={`btn-block red${(email == \"\" ? \" disabled\" : \"\")}`}\r\n          disabled={email == \"\"}\r\n          // onClick={dadComponent.nextStep}\r\n          onClick={() => dadComponent.RecuperarContrasenia()}\r\n          >\r\n            siguiente<SvgAssets className='svg-right' icon=\"icon-arrow-right\" fill=\"#fff\" />\r\n          </button>\r\n          <Link className=\"link-u mt-5 mobile\" to={{pathname: '/', state: { step: 1 }}} style={{color:\"#D7202C\"}}>Iniciar sesión</Link>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5\">\r\n        <Link className=\"link-u desktop\" to={{pathname: '/', state: { step: 1 }}} style={{color:\"#D7202C\"}}>Iniciar sesión</Link>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Message ({ dadComponent }){\r\n  const { email, errorValidacion } = dadComponent.state;\r\n  return(\r\n    <div>\r\n      <h4 className='title-2 text-center desktop' style={{color:c.azulClaro}}><SvgAssets icon=\"icon-lock-eye\" fill={c.azulClaro}/>Recuperar contraseña</h4>\r\n      <div className=\"card card_container\">\r\n        <h4 className=\"text-center mobile title-2 azul\">\r\n          <SvgAssets icon=\"icon-lock-eye\" className=\"icon-block\" fill={c.azulClaro}/>\r\n          Recuperar <br/> contraseña\r\n        </h4>\r\n        <p className=\"paragraph-1 text-center light mb-text\">Hemos enviado un código de recuperación de contraseña a tu correo electrónico: <strong>{email}</strong></p>\r\n        <div className=\"text-center mt-5\">\r\n          <button className='btn-block red'\r\n          type=\"button\"\r\n          onClick={() => dadComponent.Entendido()}\r\n          >\r\n            Entendido\r\n          </button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class RecuperarContrasenia extends Component {\r\n  static displayName = RecuperarContrasenia.name;\r\n\r\n  constructor (props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      step: 0,\r\n      loading: false,\r\n      errorValidacion: null,\r\n      email: '',\r\n    };\r\n    // this.nextStep = this.nextStep.bind(this);\r\n    // this.backStep = this.backStep.bind(this);\r\n  }\r\n\r\n  load = async () => {\r\n    this.setState({\r\n      loading: false,\r\n      errorValidacion: null,\r\n      email: ''\r\n    })\r\n  }\r\n\r\n  componentDidMount(){\r\n    window.scrollTo(0, 0)\r\n    this.load();\r\n  }\r\n\r\n  nextStep() {\r\n    this.setState({step: this.state.step + 1})\r\n  }\r\n\r\n  backStep() {\r\n    this.setState({step: this.state.step - 1})\r\n  }\r\n\r\n  renderStep() {\r\n    switch(this.state.step) {\r\n      case 0:\r\n        return <SendEmail dadComponent={this} />\r\n      case 1:\r\n        return <Message dadComponent={this} />\r\n      default:\r\n        return <SendEmail dadComponent={this} />\r\n    }\r\n  }\r\n\r\n  render () {\r\n    const { step, loading } = this.state;\r\n    return (\r\n      <Container className=\"py-5\" id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <button className=\"btn-back mobile\" \r\n            onClick={() => {step == 0 ? this.props.history.push('/') : this.backStep()}}\r\n          >\r\n              <SvgAssets icon=\"icon-back\" fill=\"#fff\" />\r\n        </button>\r\n        {this.renderStep()}\r\n      </Container>\r\n    );\r\n  }\r\n  setEmail = (value) => {\r\n    this.setState({ email: value, errorValidacion: null })\r\n  }\r\n  RecuperarContrasenia = () => {\r\n    let _email = this.state.email;\r\n    if (_email == \"\" || _email == null) {\r\n      this.setState({ errorValidacion: \"Debe ingresar el correo electrónico.\" })\r\n    } else {\r\n      this.postRecuperarAcceso();\r\n      // this.props.navigation.navigate('CodigoEnviado' );\r\n    }\r\n  }\r\n\r\n  postRecuperarAcceso = async () => {\r\n    let CorreoElectronico = this.state.email;\r\n    this.setState({ loading: true });\r\n    recuperarAcceso(CorreoElectronico)\r\n      .then(result => {\r\n        this.setState({ loading: false });\r\n        console.log(\"Resultado===>\", result);\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false, errorValidacion: \"Su código fue enviado al correo electrónico\" }, () =>{\r\n            this.nextStep();\r\n          });\r\n          // this.props.navigation.navigate('CodigoEnviado', {\r\n          //   email: CorreoElectronico\r\n          // });\r\n        } else {\r\n          this.setState({ loading: false, errorValidacion: result.mo.listMessage.join(\", \") });\r\n        }\r\n      }).catch((error) => {\r\n        //console.log(\"postLogin \", error);\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  Entendido() {\r\n    this.setState({ loading: false, errorValidacion: \"Su código fue enviado al correo electrónico\" });\r\n    this.props.history.push({\r\n      pathname: '/verificar-correo-contrasenia',\r\n      state: {\r\n        email: this.state.email\r\n      }\r\n    });\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Container } from 'reactstrap';\r\nimport {Link} from 'react-router-dom';\r\nimport {IconCorreo, ArrowRight} from '../../assets/icons/svgIcon';\r\nimport {SvgAssets} from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { recuperarAcceso, validarCodigoAcceso } from '../../store/sagas/authApi';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport FormFeedback from 'reactstrap/lib/FormFeedback';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class RCVerificarCorreo extends Component {\r\n  static displayName = RCVerificarCorreo.name;\r\n  constructor(props) {\r\n    super(props);\r\n    this.TextInput1 = React.createRef();\r\n    this.TextInput2 = React.createRef();\r\n    this.TextInput3 = React.createRef();\r\n    this.TextInput4 = React.createRef();\r\n    this.state = {\r\n      loading: false,\r\n      email: null,\r\n      errorValidacion: null,\r\n      input1: '',\r\n      input2: '',\r\n      input3: '',\r\n      input4: '',\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\"\r\n    };\r\n  }\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    this.setState({\r\n      email: state.email,\r\n      errorValidacion: state.errorValidacion\r\n    });\r\n  }\r\n  ActivarContrania = () => {\r\n    var verificacion = (this.state.input1 ?? \"\") + (this.state.input2 ?? \"\") + (this.state.input3 ?? \"\") + (this.state.input4 ?? \"\")\r\n\r\n    this.setState({ errorValidacion: null });\r\n    if (verificacion == null || verificacion == \"\" || verificacion.length < 4) {\r\n      this.setState({ errorValidacion: \"Ingrese el código de verificación\" });\r\n    } else {\r\n      this.postValidarCodigoAcceso(verificacion);\r\n    }\r\n  }\r\n  setInput1 = (value, nextComponent) => {\r\n    this.setState({ input1: value, errorValidacion: null })\r\n    if (/^\\d$/.test(value)) nextComponent.focus();\r\n  }\r\n\r\n  setInput2 = (value, nextComponent, prevComponent) => {\r\n    this.setState({ input2: value, errorValidacion: null })\r\n    if (/^\\d$/.test(value)) nextComponent.focus();\r\n    if (value == \"\") prevComponent.focus();\r\n  }\r\n\r\n  setInput3 = (value, nextComponent, prevComponent) => {\r\n    this.setState({ input3: value, errorValidacion: null })\r\n    if (/^\\d$/.test(value)) nextComponent.focus();\r\n    if (value == \"\") prevComponent.focus();\r\n  }\r\n\r\n  setInput4 = (value, prevComponent) => {\r\n    this.setState({ input4: value, errorValidacion: null })\r\n    if (value == \"\") prevComponent.focus();\r\n  }\r\n\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render () {\r\n    const { input1, input2, input3, input4, loading, email, errorValidacion } = this.state;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <Container className=\"py-5\">\r\n          <button className=\"btn-back mobile\" \r\n            onClick={() => this.props.history.push('/')}\r\n          >\r\n            <SvgAssets icon=\"icon-back\" fill=\"#fff\" />\r\n          </button>\r\n          <h4 className='title-2 text-center desktop' style={{color:c.azulClaro}}>\r\n            <SvgAssets className=\"mr-2\" icon=\"icon-mail-2\" fill={c.azulClaro}/>\r\n            Verifica tu correo\r\n          </h4>\r\n          <div className=\"card card_container\">\r\n            <h4 className=\"text-center mobile title-2 azul\"><SvgAssets icon='icon-mail-2' className=\"icon-block\" fill={c.azulClaro}/>Verifica <br className=\"mobile\"/> tu correo</h4>\r\n            <p className=\"paragraph-1 text-center light mb-0\">Por favor, ingresa el código que te hemos enviado a <strong>{email}</strong></p>\r\n            <FormGroup className=\"group-cod\">\r\n              <div className=\"inputs-cod\">\r\n                <input className=\"cod azul\" placeholder=\"0\" maxLength={1} value={input1.replace(/[^0-9]/g, \"\")} onChange={(e) => { let input1 = e.currentTarget.value; this.setInput1(input1, this.TextInput2)}} ref={(input) => { this.TextInput1 = input; }} />\r\n                <input className=\"cod azul\" placeholder=\"0\" maxLength={1} value={input2.replace(/[^0-9]/g, \"\")} onChange={(e) => { let input2 = e.currentTarget.value; this.setInput2(input2, this.TextInput3, this.TextInput1)}} ref={(input) => { this.TextInput2 = input; }} />\r\n                <input className=\"cod azul\" placeholder=\"0\" maxLength={1} value={input3.replace(/[^0-9]/g, \"\")} onChange={(e) => { let input3 = e.currentTarget.value; this.setInput3(input3, this.TextInput4, this.TextInput2)}} ref={(input) => { this.TextInput3 = input; }} />\r\n                <input className=\"cod azul\" placeholder=\"0\" maxLength={1} value={input4.replace(/[^0-9]/g, \"\")} onChange={(e) => { let input4 = e.currentTarget.value; this.setInput4(input4, this.TextInput3)}} ref={(input) => { this.TextInput4 = input; }} />\r\n              </div>\r\n              {errorValidacion ? <FormFeedback>{errorValidacion}</FormFeedback> : null}\r\n            </FormGroup>\r\n            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n              <a className=\"link-u d-block text-center\" href=\"#\" onClick={(e) => { e.preventDefault(); this.postSolicitarNuevoCodigo() }} >Reenviar código</a>\r\n            </div>\r\n            {/* <Link className=\"link-u d-block text-center\" to=\"/\">Reenviar código</Link> */}\r\n            <div className=\"text-center mt-5 mobile\">\r\n              {/* <Link to=\"/nueva-contrasenia\" style={{textDecoration:'none'}}> */}\r\n              <button \r\n              className={`btn-block red${(input1 != \"\" && input2 != \"\" && input3 != \"\" && input4 != \"\" ? \"\" : \" disabled\")}`}\r\n              disabled={input1 == \"\" && input2 == \"\" && input3 == \"\" && input4 == \"\"}\r\n              onClick={() => this.ActivarContrania()}\r\n              >\r\n                Continuar<SvgAssets className='svg-right' icon=\"icon-arrow-right\" fill=\"#fff\" />\r\n              </button>\r\n              {/* </Link> */}\r\n            </div>\r\n          </div>\r\n          <div className=\"text-center mt-5 desktop\">\r\n            {/* <Link to=\"/nueva-contrasenia\" style={{textDecoration:'none'}}> */}\r\n            <button\r\n              className={`btn-block red${(input1 != \"\" && input2 != \"\" && input3 != \"\" && input4 != \"\" ? \"\" : \" disabled\")}`}\r\n              disabled={input1 == \"\" && input2 == \"\" && input3 == \"\" && input4 == \"\"}\r\n              onClick={() => this.ActivarContrania()}\r\n            >\r\n              Continuar<SvgAssets className='svg-right' icon=\"icon-arrow-right\" fill=\"#fff\" />\r\n            </button>\r\n            {/* </Link> */}\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n  postSolicitarNuevoCodigo = async () => {\r\n    let CorreoElectronico = this.state.email;\r\n    this.setState({ loading: true });\r\n    recuperarAcceso(CorreoElectronico)\r\n      .then(result => {\r\n        this.setState({ loading: false });\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false, errorValidacion: \"Su código fue enviado al correo electrónico\" });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        //console.log(\"postLogin \", error);\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postValidarCodigoAcceso = async (CodigoVerificacion) => {\r\n    let CorreoElectronico = this.state.email;\r\n    console.log(CorreoElectronico, CodigoVerificacion)\r\n    this.setState({ loading: true });\r\n    validarCodigoAcceso(CorreoElectronico, CodigoVerificacion)\r\n      .then(result => {\r\n        this.setState({ loading: false });\r\n        if (result.mo.type == \"success\") {\r\n          this.props.history.push({\r\n            pathname: '/nueva-contrasenia',\r\n            state: {\r\n              email: this.state.email,\r\n              codigoVerificacion: CodigoVerificacion\r\n            }\r\n          });\r\n        } else {\r\n          this.setState({ loading: false, errorValidacion: result.mo.listMessage.join(\", \") });\r\n        }\r\n      }).catch((error) => {\r\n        //console.log(\"postLogin \", error);\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Container } from 'reactstrap';\r\nimport {Link} from 'react-router-dom';\r\nimport {IconEye,IconEyeLock, ArrowRight, IconLock, IconLockEye} from '../../assets/icons/svgIcon';\r\nimport {SvgAssets} from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport FormFeedback from 'reactstrap/lib/FormFeedback';\r\nimport { activarAcceso } from '../../store/sagas/authApi';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nfunction SendEmail ({ dadComponent }){\r\n  const { loading, password1, password2, errorValidacion, hidePassword1, icon1, hidePassword2, icon2 } = dadComponent.state;\r\n\r\n  return(\r\n    <div>\r\n      <h4 className=\"text-center title-2 naranja desktop\"><SvgAssets className=\"mr-2\" icon=\"icon-lock\" fill={c.naranja}/>Nueva contraseña</h4>\r\n      <div className=\"card card_container\">\r\n        <h4 className=\"text-center title-2 mobile naranja\"><SvgAssets icon=\"icon-lock\" className='icon-block' fill={c.naranja} />Nueva <br/> contraseña</h4>\r\n        <form>\r\n          <FormGroup className=\"icon\">\r\n            <Input className=\"naranja\" type={!hidePassword1? 'text' : 'password'} name=\"password\" placeholder=\"Contraseña\" onChange={(e) => {let password1 = e.currentTarget.value; dadComponent.setPassword1(password1)}} />\r\n            <Button color=\"link\" className=\"btn-icon naranja\" onClick={() => dadComponent.changeIcon1()}>\r\n              {!hidePassword1 ? <IconEye/> : <IconEyeLock/>}\r\n            </Button>\r\n          </FormGroup>\r\n          <FormGroup className=\"icon\">\r\n            <Input className=\"naranja\" type={!hidePassword2? 'text' : 'password'} name=\"password\" placeholder=\"Confirmar contraseña\" onChange={(e) => { let password2 = e.currentTarget.value; dadComponent.setPassword2(password2)}} />\r\n            <Button color=\"link\" className=\"btn-icon naranja\" onClick={() => dadComponent.changeIcon2()}>\r\n              {!hidePassword2 ? <IconEye/> : <IconEyeLock/>}\r\n            </Button>\r\n            {errorValidacion ? <FormFeedback>{errorValidacion}</FormFeedback> : null}\r\n          </FormGroup>\r\n          <p className=\"paragraph-2 desktop_parrafo3\" style={{ color: c.naranja }}>Debe contener al menos una letra mayúscula, una minúscula, un número y un símbolo. Mínimo 6 y máximo 20 caracteres.</p>\r\n        </form>\r\n        <div className=\"text-center mt-5 mobile\">\r\n          <button\r\n            type=\"button\"\r\n            className={`btn-block red${(password1 != \"\" && password2 != \"\" ? \"\" : \" disabled\")}`}\r\n            disabled={password1 == \"\" || password2 == \"\"}\r\n            onClick={() => dadComponent.ActivarAcceso()}>\r\n            siguiente<ArrowRight className='svg-right' />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <button\r\n          type=\"button\"\r\n          className={`btn-block red${(password1 != \"\" && password2 != \"\" ? \"\" : \" disabled\")}`}\r\n          onClick={() => dadComponent.ActivarAcceso()}>\r\n          siguiente<ArrowRight className='svg-right' />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Message ({ dadComponent }){\r\n  const { } = dadComponent.state;\r\n  return(\r\n    <div>\r\n      <h4 className=\"text-center title-2 desktop verde\"><SvgAssets className=\"mr-2\" icon=\"icon-eye\" fill={c.verdeClaro}/>Contraseña actualizada</h4>\r\n      <div className=\"card card_container\">\r\n        <h4 className=\"text-center title-2 mobile verde\"><SvgAssets icon=\"icon-eye\" className='icon-block' fill={c.verdeClaro}/>Contraseña <br/> actualizada</h4>\r\n        <p className=\"paragraph-1 text-center mb-text verde light\">Tu contraseña ha sido actualizada. <strong>Sigue disfrutando de la experiencia Asiri.</strong></p>\r\n        <div className=\"text-center mt-5\">\r\n          <Link to={{pathname: '/', state: { step: 1 }}} style={{textDecoration:'none'}}>\r\n            <button className='btn-block red'>iniciar sesión</button>\r\n          </Link>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class NuevaContrasenia extends Component {\r\n  static displayName = NuevaContrasenia.name;\r\n\r\n  constructor (props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      step: 0,\r\n      email: null,\r\n      codigoVerificacion: null,\r\n      password1: '',\r\n      loading: false,\r\n      password2: '',\r\n      errorValidacion: null,\r\n      hidePassword1: true,\r\n      hidePassword2: true,\r\n      icon1: 'icon-eye-close',\r\n      icon2: 'icon-eye-close',\r\n    };\r\n  }\r\n\r\n  nextStep() {\r\n    this.setState({step: this.state.step + 1})\r\n  }\r\n\r\n  backStep() {\r\n    this.setState({step: this.state.step - 1})\r\n  }\r\n\r\n  togglePassword1() {\r\n    this.setState({password1: !this.state.password1})\r\n  }\r\n  togglePassword2() {\r\n    this.setState({password2: !this.state.password2})\r\n  }\r\n  changeIcon1() {\r\n    this.setState(prevState => ({\r\n      icon1: prevState.icon1 == 'icon-eye' ? 'icon-eye-close' : 'icon-eye',\r\n      hidePassword1: !prevState.hidePassword1\r\n    }))\r\n  }\r\n  changeIcon2() {\r\n    this.setState(prevState => ({\r\n      icon2: prevState.icon2 == 'icon-eye' ? 'icon-eye-close' : 'icon-eye',\r\n      hidePassword2: !prevState.hidePassword2\r\n    }))\r\n  }\r\n  ActivarAcceso = () => {\r\n    this.setState({ errorValidacion: null, loading: true });\r\n    if (this.state.password1 == null || this.state.password1 == \"\" || this.state.password2 == null || this.state.password2 == \"\") {\r\n      this.setState({ errorValidacion: \"Debe ingresar el password\", loading: false });\r\n    } else if ((/^$|\\s+/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"No debe tener espacios vacíos\", loading: false });\r\n    } else if (this.state.password1.length < 6 || this.state.password1.length > 20) {\r\n      this.setState({ errorValidacion: \"Debe ingresar entre 6 a 20 caracteres\", loading: false });\r\n    } else if (!(/[A-ZÑ]/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"Debe tener al menos una letra mayúscula\", loading: false });\r\n    } else if (!(/[a-zñ]/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"Debe tener al menos una letra minúscula\", loading: false });\r\n    } else if (!(/[0-9]/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"Debe contener al menos un número\", loading: false });\r\n    } else if (!(/[+×÷=/_€£()!¡¿*&^%$#@\\\\\"\"':;,?.`~|<>°•○●□■♤♡◇♧₩¥¤▪︎☆》《-]/.test(this.state.password1))) {\r\n      this.setState({ errorValidacion: \"Debe tener al menos un símbolo\", loading: false });\r\n    } else if (this.state.password1 != this.state.password2) {\r\n      this.setState({ errorValidacion: \"Debe ingresar el mismo password\", loading: false });\r\n    } else {\r\n      this.postActivarAcceso();\r\n    }\r\n  }\r\n  postActivarAcceso = async () => {\r\n    let CorreoElectronico = this.state.email;\r\n    let CodigoVerificacion = this.state.codigoVerificacion;\r\n\r\n    let Contrasenia = this.state.password1;\r\n    this.setState({ loading: true });\r\n    activarAcceso(CorreoElectronico, Contrasenia, CodigoVerificacion)\r\n      .then(result => {\r\n        this.setState({ loading: false });\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false }, async () => {\r\n            this.nextStep();\r\n            // this.props.navigation.navigate('ContraseniaActualizada');\r\n          });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        //console.log(\"postLogin \", error);\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  setPassword1 = (value) => {\r\n    this.setState({ password1: value, errorValidacion: null })\r\n  }\r\n  setPassword2 = (value) => {\r\n    this.setState({ password2: value, errorValidacion: null })\r\n  }\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    this.setState({ email: state.email, codigoVerificacion: state.codigoVerificacion });\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  renderStep() {\r\n    switch(this.state.step) {\r\n      case 0:\r\n        return <SendEmail dadComponent={this} />\r\n      case 1:\r\n        return <Message dadComponent={this} />\r\n      default:\r\n        return <SendEmail dadComponent={this} />\r\n    }\r\n  }\r\n\r\n  render () {\r\n    const { loading } = this.state;\r\n    return (\r\n      <Container className=\"py-5\" id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        {this.renderStep()}\r\n      </Container>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Container, FormFeedback } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { ArrowBack, CurveTop, ArrowRight, Logo, IconLike } from '../../assets/icons/svgIcon';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { getTyC, solicitarAcceso } from '../../store/sagas/authApi';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport { notificacion } from '../../utilitarios/util';\r\n\r\nfunction SendEmail({ dadComponent }) {\r\n  const { loading, terminos, tyc, errors, email, ruc, cel,errorCelular, errorRuc, errorsGeneral} = dadComponent.state;\r\n\r\n  const attrInput = (errors) ? { invalid: true } : {};\r\n  const attrInputRuc = (errorRuc) ? { invalid: true } : {};\r\n  const attrInputCel = (errorCelular) ? { invalid: true } : {};\r\n  const attrInputGeneral = (errorsGeneral) ? { invalid: true } : {};\r\n\r\n  return (\r\n    <div>\r\n      <div className=\"card text-center card_container solicitar_acceso\">\r\n        <img className='logo-small' src={require('../../assets/img/logo-1.png')} />\r\n        <p className=\"paragraph-1 mb-4\" style={{ color: '#8A8A8A' }}>Ingrese su email registrado en Crosland</p>\r\n        <form>\r\n          <FormGroup style={{ marginBottom: 16 }}>\r\n            <Input {...attrInput} className={`naranja ${errors ? \" ph-error\" : \"\"}`} type=\"text\" name=\"email\" placeholder=\"Email\"\r\n              value={email}\r\n              onChange={(email) => dadComponent.setEmail(email.target.value)}\r\n              onKeyup={(cel) => dadComponent.setEmail(cel.target.value)}\r\n            />\r\n            {\r\n              errors ? <FormFeedback>{errors}</FormFeedback> : null\r\n            }\r\n          </FormGroup>\r\n          <FormGroup style={{ marginBottom: 16 }}>\r\n            <Input {...attrInputRuc} className={`naranja ${errorRuc ? \" ph-error\" : \"\"}`} type=\"text\" name=\"ruc\" \r\n              placeholder=\"RUC\"\r\n              maxlength=\"11\"\r\n              value={ruc}\r\n              onChange={(ruc) => dadComponent.setRuc(ruc.target.value)}\r\n              onKeyup={(ruc) => dadComponent.setRuc(ruc.target.value)}\r\n            />\r\n            {\r\n              errorRuc ? <FormFeedback>{errorRuc}</FormFeedback> : null\r\n            }\r\n          </FormGroup>\r\n          <FormGroup style={{ marginBottom: 16 }}>\r\n            <Input {...attrInputCel} className={`naranja ${errorCelular ? \" ph-error\" : \"\"}`} type=\"text\" name=\"cel\" placeholder=\"N° Celular\"\r\n              value={cel}\r\n              maxlength=\"9\"\r\n              onKeyup={(cel) => dadComponent.setCel(cel.target.value)}\r\n              onChange={(cel) => dadComponent.setCel(cel.target.value)}\r\n            />\r\n            {\r\n              errorCelular ? <FormFeedback>{errorCelular}</FormFeedback> : null\r\n            }\r\n          </FormGroup>\r\n          {\r\n              errorsGeneral ? <FormFeedback className=\"pl-0\">{errorsGeneral}</FormFeedback> : null\r\n          }\r\n          <div className=\"custom-control custom-radio custom-control-inline terminos\">\r\n            <input type=\"radio\" id=\"radio1\" name=\"radio_ln\" className=\"custom-control-input\"\r\n              checked={terminos}\r\n              onChange={() => dadComponent.setTerminos(true)}\r\n            />\r\n            <label className=\"custom-control-label naranja\" htmlFor=\"radio1\">\r\n              Acepto los <a href=\"#\" onClick={(e) => { e.preventDefault(); dadComponent.loadInBrowser() }}>Términos y Condiciones y Políticas de Privacidad.</a>\r\n            </label>\r\n          </div>\r\n        </form>\r\n        <button className={`btn-block${!terminos ? \" disabled\" : \"\"}`} style={{ backgroundColor: '#FF9446' }}\r\n          onClick={() => dadComponent.postSolicitarAcceso()}\r\n          disabled={!terminos}\r\n        >\r\n          Solicitar acceso<SvgAssets className='svg-right' icon=\"icon-arrow-right\" fill=\"#fff\" />\r\n        </button>\r\n      </div>\r\n      <div className=\"link-sa\">\r\n        <span>Si ya cuenta con acceso,</span>\r\n        {/* <Link className=\"link-u\" to=\"/\">Iniciar sesión</Link> */}\r\n        <Link className=\"link-u\" to={{ pathname: '/', state: { step: 1 } }}>Iniciar sesión</Link>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Message({ dadComponent }) {\r\n  const { email } = dadComponent.state;\r\n  return (\r\n    <div>\r\n      <h4 className=\"text-center title-2 desktop verde\"><IconLike className='mr-2' />¡Muchas Gracias!</h4>\r\n      <div className=\"card text-center card_container\">\r\n        <h4 className=\"text-center title-2 mobile verde\"><IconLike className='icon-block' />¡Muchas <br /> Gracias!</h4>\r\n        <p className=\"paragraph-1 mb-0 text-center verde\">\r\n          {/* Hola <strong>Mónica</strong>, muchas gracias por solicitar tu acceso,<br className=\"desktop\" /> en un máximo de 24 horas nos comunicaremos contigo.</p> */}\r\n          Hola, muchas gracias por solicitar tu acceso,<br className=\"desktop\" /> en un máximo de 24 horas nos comunicaremos contigo.</p>\r\n        <div className=\"text-center mt-5\">\r\n          <Link to={{ pathname: '/', state: { step: 1 } }} style={{ textDecoration: 'none' }}>\r\n            <button className='btn-block red'>entendido</button>\r\n          </Link>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class SolicitarAcceso extends Component {\r\n  static displayName = SolicitarAcceso.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      step: 0,\r\n      loading: false,\r\n      terminos: false,\r\n      email: '',\r\n      ruc: null,\r\n      cel: null,\r\n      tyc: null,\r\n      errors: null,\r\n      errorsGeneral: null,\r\n      errorRuc: null,\r\n      errorCelular: null,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      // password1: false,\r\n      // password2: false\r\n    };\r\n    // this.nextStep = this.nextStep.bind(this);\r\n    // this.backStep = this.backStep.bind(this);\r\n    // this.togglePassword1 = this.togglePassword1.bind(this);\r\n    // this.togglePassword2 = this.togglePassword2.bind(this);\r\n  }\r\n\r\n  nextStep() {\r\n    this.setState({ step: this.state.step + 1 })\r\n  }\r\n\r\n  backStep() {\r\n    this.setState({ step: this.state.step - 1 })\r\n  }\r\n\r\n  // togglePassword1() {\r\n  //   this.setState({ password1: !this.state.password1 })\r\n  // }\r\n  // togglePassword2() {\r\n  //   this.setState({ password2: !this.state.password2 })\r\n  // }\r\n\r\n  load = async () => {\r\n    this.setState({\r\n      loading: false,\r\n      terminos: false,\r\n      email: null,\r\n      errors: null\r\n    });\r\n  }\r\n\r\n  componentDidMount() {\r\n    this.postTyC();\r\n  }\r\n\r\n  renderStep() {\r\n    switch (this.state.step) {\r\n      case 0:\r\n        return <SendEmail dadComponent={this} />\r\n      case 1:\r\n        return <Message dadComponent={this} />\r\n      default:\r\n        return <SendEmail dadComponent={this} />\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { step, loading } = this.state;\r\n    return (\r\n      <div className=\"login_section\" style={{ backgroundImage: 'none' }}>\r\n        <Spinner visible={loading} />\r\n        <Container className=\"py-5\">\r\n          <button className=\"btn-back mobile\"\r\n            onClick={() => { step == 0 ? this.props.history.push('/') : this.backStep() }}\r\n          >\r\n            <SvgAssets icon=\"icon-back\" fill=\"#fff\" />\r\n          </button>\r\n          {this.renderStep()}\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  notificacion = async (alertTitulo = \"\", alertMensaje = \"\") => {\r\n    this.setState({ alertTitulo, alertMensaje });\r\n    this.toggleModalAlert();\r\n  }\r\n\r\n  toggleModalAlert = () => {\r\n    this.setState(prevState => ({\r\n      showAlert: !prevState.showAlert,\r\n    }));\r\n  }\r\n\r\n  setTerminos = (value) => {\r\n    this.setState({ terminos: value })\r\n  }\r\n\r\n  setEmail = (value) => {\r\n   \r\n    const re = /^[-\\w.%+]{1,64}@(?:[A-Z0-9-]{1,63}\\.){1,125}[A-Z]{2,63}$/i;\r\n    this.setState({ email: value, errors: null, errorsGeneral:null })\r\n    console.log(\"test: \",re.test(value))\r\n    if(re.test(value)){\r\n      console.log(\"entrro en true\")\r\n    }\r\n    else{\r\n      this.setState({ errors: \"Por favor ingrese un Email válido\" })\r\n    }\r\n    \r\n    if(value === ''){\r\n      this.setState({ errors: null })\r\n    }\r\n  }\r\n  \r\n  setRuc = (value) => {\r\n    let de = /[^0-9]/g;\r\n    value = value.replace(de,\"\");\r\n    this.setState({ ruc: value, errorRuc: null,errorsGeneral:null })\r\n  }\r\n  setCel = (value) => {\r\n    let de = /[^0-9]/g;\r\n    value = value.replace(de,\"\");\r\n    this.setState({ cel: value, errorCelular: null ,errorsGeneral:null })    \r\n    if(de.test(value)){\r\n      this.setState({  errorCelular: null }) \r\n    }\r\n\r\n  }\r\n  loadInBrowser = () => {\r\n    if (this.state.tyc != null)\r\n      window.open(this.state.tyc);\r\n  };\r\n\r\n  postTyC = async () => {\r\n    getTyC()\r\n      .then(result => {\r\n        if (result.mo.type === \"success\") {\r\n          this.setState({ loading: false, tyc: result.dto.urlTyC })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Login\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n\r\n  postSolicitarAcceso = async () => {\r\n    //debugger;\r\n    let strEmail = this.state.email == null || this.state.email === undefined ? \"\" : this.state.email.trim()\r\n    let strRuc = this.state.ruc == null || this.state.ruc === undefined ? \"\" : this.state.ruc.trim()\r\n    let strCel = this.state.cel == null || this.state.cel === undefined ? \"\" : this.state.cel.trim()\r\n\r\n    let flag = true;\r\n    if (strEmail === \"\" || strEmail == null){\r\n      this.setState({ errors: \"Debe ingresar un Email\" });\r\n      flag= false;\r\n    }\r\n    if (strRuc === \"\" || strRuc == null || strRuc.length !== 11){\r\n      this.setState({ errorRuc: \"Debe ingresar el Ruc, debe tener 11 números\" })\r\n      flag= false;\r\n    }\r\n    if (strCel === \"\" || strCel == null ||  strCel.length !== 9){\r\n      this.setState({ errorCelular: \"Debe ingresar un valor de 9 números\" })  \r\n      flag= false;\r\n    }\r\n    else if (!this.state.terminos){\r\n      this.setState({ errors: \"Debe aceptar los términos y condiciones\" })\r\n      flag= false;\r\n    }\r\n      \r\n    if(flag) {\r\n      this.setState({ loading: true }) \r\n      solicitarAcceso(strEmail, strRuc, strCel)\r\n        .then(result => {\r\n          this.setState({ loading: false })\r\n          if (result.mo.type == \"success\") {\r\n            this.setState({ email: strEmail }, () => {\r\n              this.nextStep();\r\n            })\r\n            // this.props.navigation.navigate('AuthMensaje', { email: this.state.email });\r\n          } else {\r\n            this.setState({ loading: false })\r\n            result.mo.listMessage.map(item => {\r\n              if(item.includes(\"Correo\")||item.includes(\"Email\")){\r\n                this.setState({  errors: item })\r\n              }\r\n              if(item.includes(\"Cel\")){\r\n                this.setState({  errorCelular: item })\r\n              }\r\n              if(item.includes(\"Ruc\") || item.includes(\"RUC\")){\r\n                this.setState({  errorRuc: item })\r\n              }              \r\n              else if(item.includes(\"Cliente\") && item.includes(\"error\")) {\r\n                this.setState({  errorsGeneral: item })\r\n              }\r\n            })\r\n          }\r\n        }).catch((error) => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          this.setState({ loading: false }, async () => {\r\n            // await this.notificacion(\"Solicitar Acceso\", error.message ?? null);\r\n            notificacion(\"Solicitar Acceso\", error.message ?? null);\r\n          });\r\n        });\r\n    }\r\n  }\r\n}\r\n","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\nexport function ListarProductoFavorito(Centro, CodigoDealer,\r\n    Moneda, Vkorg,\r\n    Poblacion, CorreoElectronicoDealer,\r\n    Linea, Pagenumber) {\r\n    const DispositivoId = getDevice();\r\n\r\n    let params = {};\r\n    params.url = \"dealer/ListarProductoFavorito\";\r\n    params.data = {\r\n        'dto.IBusExacta': 'SI',\r\n        'dto.Centro': Centro,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.Moneda': Moneda,\r\n        'dto.Vkorg': Vkorg,\r\n        'dto.Poblacion': Poblacion,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.Pagenumber': Pagenumber,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.Linea': Linea,\r\n        'dto.Pagesize': data.PageSizeFavorito\r\n    };\r\n    console.log(\"ListarProductoFavorito===>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function AgregarProductoFavorito(dealer,\r\n    producto,\r\n    linea,\r\n    AplicaFavorito) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/RegistrarProductoFavorito\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': dealer.correoElectronico,\r\n        'dto.CodigoDealer': dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Codigo': producto.codigo,\r\n        'dto.Descripcion': producto.descripcion,\r\n        'dto.Moneda': producto.moneda,\r\n        'dto.Linea': linea.linea,\r\n        'dto.Centro': linea.centro,\r\n        'dto.Vkorg': linea.vkorg,\r\n        'dto.Pantalla': producto.pantalla,\r\n        'dto.Almacen': linea.almacen,\r\n        'dto.Sector': linea.sector,\r\n        'dto.Canal': linea.canal,\r\n        'dto.AplicaFavorito': AplicaFavorito,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"RegistrarProductoFavorito======>\",params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\n\r\nexport function EliminarProductosCarritoPedido(Dealer, Linea, Asociado, LocalId, PedidoId, Deleted) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/EliminarProductosCarritoPedido\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Moneda': Asociado.moneda,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.LocalId': LocalId,\r\n        'dto.PedidoId': PedidoId,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.Deleted': Deleted\r\n    };\r\n    console.log(\"EliminarProductosCarritoPedido===>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function ActualizarStockPorLimitesProductoCarritoPedido(Dealer, Linea, Asociado, LocalId, PedidoId, Productos) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ActualizarStockPorLimitesProductoCarritoPedido\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Moneda': Asociado.moneda,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.LocalId': LocalId,\r\n        'dto.PedidoId': PedidoId,\r\n        'dto.ProductosLimite': Productos,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function EliminarProductoCarritoPedido(Dealer, Linea, Asociado, LocalId, PedidoId, ProductoId) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/EliminarProductoCarritoPedido\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Moneda': Asociado.moneda,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.LocalId': LocalId,\r\n        'dto.PedidoId': PedidoId,\r\n        'dto.ProductoId': ProductoId,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function ActualizarStockProductoCarritoPedido(Dealer, Linea, Asociado, LocalId, PedidoId, ProductoId, Cantidad) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ActualizarStockProductoCarritoPedido\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Moneda': Asociado.moneda,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.LocalId': LocalId,\r\n        'dto.PedidoId': PedidoId,\r\n        'dto.ProductoId': ProductoId,\r\n        'dto.Cantidad': Cantidad,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"params.data======>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function RegistrarMaterialSustituto(Dealer, Linea, Asociado, LocalId, PedidoId, ProductoId, Producto) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/RegistrarReemplazo\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.ProductoId': ProductoId,\r\n        'dto.Codigo': Producto.matnr,\r\n        'dto.Descripcion': Producto.maktx,\r\n        'dto.CantidadOriginal': Producto.cantidad,\r\n        'dto.CantidadPedido': Producto.cantidad,\r\n        'dto.Pantalla': data.Pantalla.Carrito.Sustituto,\r\n        'dto.UnidadMedida': Producto.meins,\r\n        'dto.PrecioFinal': Producto.pfin,\r\n        'dto.PrecioOferta': Producto.pofe,\r\n        'dto.Publico': Producto.ppub,\r\n\r\n\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Moneda': Asociado.moneda,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.LocalId': LocalId,\r\n        'dto.PedidoId': PedidoId,\r\n        'dto.Cdvped': Linea.cdvped,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"RegistrarMaterialSustituto===>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function ListarMaterialSustituto(Dealer, Linea, Asociado, Matnr) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarMaterialSustituto\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Waers': Asociado.moneda,\r\n        'dto.Pobla': Asociado.poblacion,\r\n        'dto.Matnr': Matnr,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function BuscarCarritoPedido(Dealer, Linea, Asociado, LocalId, PedidoId) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarCarritoPedido\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Moneda': Asociado.moneda,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.LocalId': LocalId,\r\n        'dto.PedidoId': PedidoId,\r\n        'dto.Cdvped': Linea.cdvped,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"BuscarCarritoPedido=====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function CrearPrePedido(Dealer, Linea, Asociado, LocalId, transporte, contacto, recojo) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/CrearPrePedido\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Moneda': Asociado.moneda,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.LocalId': LocalId,\r\n        'dto.Sistema': data.Sistema,\r\n\r\n        'dto.Transporte': transporte,\r\n        'dto.Contacto': contacto,\r\n        'dto.Recojo': recojo\r\n    };\r\n    console.log(\"params.data===>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function CrearPedido(Dealer, Linea, Asociado, LocalId, PedidoId, transporte, contacto, recojo) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/CrearPedido\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Moneda': Asociado.moneda,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.LocalId': LocalId,\r\n        'dto.PedidoId': PedidoId,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.Transporte': transporte,\r\n        'dto.Contacto': contacto,\r\n        'dto.Recojo': recojo\r\n\r\n\r\n\r\n    };\r\n    //  console.log(\"CrearPedido===>\",params.data)\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function AgregarProductoPedido(Dealer,\r\n    Producto,\r\n    Linea,\r\n    Asociado\r\n) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/RegistrarProducto\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Codigo': Producto.codigo,\r\n        'dto.Descripcion': Producto.descripcion,\r\n        'dto.PrecioOferta': Producto.precioOferta,\r\n        'dto.PrecioPublico': Producto.precioPublico,\r\n        'dto.PrecioFinal': Producto.precioFinal,\r\n        'dto.CantidadOriginal': Producto.cantidadOriginal,\r\n        'dto.UnidadMedida': Producto.unidadMedida,\r\n        'dto.Moneda': Producto.moneda,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Pantalla': Producto.pantalla,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"RegistrarProducto====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function AgregarProductoCarrito(Dealer,\r\n    Linea, Asociado, Producto\r\n) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/RegistrarProductoCarrito\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Codigo': Producto.codigo,\r\n        'dto.Descripcion': Producto.descripcion,\r\n        'dto.PrecioOferta': Producto.precioOferta,\r\n        'dto.PrecioPublico': Producto.precioPublico,\r\n        'dto.PrecioFinal': Producto.precioFinal,\r\n        'dto.CantidadOriginal': Producto.cantidadOriginal,\r\n        'dto.UnidadMedida': Producto.unidadMedida,\r\n        'dto.Moneda': Producto.moneda,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.Pantalla': Producto.pantalla,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function AgregarProductoPedidoMasivo(Productos) {\r\n    const DispositivoId = getDevice();\r\n\r\n    let ListaProductos = [];\r\n\r\n    Productos.filter(function (item) {\r\n        ListaProductos.push({\r\n            \"CorreoElectronicoDealer\": item.CorreoElectronicoDealer,\r\n            \"DispositivoDealer\": DispositivoId,\r\n            \"Descripcion\": item.Descripcion,\r\n            \"CantidadOriginal\": item.CantidadOriginal,\r\n            \"Moneda\": item.Moneda,\r\n            \"Pantalla\": item.Pantalla,\r\n            \"Sustituto\": item.Sustituto,\r\n            \"UnidadMedida\": item.UnidadMedida,\r\n            \"PrecioFinal\": item.PrecioFinal,\r\n            \"Codigo\": item.Codigo,\r\n            \"CodigoDealer\": item.CodigoDealer,\r\n            \"Centro\": item.Centro,\r\n            \"Linea\": item.Linea,\r\n            \"Vkorg\": item.Vkorg,\r\n            'Almacen': item.Almacen,\r\n            'Canal': item.Canal,\r\n            'Sector': item.Sector,\r\n            'Sistema': data.Sistema\r\n        });\r\n    });\r\n\r\n    let params = {};\r\n    params.url = \"dealer/RegistrarProductos\";\r\n    params.data = { \"listDto\": ListaProductos };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function AgregarNuevoProductoPedidoMasivo(Productos) {\r\n    const DispositivoId = getDevice();\r\n\r\n    let ListaProductos = [];\r\n\r\n    Productos.filter(function (item) {\r\n        ListaProductos.push({\r\n            \"Codigo\": item.Codigo,\r\n            \"Descripcion\": item.Descripcion,\r\n            \"CantidadOriginal\": item.CantidadOriginal,\r\n            \"UnidadMedida\": item.UnidadMedida,\r\n            \"Sustituto\": item.Sustituto,\r\n            'dto.Sistema': data.Sistema\r\n        });\r\n    });\r\n\r\n\r\n\r\n    let params = {};\r\n    params.url = \"dealer/RegistrarProductosMasivos\";\r\n    params.data = {\r\n        \"dto.CorreoElectronicoDealer\": Productos[0].CorreoElectronicoDealer,\r\n        \"dto.CodigoDealer\": Productos[0].CodigoDealer,\r\n        \"dto.DispositivoDealer\": DispositivoId,\r\n        \"dto.Pantalla\": Productos[0].Pantalla,\r\n        'dto.Almacen': Productos[0].Almacen,\r\n        'dto.Canal': Productos[0].Canal,\r\n        \"dto.Centro\": Productos[0].Centro,\r\n        \"dto.Linea\": Productos[0].Linea,\r\n        \"dto.Moneda\": Productos[0].Moneda,\r\n        \"dto.Vkorg\": Productos[0].Vkorg,\r\n        \"dto.Sector\": Productos[0].Sector,\r\n        'dto.Sistema': data.Sistema,\r\n        \"dto.Productos\": ListaProductos\r\n    };\r\n    // params.data = { \"dto.Productos\": ListaProductos };\r\n    console.log(\"RegistrarProductosMasivos==========>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}","import React, { useState } from 'react';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\n\r\nfunction CardPrecios(props) {\r\n    // console.log(\"modal carrito\",props.data)\r\n    let getClassNameForPrice = (item, data) => {\r\n        if (item.codigo) {\r\n            switch (item.tipo) {\r\n                case data.PrecioOfe:\r\n                    return { color: c.azulClaro, };\r\n                case data.PrecioFin:\r\n                    return { color: c.naranja, fontFamily: 'gotham-bold', };\r\n                case data.PrecioPub:\r\n                    return { color: c.azulClaro };\r\n                default:\r\n                    return { color: c.azulClaro, };\r\n            }\r\n        } else {\r\n            switch (item.tipo) {\r\n                case data.PrecioOfe:\r\n                    return { color: c.azulClaro, };\r\n                case data.PrecioFin:\r\n                    return { color: c.naranja, fontFamily: 'gotham-bold' };\r\n                case data.PrecioPub:\r\n                    return { color: c.grisOscuro, textDecorationLine: 'line-through', };\r\n                default:\r\n                    return { color: c.azulClaro, };\r\n            }\r\n        }\r\n    }\r\n    let toFixed = (x) => {\r\n        if (Math.abs(x) < 1.0) {\r\n            let e = parseInt(x.toString().split('e-')[1]);\r\n            if (e) {\r\n                x *= Math.pow(10, e - 1);\r\n                x = '0.' + (new Array(e)).join('0') + x.toString().substring(2);\r\n            }\r\n        } else {\r\n            let e = parseInt(x.toString().split('+')[1]);\r\n            if (e > 20) {\r\n                e -= 20;\r\n                x /= Math.pow(10, e);\r\n                x += (new Array(e + 1)).join('0');\r\n            }\r\n        }\r\n        return x;\r\n    }\r\n    let toFixedTrunc = (x, n) => {\r\n        x = toFixed(x)\r\n\r\n        // From here on the code is the same than the original answer\r\n        const v = (typeof x === 'string' ? x : x.toString()).split('.');\r\n        if (n <= 0) return v[0];\r\n        let f = v[1] || '';\r\n        if (f.length > n) return `${v[0]}.${f.substr(0, n)}`;\r\n        while (f.length < n) f += '0';\r\n        return `${v[0]}.${f}`\r\n    }\r\n    let round = (num, decimalPlaces = 0) => {\r\n        num = Math.round(num + \"e\" + decimalPlaces);\r\n        return Number(num + \"e\" + -decimalPlaces);\r\n    }\r\n    let getValueForPrice = (item, precios, escalas, cantidad) => {\r\n\r\n        if (cantidad == 0 || escalas == null) {\r\n            return item.precioStr\r\n        } else {\r\n            let scala = escalas ? escalas.filter(p => cantidad >= p.cantdesde && cantidad <= p.canthasta) : null;\r\n            let PVP = precios.filter(x => x.tipo == data.PrecioPub)\r\n            if (scala.length == 0)\r\n                return item.precioStr\r\n            else if (scala && PVP) {\r\n                var dec = (1 - (scala[0].porcdesc / 100)) * PVP[0].precio;\r\n                let precioPar = `PVD S/ ${round(dec, 2).toFixed(2)} UN `;\r\n                // console.log(\"Value escala==>\", scala[0], PVP[0], precioPar);\r\n                return precioPar\r\n            }\r\n        }\r\n    }\r\n    return (\r\n        // <div>\r\n        // <div className={\"price\"}>\r\n        <div className={props.className}>\r\n            {(props.data) ? props.data.map((item, index) => {\r\n                return (\r\n                    (item.tipo == data.PrecioFin) ?\r\n                        <span key={index} style={getClassNameForPrice(item, data)}>{getValueForPrice(item, props.data, props.escalas, props.cantidad)}</span>\r\n                        :\r\n                        <span key={index} style={getClassNameForPrice(item, data)} >{item.precioStr}</span>\r\n                )\r\n            }) : null}\r\n        </div>\r\n        // </div>\r\n    );\r\n}\r\n\r\nexport default CardPrecios;  ","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\nimport CardPrecios from '../CardPrecios';\r\n\r\nconst ModalReemplazo = ({ dadComponent, dataToCard }) => {\r\n    // debugger;\r\n    const VISIBLE = dadComponent.state.addToCart;\r\n    const CARRITO_MODAL = dadComponent['showCarrito'];\r\n    const TOGGLE_MODAL = dadComponent['showModalCart'];\r\n    const TOGGLE_MODAL_KIT = dadComponent['toggleModalKit'];\r\n    return (\r\n        <div>\r\n            <Modal returnFocusAfterClose={false} isOpen={VISIBLE} toggle={TOGGLE_MODAL} className='modal_add_cart' centered backdrop=\"static\">\r\n                <ModalHeader>\r\n                    <button className=\"btn-icon modal-close\" onClick={TOGGLE_MODAL}><SvgAssets icon=\"icon-close\" fill={c.celeste} /></button>\r\n                    <h6 style={{ color: '#fff' }}>\r\n                        <SvgAssets icon=\"icon-check\" fill={'#fff'} className=\"mr-3\" />\r\n                        El producto se agregó al carrito de compras\r\n                    </h6>\r\n                </ModalHeader>\r\n                <ModalBody>\r\n                    <div className=\"card_product_horizontal card_oferta\">\r\n                        <div className=\"cphLeftImage\">\r\n                            {/* <img src={require('../../../assets/img/product.png')} /> */}\r\n                            <a style={{ cursor: 'pointer' }} onClick={() => dadComponent.toggleModalZoom(dataToCard.pathI)}>\r\n                                <img src={dataToCard.pathI} />\r\n                            </a>\r\n                            {dataToCard.flagKit ?\r\n                                (\r\n                                    <button className='btn-icon' onClick={() => dadComponent.toggleModalKit(dataToCard.codigo, dataToCard.descripcion)}>\r\n                                        <SvgAssets icon=\"icon-kit\" fill={'#ED7F9A'} />\r\n                                    </button>) :\r\n                                ('')}\r\n                        </div>\r\n                        <div className=\"cphTextCenter\">\r\n                            <div>\r\n                                <h6 className=\"paragraph-2 bold mb-1\" style={{ color: c.grisOscuro }}>{dataToCard.descripcion}</h6>\r\n                                <span className=\"paragraph-3\" style={{ color: c.grisMedio }}>SKU: {dataToCard.codigo}</span>\r\n                            </div>\r\n                            <div className=\"mt-3\">\r\n                                <CardPrecios data={dataToCard.precios || []} escalas={dataToCard.escalas} cantidad={dataToCard.cantidad} className=\"cardPrice\" />\r\n                                {/* <span className=\"paragraph-3 bold\" style={{color:c.grisMedio}}>{dataToCard.precioPVD}</span>\r\n                        <span className=\"paragraph-3\" style={{color:c.grisMedio}}>{dataToCard.precioPVP}</span> */}\r\n                            </div>\r\n                            <div className=\"mt-3\">\r\n                                <span className=\"paragraph-3 mb-1 bold\">CANTIDAD: {dataToCard.cantidad} {dataToCard.unidadMedida}</span>\r\n                                {/* <span className=\"paragraph-3\" style={{ color: c.naranja }}>TOTAL: {(dataToCard.precioFinal || 0).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span> */}\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <div className=\"modal-footer\">\r\n                        <a className=\"bold\" onClick={TOGGLE_MODAL}>Seguir Comprando</a>\r\n                        {/* <Link to=\"/carrito\"\r\n                            className=\"btn-small bg_transparent\"\r\n                        > */}\r\n                        <button\r\n                            className=\"btn-small bg_transparent\"\r\n                            type=\"button\"\r\n                            onClick={CARRITO_MODAL}\r\n                        >\r\n                            <SvgAssets icon=\"icon-cart\" fill={c.rojoClaro} />Ir a mi carrito\r\n                        </button>\r\n                        {/* </Link> */}\r\n                    </div>\r\n                </ModalBody>\r\n            </Modal>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default ModalReemplazo;","import React from \"react\";\r\n// import { __DATA__ } from \"./data\";\r\n\r\nexport default function App({data}) {\r\n  const __DATA__ = (data || []).map(x => Object.assign({}, { distance: x.value, colors: x.svg.fill }));\r\n  // const __DATA__ = [\r\n  //   {\r\n  //     distance: 13,\r\n  //     colors: \"#e0a106\"\r\n  //   },\r\n  //   {\r\n  //     distance: 20,\r\n  //     colors: \"#e0064e\"\r\n  //   },\r\n  //   {\r\n  //     distance: 16,\r\n  //     colors: \"#1da890\"\r\n  //   },\r\n  //   {\r\n  //     distance: 30,\r\n  //     colors: \"#7ca81d\"\r\n  //   },\r\n  //   {\r\n  //     distance: 22,\r\n  //     colors: \"#714511\"\r\n  //   }\r\n  // ];\r\n\r\n  return (\r\n    <div className=\"barChartLabel\">\r\n      <div className=\"mainContainer\">\r\n        {__DATA__.map(({ distance, colors }, i) => {\r\n          return (\r\n            <div className=\"BarChartContainer\" key={i}>\r\n              <div className=\"number\" style={{ color: colors }}>{distance}</div>\r\n              <div className=\"chart\" style={{ height: (distance * 2).toFixed(2) + '%', backgroundColor: colors }} />\r\n            </div>\r\n          );\r\n        })}\r\n      </div>\r\n      <div className=\"\" />\r\n    </div>\r\n  );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\nimport InnerImageZoom from 'react-inner-image-zoom';\r\nimport 'react-inner-image-zoom/lib/InnerImageZoom/styles.min.css';\r\n\r\nconst ModalImageZoom = (item) => {\r\n    const VISIBLE = item.dadComponent.state.modalZoom; \r\n    const TOGGLE_MODAL = item.dadComponent['toggleModalZoom'];\r\n    const IMAGE = item.dadComponent.state.imgZoom;\r\n\r\n    return (\r\n        <div>\r\n            <Modal isOpen={VISIBLE} toggle={TOGGLE_MODAL} className='modal_zoom' centered backdrop=\"static\">\r\n                <button className=\"btn-icon modal-close\" onClick={TOGGLE_MODAL}><SvgAssets icon=\"icon-close\" fill={c.celeste} /></button>\r\n                <InnerImageZoom src={IMAGE} zoomSrc={IMAGE}/>\r\n            </Modal>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default ModalImageZoom;","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Row, Modal, Col, ModalBody, ListGroup, ListGroupItem } from 'reactstrap';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\n\r\nconst ModalCompatible = ({ dadComponent, texto }) => {\r\n    console.log('modalCompatible', dadComponent)\r\n    const VISIBLE = dadComponent.state.modalCompatible;\r\n    const ITEMS = dadComponent.state.dataCompatible ?? [];\r\n    const TOGGLE_MODAL = dadComponent['toggleModalCompatible'];\r\n    return (\r\n        <div>\r\n            <Modal returnFocusAfterClose={false} isOpen={VISIBLE} toggle={() => TOGGLE_MODAL([])} className='modal_compatible' centered backdrop=\"static\">\r\n                <ModalBody>\r\n                    <h6 className=\"title \">\r\n                        Compatible\r\n                    </h6>\r\n                    <ListGroup flush className=\"list-group-desktop\">\r\n                        <div className='content-scroll'>\r\n\r\n                            {\r\n                                ITEMS.map((item, index) => {\r\n                                    return (\r\n                                        <ListGroupItem key={\"v_\" + index}>{item.submodelo}</ListGroupItem>\r\n                                    )\r\n                                })\r\n                            }\r\n\r\n                        </div>\r\n                    </ListGroup>\r\n                    <button\r\n                        className=\"btn-block bg_verde\"\r\n                        type=\"button\"\r\n                        onClick={() => TOGGLE_MODAL([])}\r\n                    >\r\n                        CERRAR\r\n                    </button>\r\n                </ModalBody>\r\n            </Modal>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default ModalCompatible;","import React, { useState } from 'react';\r\nimport { UncontrolledTooltip } from 'reactstrap';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\n\r\nconst Example = (props) => {\r\n    let color = props.color;\r\n    let style = props.style;\r\n\r\n    return (\r\n        <div id=\"tooltip\" className=\"tooltip-leyenda\" style={style}>\r\n            <SvgAssets icon=\"icon-info\" fill={color}/>\r\n            <UncontrolledTooltip placement=\"left\" target=\"tooltip\" className=\"tooltip-leyenda\">\r\n                <span>PVD: Precio Venta Dealer</span>\r\n                <span>PVP: Precio Venta Público</span>\r\n            </UncontrolledTooltip>\r\n        </div>\r\n    );\r\n}\r\n\r\nexport default Example;","import React, { useState } from 'react';\r\nimport { UncontrolledTooltip } from 'reactstrap';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\n\r\nconst BtnCompatible = ({IdInput, texto, style}) => {\r\n    // let textColor = props.color;\r\n    // let backgroundColor = props.backgroundColor;\r\n    // let style = props.style;\r\n   \r\n    return (\r\n        <div id={`tooltip-compatible${IdInput}`} className=\"tooltip-compatible\" style={style} >\r\n            <SvgAssets icon=\"icon-compatible\" fill={c.azulClaro} />\r\n            <UncontrolledTooltip placement=\"top\" target={`tooltip-compatible${IdInput}`} className=\"tooltip-compatible\">\r\n                <span className=\"light\">Modelo:</span>\r\n                <span>{texto == null ? \"-\" : texto}</span>\r\n            </UncontrolledTooltip>\r\n        </div>\r\n    );\r\n}\r\n\r\nexport default BtnCompatible;","import React, { Component } from 'react';\r\nimport { Row, Col, Input, Button, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport Slider from \"react-slick\";\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport GaugeChart from 'react-gauge-chart';\r\nimport product from '../../assets/img/product.png';\r\nimport { data } from '../../constants/Constants';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { getData } from '../../store/sagas/dashboardApi';\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport { AgregarProductoPedido } from '../../store/sagas/carritoApi';\r\nimport color from '../../constants/Colors';\r\nimport { notificacion, validateTokenExpired, getStatePage } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport ModalAddCart from \"../reusable/modals/AddCart\";\r\nimport BarchartPedidos from '../reusable/charts/BarChartPedidoMes';\r\nimport CardPrecios from '../reusable/CardPrecios';\r\nimport ModalImageZoom from '../reusable/modals/ImageZoom';\r\nimport ModalCompatible from '../reusable/modals/Compatible';\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\nimport BtnCompatible from '../reusable/BtnCompatible';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\n\r\nconst CardOferta = function ({ item, index, event, eventFavorito, auth, zoom, compatible }) {\r\n  return (\r\n    <div className=\"card_product_horizontal card_oferta mb-0\" style={{ height: '100%' }}>\r\n      <div className=\"cphLeftImage\">\r\n        <div className=\"tag\">\r\n          <SvgAssets icon=\"icon-oferta\" fill={color.rojoClaro} className=\"icon-oferta\" />\r\n          <SvgAssets icon=\"icon-tag\" />\r\n        </div>\r\n        <div style={{ cursor: 'pointer' }} onClick={() => zoom(item.pathI)}>\r\n          <img src={item.pathI} />\r\n        </div>\r\n      </div>\r\n      <div className=\"cphTextCenter\" style={{ justifyContent: 'space-between' }}>\r\n        <div className=\"mb-2\">\r\n          <h6 className=\"paragraph-2 bold azul mb-1\">{item.maktx}</h6>\r\n          <span className=\"paragraph-3 light d-block\">SKU: {item.matnr}</span>\r\n        </div>\r\n        <CardPrecios data={item.precios} escalas={item.escalas} cantidad={item.cantidad} className=\"cardPrice\" />\r\n        <div className=\"options mt-2\">\r\n          {/* <BtnCompatible IdInput={item.indice} texto={item.mensajeCompatible} backgroundColor={color.azulClaro} color={'#fff'} /> */}\r\n          <button className='btn-icon'\r\n            type=\"button\"\r\n            onClick={() => compatible(item.mensajeCompatible)}\r\n          >\r\n            <SvgAssets icon=\"icon-compatible\" fill={color.azulClaro} />\r\n          </button>\r\n          <button className=\"btn-icon\" onClick={() => eventFavorito({\r\n            codigo: item.matnr, descripcion: item.maktx,\r\n            moneda: item.waers, pantalla: data.Pantalla.Dashboard.Ofertas\r\n          }, item.favorito, item.indice)}>\r\n            <SvgAssets icon=\"icon-star\" fill={item.favorito ? color.amarillo : color.celeste} />\r\n          </button>\r\n          <div className=\"desktop\">\r\n            <button className=\"btn-icon desktop\" onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n              codigo: item.matnr,\r\n              descripcion: item.maktx,\r\n              precioOferta: item.pOfe,\r\n              precioPublico: item.pPub,\r\n              precioFinal: item.pFin,\r\n              waersS: item.waersS,\r\n              unidadMedida: item.meins,\r\n              precioPVD: item.precioPVD,\r\n              precioPVP: item.precioPVP,\r\n              precioPublico: item.precioPublico,\r\n              moneda: item.waers,\r\n              cantidadOriginal: 1, //item.cantidad,\r\n              cantidad: 1,\r\n              pathI: item.pathI,\r\n              precios: item.precios,\r\n              pantalla: data.Pantalla.Dashboard.Ofertas,\r\n              escalas: data.escalas\r\n            })}>\r\n              <SvgAssets icon=\"icon-add-cart\" />\r\n            </button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput mobile\" style={{ backgroundColor: 'rgba(154, 200, 255, 0.3)' }}>\r\n        <button className=\"btn-icon\" onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n          codigo: item.matnr,\r\n          descripcion: item.maktx,\r\n          precioOferta: item.pOfe,\r\n          precioPublico: item.pPub,\r\n          precioFinal: item.pFin,\r\n          waersS: item.waersS,\r\n          unidadMedida: item.meins,\r\n          precioPVD: item.precioPVD,\r\n          precioPVP: item.precioPVP,\r\n          precioPublico: item.precioPublico,\r\n          moneda: item.waers,\r\n          cantidadOriginal: 1, //item.cantidad,\r\n          cantidad: 1,\r\n          pathI: item.pathI,\r\n          precios: item.precios,\r\n          pantalla: data.Pantalla.Dashboard.Ofertas,\r\n          escalas: data.escalas\r\n        })}>\r\n          <SvgAssets icon=\"icon-add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class Dashboard extends Component {\r\n  static displayName = Dashboard.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.getTime = null;\r\n    this.state = {\r\n      activeSlide: 0,\r\n      pillActive: 0,\r\n      loading: true,\r\n      dashboards: [],\r\n      alertas: [],\r\n      dataTab: { montoPagado: 0, fechaVencimientoMeta: new Date() },\r\n      fechaActual: new Date().toLocaleString('es-PE', { timeZone: 'America/Lima' }),\r\n      cronometroMeta: { days: 0, hours: 0, minutes: 0 },\r\n      cronometroPedido: { days: 0, hours: 0, minutes: 0 },\r\n      LABELSMETA: [],\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      addToCart: false,\r\n      dataToCard: {},\r\n      ofertaMes: {\r\n        ofertaMes: []\r\n      },\r\n      pedidoMes: null,\r\n      height: window.innerHeight,\r\n      width: window.innerWidth,\r\n      modalCompatible: false,\r\n      mensajeCompatible: '',\r\n    };\r\n  }\r\n\r\n  goToTabHistorial = (codigo) => {\r\n    console.log('tab', codigo)\r\n    this.props.history.push({\r\n      pathname: \"/historial-pedidos\",\r\n      state: {\r\n        barCodEstado: codigo\r\n      }\r\n    });\r\n  }\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: img\r\n    }));\r\n  }\r\n  toggleModalCompatible = (texto) => {\r\n    this.setState(prevState => ({\r\n      modalCompatible: !prevState.modalCompatible,\r\n      mensajeCompatible: texto\r\n    }));\r\n  }\r\n\r\n  showModalCart = () => {\r\n    this.setState(prevState => ({\r\n      addToCart: !prevState.addToCart\r\n    }));\r\n  }\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: true }, () => {\r\n      // this.props.history.push('/carrito');\r\n      setTimeout(() => {\r\n        this.setState({ loading: false })\r\n        this.props.history.push('/carrito');\r\n      }, 1000);\r\n    });\r\n  }\r\n\r\n  startMetas(data) {\r\n    let label = [];\r\n    var name = 0;\r\n    for (var i = 0; i < data.montoPagado; i++) {\r\n      name++;\r\n      label.push({\r\n        activeBarColor: color.verdeClaro,\r\n        name: `Too Slow ${name}`,\r\n        labelColor: color.verdeClaro,\r\n      });\r\n    }\r\n    for (var i = 0; i < data.montoPorPagar; i++) {\r\n      name++;\r\n      label.push({\r\n        activeBarColor: color.naranja,\r\n        name: `Slow ${name}`,\r\n        labelColor: color.naranja\r\n      });\r\n    }\r\n    for (var i = 0; i < data.saldo; i++) {\r\n      name++;\r\n      label.push({\r\n        activeBarColor: color.rojoClaro,\r\n        name: `Too ${name}`,\r\n        labelColor: color.rojoClaro,\r\n      });\r\n    }\r\n    this.setState({ LABELSMETA: label })\r\n  }\r\n  timeUnitsBetween(endDate) {\r\n    var d = new Date();\r\n    var fechaPerustring = d.getFullYear() + \"-\" + (\"0\" + (d.getMonth() + 1)).slice(-2) + \"-\" +\r\n      (\"0\" + d.getDate()).slice(-2) + \" \" + (\"0\" + d.getHours()).slice(-2) + \":\" + (\"0\" + d.getMinutes()).slice(-2) + \":\" + (\"0\" + d.getSeconds()).slice(-2);\r\n    var fechaGMT = this.formatTimeByOffset(fechaPerustring, 0);\r\n\r\n    let startDate = fechaGMT\r\n\r\n    let delta = Math.abs(endDate - startDate) / 1000;\r\n    const isNegative = startDate > endDate ? -1 : 1;\r\n    return [\r\n      ['days', 24 * 60 * 60],\r\n      ['hours', 60 * 60],\r\n      ['minutes', 60],\r\n      ['seconds', 1]\r\n    ].reduce((acc, [key, value]) => (acc[key] = Math.floor(delta / value) * isNegative, delta -= acc[key] * isNegative * value, acc), {});\r\n  }\r\n  startClock(flagMeta, flagPedido) {\r\n    this.getTime = setInterval(() => {\r\n      let time = null;\r\n      let timePedido = null\r\n      if (flagMeta) {\r\n        time = this.timeUnitsBetween(new Date(this.state.dataTab.fechaVencimientoMeta));\r\n        this.setState({ cronometroMeta: time })\r\n      }\r\n\r\n      if (flagPedido) {\r\n        timePedido = this.timeUnitsBetween(new Date(this.state.pedidoMes.fechaVencimientoPedido));\r\n        this.setState({ cronometroPedido: timePedido })\r\n      }\r\n\r\n    }, 480000)\r\n  }\r\n  formatTimeByOffset = (dateString, offset) => {\r\n    // Params:\r\n    // dateString: on the form yyyy-mm-dd hh:mm:ss\r\n    // offset: the amount of hours to add.\r\n    if (!dateString) return ''\r\n    if (dateString.length === 0) return ''\r\n    const year = dateString.slice(0, 4)\r\n    const month = dateString.slice(5, 7)\r\n    const day = dateString.slice(8, 10)\r\n    const hour = dateString.slice(11, 13)\r\n    const minute = dateString.slice(14, 16)\r\n    const second = dateString.slice(17, 19)\r\n    const dateObject = new Date(`${year}-${month}-${day}T${hour}:${minute}:${second}`)\r\n    const currentHours = dateObject.getHours()\r\n    dateObject.setHours(currentHours + offset)\r\n    return dateObject\r\n\r\n  }\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      validateTokenExpired();\r\n      const auth = this.context;\r\n      this.load(auth.carritoProdctos, auth.setcarritoProdctos, auth.setdealerAlertas, auth.setuserApellidoNombre, auth.setuserCorreo);\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  load = (carritoProdctos, setcarritoProdctos, setdealerAlertas, setuserApellidoNombre, setuserCorreo) => {\r\n    let result = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ loading: true, dealer: result.dealer, linea: result.linea, asociado: result.asociado }, () => {\r\n      setuserApellidoNombre(result.dealer.apellnombres);\r\n      setuserCorreo(result.dealer.correoElectronico);\r\n      this.postGetData(carritoProdctos, setcarritoProdctos, setdealerAlertas, result.dealer, result.linea, result.asociado);\r\n    })\r\n  }\r\n\r\n  next = () => {\r\n    this.slider.slickNext();\r\n  }\r\n  previous = () => {\r\n    this.slider.slickPrev();\r\n  }\r\n\r\n  render() {\r\n    const { pedidoMes, ofertaMes, activeSlide, loading, dashboards, alertas, dataTab, pillActive, cronometroMeta, cronometroPedido, LABELSMETA } = this.state;\r\n    console.log('dashboards', dashboards);\r\n    console.log('pedidoMes reder===>', pedidoMes);\r\n\r\n    console.log('dataTab reder===>', dataTab);\r\n\r\n    const auth = this.context;\r\n\r\n    const { width, height } = this.state;\r\n    var carousel_mobile = {\r\n      dots: false,\r\n      infinite: true,\r\n      arrows: false,\r\n      speed: 500,\r\n      slidesToShow: 1,\r\n      slidesToScroll: 1,\r\n    };\r\n    var carousel_desktop = {\r\n      dots: false,\r\n      infinite: true,\r\n      arrows: true,\r\n      speed: 500,\r\n      slidesToShow: 3,\r\n      slidesToScroll: 1\r\n    };\r\n\r\n    return (\r\n      <div style={{ flex: 1 }}>\r\n        <Spinner visible={loading} />\r\n        <div className=\"desktop tab-pills-container\">\r\n          <div className=\"tab-pills\">\r\n            {dashboards.map((data, index) => {\r\n              return (\r\n                <button key={index} className={`pill${(pillActive == index ? ' active' : '')}`} disabled={dashboards.length == 1} onClick={() => this.switchPill(index)}>{data.tituloPrincipal}</button>\r\n              )\r\n            })}\r\n          </div>\r\n          <SvgAssets className=\"curve-bottom\" icon=\"curve-top\" fill=\"#fff\" />\r\n        </div>\r\n\r\n        <Container className=\"py-5\">\r\n          {/* {(dataTab != null) ? */}\r\n          <div className=\"row-dashboard\">\r\n            <div className=\"col-card\">\r\n              <div className=\"card\">\r\n                <div className=\"tab-pills mobile\">\r\n                  {dashboards.map((data, index) => {\r\n                    return (\r\n                      <button key={index} className={`pill${(pillActive == index ? ' active' : '')}`} onClick={() => this.switchPill(index)}>{data.tituloPrincipal}</button>\r\n                    )\r\n                  })}\r\n                </div>\r\n                {(dashboards.length > 0) ?\r\n                  <div className=\"meta_box\">\r\n                    <p className=\"paragraph-2 bold\">{dataTab.tituloMeta}</p>\r\n                    <span className=\"title-2\"><SvgAssets icon=\"icon-trofeo\" />{dataTab.montoMetStr}</span>\r\n                  </div>\r\n                  : null}\r\n                {(LABELSMETA.length > 0) ?\r\n                  <Row>\r\n                    <Col lg=\"6\">\r\n                      <div className=\"speedometer\">\r\n                        <div className=\"chart\">\r\n                          <GaugeChart id=\"gauge-chart3\"\r\n                            // arcsLength={[0.3, 0.5, 0.2]}\r\n                            arcsLength={[\r\n                              LABELSMETA.filter(x => x.labelColor == color.verdeClaro).length,\r\n                              LABELSMETA.filter(x => x.labelColor == color.naranja).length,\r\n                              LABELSMETA.filter(x => x.labelColor == color.rojoClaro).length,\r\n                            ]}\r\n                            colors={[color.verdeClaro, color.naranja, color.rojoClaro]}\r\n                            // colors={LABELSMETA.map(x => x.labelColor)}\r\n                            // percent={0.37}\r\n                            //percent={dataTab.montoPagado / 100}\r\n                            arcPadding={0.02}\r\n                            arcWidth={0.3}\r\n                            hideText={false}\r\n                            textColor={color.verdeClaro}\r\n                          />\r\n                          {/* <span className=\"value_chart\" style={{ left: '14%' }}>{dataTab.montoPagado}%</span> */}\r\n                          <span className=\"percent_chart\">{dataTab.montoPagado}%</span>\r\n                          <span className=\"value_chart\" style={{ left: '14%' }}>{dataTab.montoPagStr}</span>\r\n                          <span className=\"value_chart\" style={{ right: '6%' }}>{dataTab.montoMetStr}</span>\r\n                        </div>\r\n                        <div className=\"legend\">\r\n                          <div className=\"item\">\r\n                            <div className=\"dot\" style={{ backgroundColor: '#2DB997' }} />\r\n                            <span style={{ color: '#2DB997' }}>Pagados</span>\r\n                            <span className=\"costo\" style={{ color: '#2DB997' }}>{dataTab.montoPagStr}</span>\r\n                          </div>\r\n                          <div className=\"item\">\r\n                            <div className=\"dot\" style={{ backgroundColor: '#FF9446' }} />\r\n                            <span style={{ color: '#FF9446' }}>Pendiente de pago</span>\r\n                            <span className=\"costo\" style={{ color: '#FF9446' }}>{dataTab.montoPorStr}</span>\r\n                          </div>\r\n                          <div className=\"item\">\r\n                            <div className=\"dot\" style={{ backgroundColor: '#F23361' }} />\r\n                            <span style={{ color: '#F23361' }}>Faltante</span>\r\n                            <span className=\"costo\" style={{ color: '#F23361' }}>{dataTab.saldoCumStr}</span>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <hr className=\"mobile\" />\r\n                    </Col>\r\n                    <Col lg=\"6\" className=\"cierre_mes\">\r\n                      <h4 className=\"paragraph-3 desktop_parrafo4 bold azul\">Cierre de mes en:</h4>\r\n                      <div className=\"time-box\">\r\n                        <div className=\"box\">\r\n                          <strong>{cronometroMeta.days.toLocaleString(\"es-PE\", { minimumIntegerDigits: 1 })}</strong>\r\n                          <span>Días</span>\r\n                        </div>\r\n                        <i>:</i>\r\n                        <div className=\"box\">\r\n                          <strong>{cronometroMeta.hours.toLocaleString(\"es-PE\", { minimumIntegerDigits: 1 })}</strong>\r\n                          <span>Horas</span>\r\n                        </div>\r\n                        <i>:</i>\r\n                        <div className=\"box\">\r\n                          <strong>{cronometroMeta.minutes.toLocaleString(\"es-PE\", { minimumIntegerDigits: 1 })}</strong>\r\n                          <span>Minutos</span>\r\n                        </div>\r\n                      </div>\r\n                    </Col>\r\n                  </Row>\r\n                  : null}\r\n\r\n                <div className=\"text-center meta_buttons\">\r\n                  {/* <Link to=\"/dashboard\" style={{ textDecoration: 'none' }}> */}\r\n                  <button className='btn-block bg_verde' onClick={() => this.props.history.push('/generar-pedido')}><SvgAssets icon=\"icon-list\" fill=\"#fff\" className=\"mr-1\" />Generar pedido</button>\r\n                  {/* </Link> */}\r\n                  {/* <Link to=\"/dashboard\" style={{ textDecoration: 'none' }}> */}\r\n                  <button className='btn-block' onClick={() => this.props.history.push('/pedido-sugerido')}>Pedido sugerido</button>\r\n                  {/* </Link> */}\r\n                </div>\r\n              </div>\r\n            </div>\r\n            {pedidoMes ?\r\n              <div className=\"col-card\" style={{ flex: 1 }}>\r\n                <div className=\"card\">\r\n                  <span className=\"title-4 text-center\">{pedidoMes.tituloPedido}</span>\r\n                  <BarchartPedidos data={(pedidoMes == null ? [] : pedidoMes.dataEstadosPedido)} />\r\n                  <div className=\"legend_barchart\">\r\n                    {pedidoMes.dataEstadosPedido.map((data, index) => {\r\n                      return (<Link to={{ pathname: \"/historial-pedidos\", state: { estado: data } }} style={{ color: data.svg.fill }} key={index}><span style={{ backgroundColor: data.svg.fill }} />{data.estado}</Link>);\r\n                    })}\r\n                  </div>\r\n                  <hr className=\"mobile\" />\r\n                  <h4 className=\"paragraph-3 desktop_parrafo4 bold azul\">Próximo pedido vence en:</h4>\r\n                  <div className=\"time-box\">\r\n                    {(cronometroPedido.days) ?\r\n                      <div className=\"box\">\r\n                        <strong>{cronometroPedido.days.toLocaleString(\"es-PE\", { minimumIntegerDigits: 1 })}</strong>\r\n                        <span>Días</span>\r\n                      </div>\r\n                      : null}\r\n                    {(cronometroPedido.days) ?\r\n                      <i>:</i>\r\n                      : null}\r\n                    <div className=\"box\">\r\n                      <strong>{cronometroPedido.hours.toLocaleString(\"es-PE\", { minimumIntegerDigits: 1 })}</strong>\r\n                      <span>Horas</span>\r\n                    </div>\r\n                    <i>:</i>\r\n                    <div className=\"box\">\r\n                      <strong>{cronometroPedido.minutes.toLocaleString(\"es-PE\", { minimumIntegerDigits: 1 })}</strong>\r\n                      <span>Minutos</span>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div> : null}\r\n          </div>\r\n          {/* :\r\n            <div className=\"row-dashboard\">\r\n              <div className=\"col-card\">\r\n                <div className=\"card\">\r\n                  <div className=\"text-center meta_buttons\">\r\n                    <button className='btn-block bg_verde' onClick={() => this.props.history.push('/generar-pedido')}><SvgAssets icon=\"icon-list\" fill=\"#fff\" className=\"mr-1\" />Generar pedido</button>\r\n                    <button className='btn-block' onClick={() => this.props.history.push('/pedido-sugerido')}>Pedido sugerido</button>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          } */}\r\n          {(ofertaMes.ofertaMes.length > 0) ?\r\n            <div>\r\n              {width < data.isSmallDevice ?\r\n                <div>\r\n                  <h4 className=\"title-4 my-4\" style={{ color: '#fff' }}>\r\n                    {ofertaMes.ofertaMes.length > 0 ? ofertaMes.titulo : ''}\r\n                    <TooltipLeyenda\r\n                      color={'#fff'}\r\n                      style={{ position: 'absolute', right: 0, top: -2 }}\r\n                    />\r\n                  </h4>\r\n\r\n                  <Slider ref={c => (this.slider = c)} {...carousel_mobile} >\r\n                    {ofertaMes.ofertaMes.map((carousel, index) => {\r\n                      return (<CardOferta item={carousel} index={index} key={index} event={this.postAgregarProductoPedido} eventFavorito={this.postAgregarProductoFavorito} auth={auth} zoom={this.toggleModalZoom} compatible={this.toggleModalCompatible} />);\r\n                    })}\r\n\r\n                  </Slider>\r\n\r\n                  <div className=\"arrows-slider\">\r\n                    <button className=\"btn-icon\" onClick={() => this.previous()}><SvgAssets icon=\"icon-left\" fill='#fff' /></button>\r\n                    <button className=\"btn-icon\" onClick={() => this.next()}><SvgAssets icon=\"icon-right\" fill='#fff' /></button>\r\n                  </div>\r\n                </div>\r\n                : null}\r\n            </div>\r\n            : null}\r\n        </Container>\r\n        {width >= data.isSmallDevice ?\r\n          <div>\r\n            {(ofertaMes.ofertaMes.length > 0) ?\r\n              <div className=\"gradient_blue py-5\">\r\n                <Container id=\"carousel_ofertas\">\r\n                  <h4 className=\"desktop_parrafo1 text-center mb-5\" style={{ color: '#fff' }}>\r\n                    <SvgAssets icon=\"icon-oferta\" fill={color.amarillo} className=\"mr-2\" />{ofertaMes.titulo}\r\n                    <TooltipLeyenda\r\n                      color={'#fff'}\r\n                      style={{ position: 'absolute', right: 0, top: -2 }}\r\n                    />\r\n                  </h4>\r\n                  <Slider ref={c => (this.slider = c)} {...carousel_desktop}>\r\n                    {ofertaMes.ofertaMes.map((carousel, index) => {\r\n                      return (<CardOferta item={carousel} index={index} key={index} event={this.postAgregarProductoPedido} eventFavorito={this.postAgregarProductoFavorito} auth={auth} zoom={this.toggleModalZoom} />);\r\n                    })}\r\n                  </Slider>\r\n                </Container>\r\n              </div> : null}\r\n          </div> : null\r\n        }\r\n        <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n        <ModalImageZoom dadComponent={this} />\r\n        <ModalCompatible dadComponent={this} texto={this.state.mensajeCompatible} />\r\n      </div>\r\n    );\r\n  }\r\n\r\n\r\n  postAgregarProductoFavorito = (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n    console.log(\"producto=========>\", producto);\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          let _data = this.state.ofertaMes\r\n          _data.ofertaMes[index].favorito = !AplicaFavorito;\r\n          this.setState({\r\n            ofertaMes: _data\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Oferta Favorito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postAgregarProductoPedido = (carritoProdctos, setcarritoProdctos, producto) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoPedido(this.state.dealer, producto, this.state.linea, this.state.asociado)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let prod = carritoProdctos;\r\n          // setcarritoProdctos(prod + 1);\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          this.setState({ loading: false, addToCart: true, dataToCard: producto })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  switchPill = (index) => {\r\n    let _dashboards = this.state.dashboards;\r\n    this.setState({ pillActive: index, dataTab: _dashboards[index] });\r\n    // if (this.state.pillActive == 0) {\r\n    //   this.setState({ pillActive: 1, dataTab: _dashboards[1] })\r\n    // } else {\r\n    //   this.setState({ pillActive: 0, dataTab: _dashboards[0] })\r\n    // }\r\n    this.startMetas(_dashboards[index]);\r\n    this.startClock(true, false);\r\n  }\r\n  setActiveSlide = (index) => {\r\n    this.setState({ activeSlide: index })\r\n  }\r\n\r\n  postGetData = (carritoProdctos, setcarritoProdctos, setdealerAlertas, dealer, linea, asociado) => {\r\n    getData(dealer, linea, asociado)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          setdealerAlertas(result.dto.alertas);\r\n\r\n          let time = (result.dto.dashboards.length == 0) ? null : this.timeUnitsBetween(new Date(result.dto.dashboards[0].fechaVencimientoMeta));\r\n          let timePedido = this.timeUnitsBetween(new Date(result.dto.chartEstadosPedido.fechaVencimientoPedido));\r\n          // console.log(\"timePedido\", timePedido);\r\n          // if (result.dto.mensajeDashboards != \"\" || result.dto.mensajeDashboardsEstadoPedido != \"\") {\r\n\r\n          //   this.setState({\r\n          //     loading: false,\r\n          //     dataTab: result.dto.dashboards[0],\r\n          //     dashboards: result.dto.dashboards,\r\n          //     ofertaMes: result.dto.ofertaMes,\r\n          //     cronometroMeta: time,\r\n          //     cronometroPedido: timePedido,\r\n          //     alertas: result.dto.alertas\r\n          //   }, async () => {\r\n          //     await notificacion(\"Dashboard\", `${result.dto.mensajeDashboards}\\n${result.dto.mensajeDashboardsEstadoPedido}`);\r\n          //   });\r\n          //   this.startClock()\r\n          // } else {\r\n\r\n          if (result.dto.dashboards.length > 0)\r\n            this.startMetas(result.dto.dashboards[0]);\r\n\r\n          console.log(\"pedidoMes=====>\", result.dto.chartEstadosPedido);\r\n          this.setState({\r\n            loading: false,\r\n            dataTab: result.dto.dashboards[0],\r\n            dashboards: result.dto.dashboards,\r\n            ofertaMes: result.dto.ofertaMes,\r\n            pedidoMes: result.dto.chartEstadosPedido,\r\n            cronometroMeta: time,\r\n            cronometroPedido: timePedido,\r\n            alertas: result.dto.alertas\r\n          })\r\n          // let time =   this.timeUnitsBetween(new Date(this.state.dataTab.fechaVencimientoMeta));\r\n          // let timePedido =   this.timeUnitsBetween(new Date(this.state.pedidoMes.fechaVencimientoPedido));\r\n\r\n          this.startClock(result.dto.dashboards.length > 0, result.dto.chartEstadosPedido.flagVisible)\r\n\r\n          // }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Dashboard\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n\r\n  componentWillUnmount() {\r\n    clearInterval(this.getTime)\r\n  }\r\n}\r\n","import ServiceManager from '../../service/ServiceManager';\r\n\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\nexport function getData(dealer, linea, asociado) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarDashboard\";\r\n    params.data = {\r\n        'dto.CodigoDealer': dealer.codcliente,\r\n        'dto.OriginalCodigoDealer': dealer.originalcodcliente,\r\n        'dto.Vkorg': linea.vkorg,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': dealer.correoElectronico,\r\n        'dto.Pagenumber': 1,\r\n        'dto.Pagesize': data.PageSizeToAlerta,\r\n        'dto.Region': asociado.poblacion,\r\n        'dto.Linea': linea.linea,\r\n        'dto.Centro': linea.centro,\r\n        'dto.Almacen': linea.almacen,\r\n        'dto.Sector': linea.sector,\r\n        'dto.Canal': linea.canal,\r\n        'dto.Moneda': asociado.moneda,\r\n        'dto.Poblacion': asociado.poblacion,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"ListarDashboard=====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}","import React, { useState } from 'react';\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\r\nimport {SvgAssets} from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\n\r\nconst Pagination = (props) => {\r\n\r\n  const [disabled, setDisabled] = useState(true);  \r\n  var pageNumber = props.currentPage\r\n  var pageSize = props.size\r\n  let currentPage = (pageNumber - 1) * pageSize\r\n  let pages = []\r\n  for (var i = currentPage; i < (pageSize + currentPage); i++) {\r\n    if (i + 1 <= props.totalPage.length)  \r\n      pages.push(i + 1)\r\n\r\n  }\r\n\r\n  return (\r\n    <div className='pagination'>\r\n      <button className='btn-icon'\r\n      type=\"button\"\r\n      onClick={() => props.event(props.current - 1, pages[0]==props.current , \"minus\")}\r\n      disabled={props.current == 1}\r\n      >\r\n        <SvgAssets icon=\"icon-left\" fill={props.current == 1 ? c.celeste : c.azulClaro} />\r\n      </button>\r\n      <div>\r\n        {pages.map((item, index) => {\r\n          return (\r\n            <span key={index}\r\n            className={props.current == item ? \"active\": \"\"}\r\n            onClick={props.current == item ? () => {} : () => props.event(item, false)}\r\n            >{item}</span>\r\n          )\r\n        })\r\n        } \r\n      </div>\r\n      <button className='btn-icon'\r\n      type=\"button\"\r\n      onClick={() => props.event(props.current + 1, pages[props.size-1]==props.current, \"add\")}\r\n      disabled={props.current == props.totalPage.length}\r\n      >\r\n        <SvgAssets icon=\"icon-right\" fill={props.current == props.totalPage.length ? c.celeste : c.azulClaro} />\r\n      </button>\r\n    </div>\r\n  );\r\n}\r\n\r\nexport default Pagination;","import React, { Component } from 'react';\r\nimport { Col, Row, ListGroup, ListGroupItem, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport Pagination from '../reusable/Pagination'\r\nimport { getAlertas } from '../../store/sagas/alertaApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { data } from '../../constants/Constants';\r\nimport c from '../../constants/Colors';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class Notificaciones extends Component {\r\n  static displayName = Notificaciones.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      page: 1,\r\n      size: data.PageSize,\r\n      currentPage: 1,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      alertas: [],\r\n      topalertas: []\r\n    };\r\n  }\r\n\r\n  load = (dealerAlertas, setdealerAlertas) => {\r\n    let result = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ page: 1, loading: true, dealer: result.dealer, linea: result.linea, asociado: result.asociado }, () => {\r\n      this.postAlertas(result.dealer, result.linea, result.asociado, this.state.page, setdealerAlertas);\r\n    })\r\n  }\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      const auth = this.context;\r\n      this.load(auth.dealerAlertas, auth.setdealerAlertas);\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  render() {\r\n    const { loading, alertas, topalertas, page, size, currentPage, } = this.state;\r\n    const auth = this.context;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"desktop\">\r\n          <div className=\"title_banner\">\r\n            <Container>\r\n              <h1><SvgAssets icon=\"icon-campana\" fill=\"#fff\" />Notificaciones</h1>\r\n            </Container>\r\n            <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n          </div>\r\n          <div className=\"breadcrumb\">\r\n            <Container>\r\n              <ul>\r\n                <li><Link to='/dashboard'>Dashboard</Link></li>\r\n                <li>Notificaciones</li>\r\n              </ul>\r\n            </Container>\r\n          </div>\r\n        </div>\r\n        <Container className=\"py-5 container_1080\">\r\n          <h6 className=\"title white mobile\"><SvgAssets icon=\"icon-campana\" fill=\"#fff\" />Notificaciones</h6>\r\n          <h4 className=\"desktop_parrafo2 text-right desktop mb-2\" style={{ color: c.grisMedio }}>\r\n            <SvgAssets icon=\"icon-reloj\" fill={c.grisMedio} />\r\n            Últimos &nbsp;<strong style={{ color: c.azulClaro }}>10 días</strong>\r\n          </h4>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill={'#1B52B2'} />\r\n            <h4 className=\"title-5 gris-1 mobile\"><SvgAssets icon=\"icon-reloj\" fill={c.grisClaro} />Últimos &nbsp;<strong style={{ color: c.celeste }}>10 días</strong></h4>\r\n            <ListGroup flush className=\"container_840\">\r\n              <ListGroupItem>\r\n                <Row form>\r\n                  <Col xs={1} md={1}>\r\n                    <span className='paragraph-3 bold' style={{ color: '#7371FF' }}>#</span>\r\n                  </Col>\r\n                  <Col xs={8} md={9}>\r\n                    <span className='paragraph-3 bold' style={{ color: c.azulClaro }}>Detalle</span>\r\n                  </Col>\r\n                  <Col xs={3} md={2}>\r\n                    <span className='paragraph-3 bold' style={{ color: '#2DB997' }}>Fecha</span>\r\n                  </Col>\r\n                </Row>\r\n              </ListGroupItem>\r\n              {alertas.map((alerta, index) => {\r\n                return (\r\n                  <ListGroupItem key={index}>\r\n                    <Row form>\r\n                      <Col xs={1} md={1}><span className='paragraph-3 desktop_parrafo2 bold' style={{ color: '#7371FF' }}>{alerta.nro}</span></Col>\r\n                      <Col xs={8} md={9}><span className='paragraph-2 light' style={{ color: '#316ACD' }}>{alerta.mensaje}.</span></Col>\r\n                      <Col xs={3} md={2}>\r\n                        {(alerta.fechaHace == null) ?\r\n                          <span className='paragraph-3 desktop_parrafo3 light' style={{ color: '#2DB997' }}>\r\n                            <strong className=\"d-block desktop_parrafo2\">{alerta.fecha}</strong>{alerta.hora}\r\n                          </span>\r\n                          :\r\n                          <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: '#2DB997' }}>\r\n                            {alerta.fechaHace}\r\n                          </span>\r\n                        }\r\n                      </Col>\r\n                    </Row>\r\n                  </ListGroupItem>\r\n                )\r\n              })}\r\n              {/* <ListGroupItem>\r\n                <Row form>\r\n                  <Col xs={1}><span className='paragraph-3 bold' style={{ color: '#7371FF' }}>01</span></Col>\r\n                  <Col xs={8}><span className='paragraph-2' style={{ color: '#316ACD' }}>El pedido N° 9999999999,vence en 5 horas.</span></Col>\r\n                  <Col xs={3}><span className='paragraph-3 bold' style={{ color: '#2DB997' }}><strong className=\"d-block\">01 / 09 /20</strong>9:00 am</span></Col>\r\n                </Row>\r\n              </ListGroupItem> */}\r\n              {/* <ListGroupItem>\r\n                <Row form>\r\n                  <Col xs={1}><span className='paragraph-3 bold' style={{ color: '#7371FF' }}>02</span></Col>\r\n                  <Col xs={8}><span className='paragraph-2' style={{ color: '#316ACD' }}>\r\n                    Actualice su contraseña, recuerda que tu actual contraseña vence en 3 días.</span></Col>\r\n                  <Col xs={3}><span className='paragraph-3 bold' style={{ color: '#2DB997' }}><strong className=\"d-block\">30 / 08 /20</strong>9:00 am</span></Col>\r\n                </Row>\r\n              </ListGroupItem> */}\r\n            </ListGroup>\r\n            {(alertas.length > 0) ? <Pagination event={this.setPage} current={page} currentPage={currentPage} totalPage={alertas[0].totalPage} size={size} /> : null}\r\n            <div className=\"text-center mt-4 mobile\">\r\n              <Link to=\"/dashboard\" style={{ textDecoration: 'none' }}>\r\n                <button className='btn-block'>salir</button>\r\n              </Link>\r\n            </div>\r\n          </div>\r\n          <div className=\"text-center mt-5 desktop\">\r\n            <Link to=\"/dashboard\" style={{ textDecoration: 'none' }}>\r\n              <button className='btn-block'>salir</button>\r\n            </Link>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n  postAlertas = async (dealer, linea, asociado, page, setdealerAlertas) => {\r\n    getAlertas(dealer.codcliente, dealer.correoElectronico, linea,  asociado.poblacion, page)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          if (this.state.topalertas.length == 0) {\r\n            let top = [];\r\n            console.log(\"setdealerAlertas==>\", setdealerAlertas);\r\n            if (setdealerAlertas != undefined)\r\n              setdealerAlertas(top);\r\n            this.setState({\r\n              loading: false,\r\n              alertas: result.dto.alertas,\r\n              topalertas: top\r\n            })\r\n          } else {\r\n            this.setState({\r\n              loading: false,\r\n              alertas: result.dto.alertas,\r\n            })\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  setPage = (index, change, type) => {\r\n    const auth = this.context;\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({ loading: true, page: index, currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1) })\r\n    }\r\n    else\r\n      this.setState({ page: index, loading: true })\r\n\r\n    // this.setState({  loading: false })\r\n    this.postAlertas(this.state.dealer, this.state.linea, this.state.asociado, index);\r\n  }\r\n}\r\n","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\nexport function getAlertas(CodigoDealer, CorreoElectronico, linea, Region, Pagenumber) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarAlertas\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.Vkorg': linea.vkorg,\r\n        'dto.Linea': linea.linea,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.Pagenumber': Pagenumber,\r\n        'dto.Pagesize': data.PageSizeAlerta,\r\n        'dto.Region': Region,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function getTopAlertas(dealer, linea, asociado) {\r\n\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarTopAlertas\";\r\n    params.data = {\r\n        'dto.CodigoDealer': dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': dealer.correoElectronico,\r\n        'dto.Pagenumber': 1,\r\n        'dto.Pagesize': data.PageSizeToAlerta,\r\n        'dto.Region': asociado.poblacion,\r\n        'dto.Vkorg': linea.vkorg,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\nexport function getDataFiltros(ETipoFiltro, Anio, Modelo) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/FiltroBuscarCodigoProducto\";\r\n    switch (ETipoFiltro) {\r\n        case data.FiltroPedito.ComboAnio:\r\n            params.data = {\r\n                'dto.ETipoFiltro': ETipoFiltro,\r\n                'dto.Sistema': data.Sistema\r\n            };\r\n            break;\r\n        case data.FiltroPedito.ComboModelo:\r\n            params.data = {\r\n                'dto.ETipoFiltro': ETipoFiltro,\r\n                'dto.Anio': Anio,\r\n                'dto.Sistema': data.Sistema\r\n            };\r\n            break;\r\n        case data.FiltroPedito.ComboVehiculo:\r\n            params.data = {\r\n                'dto.ETipoFiltro': ETipoFiltro,\r\n                'dto.Anio': Anio,\r\n                'dto.Modelo': Modelo,\r\n                'dto.Sistema': data.Sistema\r\n            };\r\n            break;\r\n        default:\r\n            break;\r\n    }\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function BuscarSistemaPrincipal(\r\n    CodigoDealer, Vkorg, CorreoElectronicoDealer,\r\n    Linkpdf, Catalogo, Centro,\r\n    Moneda, Poblacion, Pagenumber) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n\r\n\r\n    params.url = \"dealer/BuscarSistemaPrincipal\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.Vkorg': Vkorg,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.Linkpdf': Linkpdf,\r\n        'dto.Catalogo': Catalogo,\r\n        'dto.Centro': Centro,\r\n        'dto.Moneda': Moneda,\r\n        'dto.Poblacion': Poblacion,\r\n        'dto.Pagenumber': Pagenumber,\r\n        'dto.Pagesize': data.PageSizeBuscadorCodigo,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function BuscarPedidoMasivo(Dealer, Linea, Asociado, PageNumber, file, format64) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/GenerarPedidoMasivo\";\r\n    params.data = {\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Waers': Asociado.moneda,\r\n        'dto.Werks': Linea.centro,\r\n        'dto.PageNumber': PageNumber,\r\n        'dto.Almacen': Asociado.almacen,\r\n        'dto.File': file,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.Format64': format64\r\n    };\r\n    console.log(\"params.data====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n\r\n}\r\n\r\n\r\nexport function BuscarSistema(CodigoDealer, Vkorg, CorreoElectronicoDealer,\r\n    Linkpdf, Catalogo, Pagenumber) {\r\n    const DispositivoId = getDevice();\r\n\r\n    let params = {};\r\n    params.url = \"dealer/BuscarSistema\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.Vkorg': Vkorg,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.Linkpdf': Linkpdf,\r\n        'dto.Catalogo': Catalogo,\r\n        'dto.Pagenumber': Pagenumber,\r\n        'dto.Pagesize': data.PageSizeRepuestos,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function ListarSistemaRepuestos(Catalogo, Linkimg, Moneda,\r\n    Pagina, Poblacion, Sistemaweb,\r\n    CodigoDealer, CorreoElectronicoDealer,\r\n    VKorg, Pagenumber) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarSistemaRepuestos\";\r\n    params.data = {\r\n        'dto.Catalogo': Catalogo,\r\n        'dto.Linkimg': Linkimg,\r\n        'dto.Moneda': Moneda,\r\n        'dto.Pagina': Pagina,\r\n        'dto.Poblacion': Poblacion,\r\n        'dto.Sistemaweb': Sistemaweb,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.Pagenumber': Pagenumber,\r\n        'dto.VKorg': VKorg,\r\n        'dto.Pagesize': data.PageSizeRepuestos,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"ListarSistemaRepuestos==>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function BuscarCodigoDescripcionPrincipal(Centro, CodigoDealer,\r\n    IMaterial, Moneda, Vkorg,\r\n    Poblacion, CorreoElectronicoDealer,\r\n    Pagenumber, Pantalla, Etiqueta) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarCodigoProductoPrincipal\";\r\n    params.data = {\r\n        'dto.IBusExacta': 'NO',\r\n        'dto.Centro': Centro,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.IMaterial': IMaterial.toUpperCase(),\r\n        'dto.Moneda': Moneda,\r\n        'dto.Vkorg': Vkorg,\r\n        'dto.Poblacion': Poblacion,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.Pagenumber': Pagenumber,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.Pagesize': data.PageSizeBuscadorCodigo,\r\n        'dto.Pantalla': Pantalla,\r\n        'dto.Etiqueta': Etiqueta\r\n    };\r\n    console.log(\"params.data===>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function BuscarKit(Dealer, Linea, Matnr) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarKit\";\r\n    params.data = {\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Matnr': Matnr,\r\n    };\r\n    console.log(\"BuscarKit====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function BuscarCodigoDescripcion(Centro, CodigoDealer,\r\n    IMaterial, Moneda, Vkorg,\r\n    Poblacion, CorreoElectronicoDealer,\r\n    Pagenumber, Pantalla, Etiqueta) {\r\n    const DispositivoId = getDevice();\r\n\r\n    let params = {};\r\n    params.url = \"dealer/BuscarCodigoProducto\";\r\n    params.data = {\r\n        'dto.IBusExacta': 'NO',\r\n        'dto.Centro': Centro,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.IMaterial': IMaterial,\r\n        'dto.Moneda': Moneda,\r\n        'dto.Vkorg': Vkorg,\r\n        'dto.Poblacion': Poblacion,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.Pagenumber': Pagenumber,\r\n        'dto.Pagesize': data.PageSizeBuscadorCodigo,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.Pantalla': Pantalla,\r\n        'dto.Etiqueta': Etiqueta\r\n    };\r\n    console.log(\"BuscarCodigoDescripcion==>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function GetPdfFilePedidoPedido(codigoPedido) {\r\n    let params = {};\r\n    params.url = \"dealer/GetPdfPedido\";\r\n    params.data = {\r\n        'dto.Codigo': codigoPedido\r\n    };\r\n\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function ListarEstadosPedido(CodigoDealer, CorreoElectronicoDealer, VKorg, tipo) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarEstadosPedido\";\r\n    params.data = {\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.VKorg': VKorg,\r\n        'dto.ITipop': tipo,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function ListarHistorialPedido(VKorg, Estado, CodigoDealer, CorreoElectronicoDealer, tipo) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarHistorialPedido\";\r\n    params.data = {\r\n        'dto.VKorg': VKorg,\r\n        'dto.IEstad': Estado,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.ITipop': tipo,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function ListarHistorialPedidoTodos(VKorg, Pedido, CodigoDealer, CorreoElectronicoDealer, tipo) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarHistorialPedidoTodos\";\r\n    params.data = {\r\n        'dto.VKorg': VKorg,\r\n        'dto.IVbeLn': Pedido,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.ITipop': tipo,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"ListarHistorialPedidoTodos params\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function ListarDetallePedido(kunnr, CodigoDealer, CorreoElectronicoDealer) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarDetallePedido\";\r\n    params.data = {\r\n        'dto.IVbeln': kunnr,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function ListarTrakingPedido(kunnr, CodigoDealer, CorreoElectronicoDealer, tipo, serie, numer, cdvped) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarTrakingPedido\";\r\n    params.data = {\r\n        'dto.IVbeln': kunnr,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.Tipod': tipo,\r\n        'dto.Serie': serie,\r\n        'dto.Numer': numer,\r\n        'dto.Cdvped': cdvped,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"params.data===>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function FiltroBuscarPedidoSugerido(Vkorg, Linea, CodigoDealer, CorreoElectronicoDealer) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/FiltroBuscarPedidoSugerido\";\r\n    params.data = {\r\n        'dto.VKorg': Vkorg,\r\n        'dto.Linea': Linea,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function BuscarPedidoSugerido(Vkorg, Linea, CodigoDealer, CorreoElectronicoDealer, Dest,\r\n    Pobla, Waers, PageNumber, PageZise, Sistema) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarPedidoSugerido\";\r\n    params.data = {\r\n        'dto.VKorg': Vkorg,\r\n        'dto.Linea': Linea,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Dest': Dest,\r\n        'dto.Pobla': Pobla,\r\n        'dto.Waers': Waers,\r\n        'dto.PageNumber': PageNumber,\r\n        'dto.Pagesize': PageZise,\r\n        'dto.Sistema': Sistema\r\n    };\r\n\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function BuscarProductoMasComprado(Vkorg, CodigoDealer, CorreoElectronicoDealer, Pobla, Waers, Werks) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarProductoMasComprado\";\r\n    params.data = {\r\n        'dto.VKorg': Vkorg,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Pobla': Pobla,\r\n        'dto.Waers': Waers,\r\n        'dto.Werks': Werks,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function BuscarProductoDestacado(Vkorg, CodigoDealer, CorreoElectronicoDealer, Pobla, Waers, Werks) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarProductoDestacado\";\r\n    params.data = {\r\n        'dto.VKorg': Vkorg,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Pobla': Pobla,\r\n        'dto.Waers': Waers,\r\n        'dto.Werks': Werks,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function BuscarProductoOfertas(Vkorg, CodigoDealer, CorreoElectronicoDealer,\r\n    Pobla, Waers, Werks,\r\n    sistema, size, page,\r\n    IMaterial, Pantalla, Etiqueta) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarCodigoProducto\";\r\n\r\n    params.data = {\r\n        'dto.IBusExacta': 'NO',\r\n        'dto.Proceso': 'O',\r\n        'dto.Centro': Werks,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.IMaterial': (IMaterial == \"\" || IMaterial == null) ? \"*\" : IMaterial.toUpperCase(),\r\n        'dto.Moneda': Waers,\r\n        'dto.Vkorg': Vkorg,\r\n        'dto.Poblacion': Pobla,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.Pagenumber': page,\r\n        'dto.Pagesize': size,\r\n        'dto.Sistema': sistema,\r\n        // 'dto.Pantalla': Pantalla,\r\n        // 'dto.Etiqueta': Etiqueta,\r\n    };\r\n    console.log(\"BuscarCodigoProducto=====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function BuscarPrePedido(Dealer, Linea, Asociado) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarPrePedido\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Linea': Linea.linea,\r\n        'dto.Centro': Linea.centro,\r\n        'dto.Vkorg': Linea.vkorg,\r\n        'dto.Almacen': Linea.almacen,\r\n        'dto.Sector': Linea.sector,\r\n        'dto.Canal': Linea.canal,\r\n        'dto.Moneda': Asociado.moneda,\r\n        'dto.Poblacion': Asociado.poblacion,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function AbrirPrePedido(Dealer, PedidoId) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/AbrirPrePedido\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': Dealer.correoElectronico,\r\n        'dto.CodigoDealer': Dealer.codcliente,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.PedidoId': PedidoId,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, ListGroupItem, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport { data } from '../../constants/Constants';\r\nimport color from '../../constants/Colors';\r\nimport { BuscarPedidoMasivo } from '../../store/sagas/pedidoApi';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport FormFeedback from 'reactstrap/lib/FormFeedback';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class GenerarPedidoMasivo extends Component {\r\n  static displayName = GenerarPedidoMasivo.name;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: false,\r\n      isEditable: true,\r\n      file: {},\r\n      fileBase64: null,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      alertas: [],\r\n      pedidoMasivo: [],\r\n      page: 1,\r\n      size: data.PageSize,\r\n      currentPage: 1,\r\n      error: false,\r\n      errorMessage: '',\r\n    };\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    if (state) {\r\n      // let datosBuscador = params.datosBuscador;\r\n      // this.setState({ textBuscador: datosBuscador.text, textBuscadorOri: datosBuscador.text })\r\n    }\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  load = async () => {\r\n    let data = localStorageCustom.prototype.getUsuario()\r\n    this.setState({ file: {}, loading: false, dealer: data.dealer, linea: data.linea, asociado: data.asociado })\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      this.load();\r\n      this.checkParams();\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  render() {\r\n    const { loading, isEditable, error, errorMessage, file, alertas, pedidoMasivo } = this.state;\r\n    const navigation = this.props.navigation;\r\n    const colorEditable = isEditable ? color.verdeClaro : color.celeste;\r\n\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"desktop\">\r\n          <div className=\"title_banner\">\r\n            <Container><h1><SvgAssets icon=\"icon-add-file\" fill='#fff' />Pedido masivo</h1></Container>\r\n            <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n          </div>\r\n          <div className=\"breadcrumb\">\r\n            <Container>\r\n              <ul>\r\n                <li><Link to='/dashboard'>Dashboard</Link></li>\r\n                <li>Pedidos</li>\r\n                <li>Generar Pedido masivo</li>\r\n              </ul>\r\n            </Container>\r\n          </div>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\"><SvgAssets icon=\"icon-add-file\" fill=\"#fff\" />Pedido masivo</h6>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill={'#1B52B2'} />\r\n            <p className=\"paragraph-1 text-center msg_card_desktop light\">\r\n              El archivo a subir debe ser de extensión <strong className=\"bold\">txt.</strong> Adicional a ello debe contener<br className=\"desktop\" /> las columnas <strong className=\"bold\">código del repuesto y cantidad</strong>\r\n            </p>\r\n            <div className=\"cargar_pedido_masivo\">\r\n              <h6 className=\"paragraph-1 verde mt-3 bold\">Seleccione archivo:</h6>\r\n              <FormGroup className=\"icon\">\r\n                <div className=\"custom-file\">\r\n                  <input type=\"file\" className=\"custom-file-input\" id=\"file-1\" aria-describedby=\"file-1\"\r\n                    onChange={this.pickDocument}\r\n                  />\r\n                  <label className=\"custom-file-label form-control\" htmlFor=\"file-1\">{file.name ? file.name : 'Carga masiva'}</label>\r\n                </div>\r\n                <a onClick={() => { document.getElementById(\"file-1\").click() }}>\r\n                  <SvgAssets icon=\"icon-clip\" className='input-icon' fill={color.verdeClaro} />\r\n                </a>\r\n                {error == true ? <FormFeedback>{errorMessage}</FormFeedback> : null}\r\n              </FormGroup>\r\n              <div className=\"text-center mobile\">\r\n                <button\r\n                  className='btn-block bg_verde mt-3'\r\n                  disabled={file.name ? false : true}\r\n                  onClick={() => this.postBuscarProductos()}>\r\n                  cargar archivo<SvgAssets icon=\"icon-add-file\" className='ml-2' fill={color.verdeClaro} />\r\n                </button>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div className=\"text-center mt-5 desktop\">\r\n            <button\r\n              className='btn-block bg_verde'\r\n              disabled={file.name ? false : true}\r\n              onClick={() => this.postBuscarProductos()}>\r\n              cargar archivo<SvgAssets icon=\"icon-add-file\" fill='#fff' className='ml-2' />\r\n            </button>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  postBuscarProductos = async () => {\r\n    this.setState({ loading: true })\r\n    this.postBuscador();\r\n    // const response = await FileSystem.readAsStringAsync(this.state.file.uri, {\r\n    //   encoding: FileSystem.EncodingType.Base64,\r\n    // })\r\n    //   .then((data) => {\r\n    //     this.postBuscador(data);\r\n    //   })\r\n    //   .catch(\r\n    //     error => {\r\n    //       this.setState({ loading: false })\r\n    //       console.error(\"error=====>\", error)\r\n    //     })\r\n  }\r\n  pickDocument = (e) => {\r\n    let input = e.currentTarget;\r\n    try {\r\n      let res = null;\r\n      if (input.files && input.files[0]) {\r\n        res = input.files[0];\r\n        if (res.type.toLowerCase() != \"text/plain\") {\r\n          this.setState({ error: true, errorMessage: 'Debe seleccionar archivo con extensión .txt' });\r\n          return;\r\n        }\r\n        var reader = new FileReader();\r\n\r\n        reader.onload = (e) => {\r\n          this.setState({ file: res, fileBase64: e.target.result.split(',')[1], error: false, errorMessage: '' });\r\n          // console.log(e.target.result);\r\n          // $('#blah').attr('src', e.target.result);\r\n        }\r\n\r\n        reader.readAsDataURL(input.files[0]); // convert to base64 string\r\n      }\r\n      else\r\n        this.setState({ file: {}, fileBase64: null });\r\n\r\n\r\n      // let res = await DocumentPicker.getDocumentAsync({\r\n      //   base64: true,\r\n      //   // copyToCacheDirectory: false,\r\n      //   type: 'text/plain'\r\n      // });\r\n      // this.setState({ file: res })\r\n    } catch (err) {\r\n      // Expo didn't build with iCloud, expo turtle fallback\r\n      // this.webview.injectJavaScript('selectFile()');\r\n    }\r\n  }\r\n\r\n  postBuscador = async () => {\r\n    this.setState({\r\n      loading: true\r\n    })\r\n    BuscarPedidoMasivo(this.state.dealer, this.state.linea, this.state.asociado, this.state.page, this.state.fileBase64, true)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n\r\n          this.setState({\r\n            loading: false,\r\n            pedidoMasivo: result.dto.repuestos,\r\n            alertas: result.dto.alertas\r\n          }, async () => {\r\n            let datosBuscador = {\r\n              pedidoMasivo: result.dto.repuestos,\r\n              alertas: result.dto.alertas\r\n            }\r\n            this.props.history.push({\r\n              pathname: '/pedido-masivo',\r\n              state: { datosBuscador }\r\n            });\r\n          })\r\n\r\n        } else {\r\n          throw new Error(`<ul class=\"text-justify\" style=\"padding-left: 0\">${result.mo.listMessage.map(x => `<li style=\"list-style: none\">${x}</li>`).join(\"\")}</ul>`);\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n}\r\n","import React, { useState } from 'react';\r\n// import CounterInput from \"react-counter-input\";\r\n\r\nconst CounterInput = (props) => {\r\n  let bg = props.background;\r\n  let color = props.color;\r\n  let vertical = props.vertical;\r\n  let borderColor = props.borderColor;\r\n  let container\r\n\r\n  if (vertical) {\r\n    container = 'vertical'\r\n  } else {\r\n    container = ''\r\n  }\r\n\r\n  let counter = String(props.data.cantidad) \r\n\r\n  return (\r\n    <div className={`counter-input ${container}`} style={{backgroundColor: bg, borderColor: borderColor}}>\r\n      <button className='btn-link' style={{color: color}}\r\n      onClick={() => props.eventCounter(parseInt(counter) + 1, props.data.tab, props.data.indice)}\r\n      >+</button>\r\n        <div className=\"width-machine\" aria-hidden=\"true\">{counter}</div>\r\n        <input  style={{backgroundColor: bg, color: color}} type=\"number\" value={counter}\r\n        onChange={e => {let text = e.currentTarget.value; props.eventCounter(text != \"\" ? parseInt(text) : \"\", props.data.tab, props.data.indice);}}\r\n        />\r\n      <button className='btn-link' style={{color: color}}\r\n      disabled={counter == 0}\r\n      onClick={() => props.eventCounter(parseInt(counter) - 1, props.data.tab, props.data.indice)}\r\n      >-</button>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default CounterInput;","import React, { useState } from 'react';\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\nimport CounterInput from '../../../components/reusable/CounterInput';\r\nimport { numberWithCommas } from '../../../utilitarios/util';\r\nimport { data } from '../../../constants/Constants';\r\nconst ModalReemplazo = ({modal, dadComponent, reemplazo, auth}) => {\r\n  // const VISIBLE = dadComponent.state.dataReemplazo.isVisible;\r\n  const VISIBLE = modal.isVisible;\r\n  const HIDE_MODAL = dadComponent['CerrarReemplazo'];\r\n\r\n  return (\r\n    <div>\r\n      {/* <Button color=\"danger\">modal</Button> */}\r\n      <Modal isOpen={VISIBLE} className='modal_reemplazar' centered>\r\n        {/* <ModalHeader toggle={toggle}>Modal title</ModalHeader> */}\r\n        <ModalBody>\r\n          <button className=\"btn-icon modal-close\" onClick={HIDE_MODAL}><SvgAssets icon=\"icon-close\" fill={c.azulClaro} /></button>\r\n          <h6 className=\"title-3 bold\"><SvgAssets icon=\"icon-foco\"/>Puedes reemplazar el repuesto por:</h6>\r\n          <div className=\"cards_scroll\">\r\n          {dadComponent.state.dataReemplazo.data.map((item, index) => {\r\n            return(\r\n              <div key={index} className=\"card_reemplazo\">\r\n                <div style={{ flex: 1, paddingRight:10 }}>\r\n                  <div>\r\n                    <div className=\"custom-control custom-radio custom-control-inline\">\r\n                      <input type=\"radio\" id={`radio${item.idInput}`} name={`radio${item.idInput}`} className=\"custom-control-input\" checked={reemplazo.idInput == item.idInput} onChange={() => dadComponent.seleccionarReemplazo(item)} />\r\n                      <label className=\"custom-control-label\" htmlFor={`radio${item.idInput}`} style={{ color: '#FF9446' }} />\r\n                    </div>\r\n                    <div>\r\n                      <h6 className=\"paragraph-2 bold mb-1\" style={{color:c.verdeClaro}}>{item.maktx}</h6>\r\n                      <span className=\"paragraph-3 light d-block\" style={{color:c.grisMedio}}>SKU: {item.matnr}</span>\r\n                    </div>\r\n                    <span className=\"paragraph-3 light mt-3 d-block\">Total: <strong>{item.sWaers} {numberWithCommas(item.precioTotal)}</strong></span>\r\n                  </div>\r\n                </div>\r\n                <div style={{display:'flex',flexDirection:'column',justifyContent:'space-between'}}>\r\n                  <div className=\"text-right\">\r\n                    <span className=\"paragraph-3 bold d-block\">{item.precioPVD}</span>\r\n                  </div>\r\n                  <div className=\"options\">\r\n                    <button className='btn-icon'\r\n                    onClick={() => dadComponent.postAgregarProductoReemplazoFavorito({\r\n                      codigo: item.matnr, descripcion: item.maktx,\r\n                      moneda: item.waers, pantalla: data.Pantalla.BuscarPedidoCodigo.Reemplazo\r\n                    }, item.favorito, item.indice)}\r\n                    >\r\n                      <SvgAssets icon=\"icon-star\" fill={item.favorito ? c.amarillo : c.celeste} />\r\n                    </button>\r\n                    <CounterInput\r\n                      IdInput={item.idInput}\r\n                      background={\"#fff\"}\r\n                      color={c.azulClaro}\r\n                      borderColor={c.grisClaro}\r\n                      data={item}\r\n                      eventCounter={dadComponent.setCounterReemplazo}\r\n                    />\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            )\r\n          })\r\n          }\r\n          </div>\r\n          <div className=\"text-center mt-5\">\r\n            <button className='btn-block bg_verde' type=\"button\"\r\n            disabled={reemplazo.cantidad == 0}\r\n            onClick={() => dadComponent.ejectarReemplazo(auth.carritoProdctos, auth.setcarritoProdctos)}>\r\n              Reemplazar<SvgAssets icon=\"icon-refresh\" fill='#fff' className='ml-2' />\r\n            </button>\r\n          </div>\r\n        </ModalBody>\r\n      </Modal>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default ModalReemplazo;","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Row, Modal, Col, ModalBody, ListGroup, ListGroupItem } from 'reactstrap';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\n\r\nconst ModalKit = ({ dadComponent, detalleKit }) => {\r\n    const VISIBLE = dadComponent.state.modalKit;\r\n    const TOGGLE_MODAL = dadComponent['toggleModalKit'];\r\n    const kitNombre =   dadComponent.state?.kit;\r\n    // const [detalleKit, setDetalleKit] = useState([])\r\n    // setDetalleKit( dadComponent.state.dataResult.detalleKit);    \r\n    return (\r\n        <div>\r\n            <Modal returnFocusAfterClose={false} isOpen={VISIBLE} toggle={TOGGLE_MODAL} className='modal_kit' centered backdrop=\"static\">\r\n                <ModalBody>\r\n                    <h6 className=\"title \">\r\n                        <SvgAssets icon=\"icon-kit\" fill={'#ED7F9A'} className=\"mr-3\" />\r\n                        {kitNombre}\r\n                    </h6>\r\n                    <ListGroup flush className=\"list-group-desktop\">\r\n                        <ListGroupItem className=\"header\">\r\n                            <Row form>\r\n                                <Col xs={5} sm={7}>\r\n                                    <span className='paragraph-3 desktop_parrafo3' style={{ color: c.azulClaro }}>Material</span>\r\n                                </Col>\r\n                                <Col xs={5} sm={3}>\r\n                                    <span className='paragraph-3 desktop_parrafo3' style={{ color: c.verdeClaro }}>Código SKU</span>\r\n                                </Col>\r\n                                <Col xs={2} sm={2} className=\"text-center\">\r\n                                    <span className='paragraph-3 desktop_parrafo3' style={{ color: c.azulClaro }}>Cant.</span>\r\n                                </Col>\r\n                            </Row>\r\n                        </ListGroupItem>\r\n                        <div className='content-scroll'>\r\n                            {(detalleKit != null && detalleKit.length > 0) ? detalleKit.map((data, index) => {\r\n                            return (\r\n                                <ListGroupItem key={index+1}>\r\n                                    <Row form>\r\n                                        <Col xs={5} sm={7}>\r\n                                            <span className='paragraph-3 desktop_parrafo4' style={{ color: c.azulClaro }}>{data.maktx}</span>\r\n                                        </Col>\r\n                                        <Col xs={5} sm={3}>\r\n                                            <span className='paragraph-3 sku' style={{ color: c.verdeClaro }}>{data.matnr}</span>\r\n                                        </Col>\r\n                                        <Col xs={2} sm={2} className=\"text-center\">\r\n                                            <span className='paragraph-3 desktop_parrafo3' style={{ color: c.azulClaro }}>{data.canti}</span>\r\n                                        </Col>\r\n                                    </Row>\r\n                                </ListGroupItem>\r\n                            )\r\n                            }) : null}\r\n                        </div>\r\n                    </ListGroup>\r\n                    <button \r\n                        className=\"btn-block bg_verde\"\r\n                        type=\"button\"\r\n                        onClick={TOGGLE_MODAL}\r\n                    >\r\n                        CERRAR\r\n                    </button>\r\n                </ModalBody>\r\n            </Modal>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default ModalKit;","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Col, Row, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport ModalReemplazo from '../../components/reusable/modals/Reemplazar';\r\nimport product from '../../assets/img/product.png';\r\nimport c from '../../constants/Colors';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { data } from '../../constants/Constants';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport { BuscarPedidoMasivo } from '../../store/sagas/pedidoApi';\r\nimport { AgregarNuevoProductoPedidoMasivo, AgregarProductoPedidoMasivo, ListarMaterialSustituto } from '../../store/sagas/carritoApi';\r\nimport { BuscarKit } from '../../store/sagas/pedidoApi';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport CardPrecios from \"../reusable/CardPrecios\";\r\nimport ModalImageZoom from '../reusable/modals/ImageZoom';\r\nimport ModalKit from '../reusable/modals/kit';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst Pills = ({ dadComponent }) => {\r\n  let { pillActive } = dadComponent.state;\r\n  return (\r\n    <button className='tab-pills-xs' onClick={() => dadComponent.switchPill()}>\r\n      <div className={`pill ${pillActive == 0 ? \"active\" : ''}`}>\r\n        <SvgAssets icon=\"icon-list-2\" fill={pillActive == 0 ? c.azulClaro : c.celeste} />\r\n      </div>\r\n      <div className={`pill ${pillActive == 1 ? \"active\" : ''}`}>\r\n        <SvgAssets icon=\"icon-table\" fill={pillActive == 1 ? c.azulClaro : c.celeste} />\r\n      </div>\r\n    </button>\r\n  )\r\n}\r\n\r\nconst Productos = ({ dadComponent, producto }) => {\r\n  let { setCounter, postEliminarBuscador, state } = dadComponent;\r\n  let { pillActive } = state;\r\n  if (pillActive == 0) {\r\n    return (\r\n      <div className=\"card_listado\">\r\n        <Row form>\r\n          <Col xs={3} md={3} className=\"pr-0\" style={{ alignSelf: 'center' }}>\r\n            <span className=\"paragraph-3 desktop_parrafo2 bold verde\">{producto.matnr}</span>\r\n          </Col>\r\n          <Col xs={2} md={3} style={{ alignSelf: 'center' }}>\r\n            {/* <CounterInput\r\n              vertical\r\n              background={\"#fff\"}\r\n              color={\"#316ACD\"}\r\n              borderColor={\"#E2E2E2\"}\r\n              data={producto}\r\n              eventCounter={setCounter}\r\n            /> */}\r\n            <span className=\"paragraph-3 bold\">{producto.cantidad}</span>\r\n          </Col>\r\n          <Col xs={5} md={4} style={{ alignSelf: 'center' }}>\r\n            <CardPrecios data={producto.precios} escalas={producto.escalas} cantidad={producto.cantidad} className=\"cardPrice\" />\r\n          </Col>\r\n          <Col xs={2} md={2} style={{ alignSelf: 'center' }}>\r\n            {/* <button className=\"btn-icon\" type=\"button\"\r\n              onClick={() => postEliminarBuscador(producto.indice)}\r\n            >\r\n              <SvgAssets icon=\"icon-trash\" fill={c.celeste} />\r\n            </button> */}\r\n            {producto.flagKit ? (\r\n              <button className='btn-icon m-auto' onClick={() => dadComponent.toggleModalKit(producto.matnr, producto.maktx)}>\r\n                <SvgAssets icon=\"icon-kit\" fill={'#ED7F9A'} />\r\n              </button>) : ''}\r\n          </Col>\r\n        </Row>\r\n\r\n      </div>\r\n    )\r\n  } else {\r\n    return (\r\n      <div className=\"card_product_vertical card_pedido_masivo\">\r\n        <div style={{ cursor: 'pointer', alignSelf: 'center' }} onClick={() => dadComponent.toggleModalZoom(producto.pathImage)}>\r\n          <img className=\"product-img\" src={producto.pathImage} />\r\n        </div>\r\n        <div className=\"content\">\r\n          <h6 className=\"paragraph-2 bold verde\">{producto.maktx}</h6>\r\n          <span className=\"paragraph-3 sku\">SKU: {producto.matnr}</span>\r\n          <CardPrecios data={producto.precios} escalas={producto.escalas} cantidad={producto.cantidad} className=\"cardPrice\" />\r\n          <div className=\"counter align-items-center justify-content-between\">\r\n            {/* <CounterInput\r\n              background={\"#fff\"}\r\n              color={\"#316ACD\"}\r\n              borderColor={\"#E2E2E2\"}\r\n              data={producto}\r\n              eventCounter={dadComponent.setCounter}\r\n            /> */}\r\n\r\n            <span className=\"paragraph-3 bold\">Cant. {producto.cantidad}</span>\r\n            {producto.flagKit ? (\r\n              <button className='btn-icon' onClick={() => dadComponent.toggleModalKit(producto.matnr, producto.maktx)}>\r\n                <SvgAssets icon=\"icon-kit\" fill={'#ED7F9A'} />\r\n              </button>) : ''}\r\n            {/* <button className=\"btn-icon\" type=\"button\"\r\n              onClick={() => postEliminarBuscador(producto.indice)}\r\n            >\r\n              <SvgAssets icon=\"icon-trash\" fill={c.celeste} />\r\n            </button> */}\r\n          </div>\r\n        </div>\r\n      </div>\r\n    )\r\n  }\r\n}\r\n\r\nconst ProductosSinStock = ({ dadComponent, producto }) => {\r\n  let { setCounter, MostrarReemplazo, postAgregarProductoFavorito, state } = dadComponent;\r\n  let { pillActive } = state;\r\n  if (pillActive == 0) {\r\n    return (\r\n      <div className=\"card_listado\">\r\n        <Row form>\r\n          <Col xs={3} md={3} className=\"pr-0\" style={{ alignSelf: 'center' }}>\r\n            <span className=\"paragraph-3 desktop_parrafo2  bold rojo\">{producto.matnr}</span>\r\n          </Col>\r\n          <Col xs={2} md={3} style={{ alignSelf: 'center' }}>\r\n            {/* <CounterInput\r\n              vertical\r\n              background={\"#fff\"}\r\n              color={\"#316ACD\"}\r\n              borderColor={\"#E2E2E2\"}\r\n              data={producto}\r\n              eventCounter={setCounter}\r\n            /> */}\r\n            <span className=\"paragraph-3 bold\">{producto.cantidad}</span>\r\n          </Col>\r\n          <Col xs={5} md={4} style={{ alignSelf: 'center' }}>\r\n            <CardPrecios data={producto.precios} escalas={producto.escalas} cantidad={producto.cantidad} className=\"cardPrice\" />\r\n          </Col>\r\n          <Col xs={2} md={2} >\r\n            <div className=\"options\">\r\n              {producto.flagKit ? (\r\n                <button className='btn-icon' onClick={() => dadComponent.toggleModalKit(producto.matnr, producto.maktx)}>\r\n                  <SvgAssets icon=\"icon-kit\" fill={'#ED7F9A'} />\r\n                </button>) : ''}\r\n              <button className=\"btn-icon\" type=\"button\"\r\n                onClick={() => postAgregarProductoFavorito({\r\n                  codigo: producto.matnr, descripcion: producto.maktx,\r\n                  moneda: producto.waers, pantalla: data.Pantalla.BuscarMasivo.Producto\r\n                }, producto.favorito, producto.indice)}>\r\n                <SvgAssets icon=\"icon-star\" fill={producto.favorito ? c.amarillo : c.celeste} />\r\n              </button>\r\n              {/* {(producto.sustituto) ?\r\n                <button className=\"btn-icon\" type=\"button\"\r\n                  onClick={() => MostrarReemplazo(producto)}>\r\n                  <SvgAssets icon=\"icon-foco\" />\r\n                </button>\r\n                : null} */}\r\n            </div>\r\n          </Col>\r\n        </Row>\r\n      </div>\r\n    )\r\n  } else {\r\n    return (\r\n      <div className=\"card_product_vertical card_pedido_masivo\">\r\n        <div style={{ cursor: 'pointer', alignSelf: 'center' }} onClick={() => dadComponent.toggleModalZoom(producto.pathImage)}>\r\n          <img className=\"product-img\" src={producto.pathImage} />\r\n        </div>\r\n        <div className=\"content\">\r\n          <h6 className=\"paragraph-2 bold verde\">{producto.maktx}</h6>\r\n          <span className=\"paragraph-3 sku\">SKU: {producto.matnr}</span>\r\n          <CardPrecios data={producto.precios} escalas={producto.escalas} cantidad={producto.cantidad} className=\"cardPrice\" />\r\n          <div className=\"counter align-items-center justify-content-between\">\r\n            {/* <CounterInput\r\n              background={\"#fff\"}\r\n              color={\"#316ACD\"}\r\n              borderColor={\"#E2E2E2\"}\r\n              data={producto}\r\n              eventCounter={dadComponent.setCounter}\r\n            /> */}\r\n            <span className=\"paragraph-3 bold mb-0\">Cant. {producto.cantidad}</span>\r\n            {producto.flagKit ? (\r\n              <button className='btn-icon' onClick={() => dadComponent.toggleModalKit(producto.matnr, producto.maktx)}>\r\n                <SvgAssets icon=\"icon-kit\" fill={'#ED7F9A'} />\r\n              </button>) : ''}\r\n          </div>\r\n          <div className=\"options mt-2\">\r\n            <button className=\"btn-icon\" type=\"button\"\r\n              onClick={() => postAgregarProductoFavorito({\r\n                codigo: producto.matnr, descripcion: producto.maktx,\r\n                moneda: producto.waers, pantalla: data.Pantalla.BuscarMasivo.Producto\r\n              }, producto.favorito, producto.indice)}>\r\n              <SvgAssets icon=\"icon-star\" fill={producto.favorito ? c.amarillo : c.celeste} />\r\n            </button>\r\n            {(producto.sustituto) ?\r\n              <button className=\"btn-icon\" type=\"button\"\r\n                onClick={() => MostrarReemplazo(producto)}\r\n              >\r\n                <SvgAssets icon=\"icon-foco\" />\r\n              </button>\r\n              : null}\r\n          </div>\r\n        </div>\r\n      </div>\r\n    )\r\n  }\r\n}\r\n\r\nexport class PedidoMasivo extends Component {\r\n  static displayName = PedidoMasivo.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      pillActive: 0,\r\n      showDetails: false,\r\n      showModalReemplazar: false,\r\n      pedidoMasivo: [],\r\n      alertas: [],\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      page: 1,\r\n      size: data.PageSize,\r\n      currentPage: 1,\r\n      dataReemplazo: {\r\n        data: [],\r\n        isVisible: false,\r\n        producto: null\r\n      },\r\n      productoReem: {\r\n        cantidad: 0\r\n      },\r\n      modalZoom: false,\r\n      modalKit: false,\r\n      imgZoom: \"\",\r\n      detalleKit: [],\r\n      kit: '',\r\n    };\r\n  }\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    if (state) {\r\n      let datosBuscador = state.datosBuscador;\r\n      this.setState({ pedidoMasivo: datosBuscador.pedidoMasivo, alertas: datosBuscador.alertas })\r\n    }\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: img\r\n    }));\r\n  }\r\n  toggleModalKit = (matnr, maktx) => {\r\n    this.setState(prevState => ({\r\n      modalKit: !prevState.modalKit,\r\n    }));\r\n    if (!this.state.modalKit) {\r\n      this.setState(prevState => ({\r\n        kit: maktx,\r\n      }));\r\n      this.postBuscarKit(this.state.dealer, this.state.linea, matnr)\r\n    }\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      this.checkParams();\r\n      let data = localStorageCustom.prototype.getUsuario();\r\n      this.setState({ page: 1, file: {}, loading: false, dealer: data.dealer, linea: data.linea, asociado: data.asociado })\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  switchPill = () => {\r\n    if (this.state.pillActive == 0) {\r\n      this.setState({ pillActive: 1 })\r\n    } else {\r\n      this.setState({ pillActive: 0 })\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { pillActive, productoReem, showDetails, showModalReemplazar, alertas, pedidoMasivo, loading, dataReemplazo } = this.state;\r\n    // debugger;\r\n    const auth = this.context;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"desktop\">\r\n          <div className=\"title_banner\">\r\n            <Container><h1>Pedido masivo</h1></Container>\r\n            <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n          </div>\r\n          <div className=\"breadcrumb\">\r\n            <Container>\r\n              <ul>\r\n                <li><Link to='/dashboard'>Dashboard</Link></li>\r\n                <li>Pedidos</li>\r\n                <li><Link to='/generar-pedido-masivo'>Generar Pedido masivo</Link></li>\r\n                <li>Resultado</li>\r\n              </ul>\r\n            </Container>\r\n          </div>\r\n        </div>\r\n        <Container className=\"py-5 container_pedido_masivo\">\r\n          <h6 className=\"title white mobile\"><SvgAssets icon=\"icon-add-file\" fill='#fff' />Pedido masivo</h6>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill={'#1B52B2'} />\r\n            <Pills dadComponent={this} />\r\n            <p className=\"paragraph-1 text-center verde light\">\r\n              <strong className=\"bold\">Se realizó</strong> la carga masiva de <strong className=\"bold\">{pedidoMasivo.length}</strong> productos:\r\n            </p>\r\n            {(pedidoMasivo.filter(x => x.validaStok).length > 0) ?\r\n              <div className='container-cards' style={{ backgroundColor: '#2DB997', flexDirection: pillActive == 0 ? 'column' : 'row' }}>\r\n                {pillActive == 0 ?\r\n                  <Row form className=\"header\">\r\n                    <Col xs={3} md={3}><span>Código</span></Col>\r\n                    <Col xs={2} md={3} className=\"pr-0\"><span>Cantidad</span></Col>\r\n                    <Col xs={7} md={6}><span>Precio PVD</span></Col>\r\n                  </Row> : null\r\n                }\r\n                <div className=\"cards-wrap w-100\">\r\n                  {pedidoMasivo.filter(x => x.validaStok).map((item, index) => {\r\n                    return (\r\n                      <Productos\r\n                        producto={item}\r\n                        key={index}\r\n                        dadComponent={this} />\r\n                    )\r\n                  })}\r\n                </div>\r\n                <p className=\"total\" style={{ maxWidth: pillActive == 0 ? 680 : 'initial' }}>Total: <strong>{pedidoMasivo[0].precioTotal}</strong></p>\r\n              </div>\r\n              : null}\r\n            <h6 className=\"paragraph-1 rojo my-3 bold\">Productos sin stock</h6>\r\n            {(pedidoMasivo.filter(x => !x.validaStok).length > 0) ?\r\n              <div className='container-cards' style={{ backgroundColor: '#F23361', flexDirection: pillActive == 0 ? 'column' : 'row' }}>\r\n                {pillActive == 0 ?\r\n                  <Row form className=\"header\">\r\n                    <Col xs={3} md={3}><span>Código</span></Col>\r\n                    <Col xs={2} md={3} className=\"pr-0\"><span>Cantidad</span></Col>\r\n                    <Col xs={7} md={6}><span>Precio PVD</span></Col>\r\n                  </Row> : null\r\n                }\r\n                <div className=\"cards-wrap\">\r\n                  {pedidoMasivo.filter(x => !x.validaStok).map((item, index) => {\r\n                    return (\r\n                      <ProductosSinStock\r\n                        producto={item}\r\n                        key={index}\r\n                        dadComponent={this} />\r\n                    )\r\n                  })}\r\n                </div>\r\n              </div>\r\n              : null}\r\n            <hr className=\"desktop mx-5\" style={{ borderColor: '#BDBDBD' }} />\r\n            <div className=\"text-center mt-2\">\r\n              {/* <Link to=\"/dashboard\" style={{ textDecoration: 'none' }}> */}\r\n              <button className='btn-block'\r\n                type=\"button\"\r\n                onClick={() => this.addPedidos(auth.carritoProdctos, auth.setcarritoProdctos)}\r\n              >\r\n                AGREGAR AL CARRITO<SvgAssets icon=\"icon-cart\" fill=\"#fff\" className='ml-2' />\r\n              </button>\r\n              {/* </Link> */}\r\n            </div>\r\n          </div>\r\n        </Container>\r\n        <ModalImageZoom dadComponent={this} />\r\n        <ModalKit dadComponent={this} detalleKit={this.state.detalleKit} />\r\n        <ModalReemplazo\r\n          // {...dataReemplazo}\r\n          modal={dataReemplazo}\r\n          dadComponent={this}\r\n          reemplazo={productoReem}\r\n          auth={auth}\r\n        />\r\n      </div>\r\n    );\r\n  }\r\n\r\n  postEliminarBuscador = async (index) => {\r\n    let data = \"\";\r\n    let ind = 1;\r\n    var dataFilter = this.state.pedidoMasivo.filter(x => x.indice != index);\r\n    dataFilter.map((prod) => {\r\n      if (ind == dataFilter.length)\r\n        data = data + `${prod.matnr}|${prod.cantidad}`\r\n      else\r\n        data = data + `${prod.matnr}|${prod.cantidad}&`\r\n\r\n      ind++;\r\n    })\r\n\r\n    this.setState({\r\n      loading: true\r\n    })\r\n    BuscarPedidoMasivo(this.state.dealer, this.state.linea, this.state.asociado, this.state.page, data, false)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            pedidoMasivo: result.dto.repuestos,\r\n            alertas: result.dto.alertas\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n\r\n  addPedidos(carritoProdctos, setcarritoProdctos) {\r\n    this.setState({ loading: true });\r\n    const correoElectronico = this.state.dealer.correoElectronico\r\n    const codcliente = this.state.dealer.codcliente\r\n    const centro = this.state.linea.centro\r\n    const linea = this.state.linea.linea\r\n    const vkorg = this.state.linea.vkorg\r\n    const almacen = this.state.linea.almacen\r\n    const canal = this.state.linea.canal\r\n    const sector = this.state.linea.sector\r\n\r\n    let ListaProductos = [];\r\n    this.state.pedidoMasivo.filter(function (item) {\r\n      ListaProductos.push({\r\n        \"CorreoElectronicoDealer\": correoElectronico,\r\n        \"DispositivoDealer\": null,\r\n        \"Descripcion\": item.maktx,\r\n        \"CantidadOriginal\": item.cantidad,\r\n        \"Moneda\": item.waers,\r\n        \"Pantalla\": data.Pantalla.BuscarMasivo.Producto,\r\n        \"Sustituto\": null,\r\n        \"UnidadMedida\": item.meins,\r\n        \"PrecioFinal\": item.pfin,\r\n        \"Codigo\": item.matnr,\r\n        \"CodigoDealer\": codcliente,\r\n        \"Centro\": centro,\r\n        \"Linea\": linea,\r\n        \"Vkorg\": vkorg,\r\n        'Almacen': almacen,\r\n        'Canal': canal,\r\n        'Sector': sector\r\n      });\r\n    });\r\n\r\n    AgregarNuevoProductoPedidoMasivo(ListaProductos)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false });\r\n          // setcarritoProdctos(carritoProdctos + ListaProductos.length)\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          notificacion(\"Aviso\", \"Se agregaron productos al carrito\");\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Detalle Pedidos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postAgregarProductoFavorito = async (producto, AplicaFavorito, index) => {\r\n    console.log(producto);\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          let _data = this.state.pedidoMasivo\r\n          _data[index].favorito = !AplicaFavorito;\r\n          this.setState({\r\n            pedidoMasivo: _data\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postAgregarProductoReemplazoFavorito = async (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          // let _data = this.state.productoReem\r\n          let _dataReemplazo = this.state.dataReemplazo\r\n          let _data = _dataReemplazo.data\r\n          _data[index].favorito = !AplicaFavorito;\r\n          this.setState({\r\n            dataReemplazo: {\r\n              data: _data,\r\n              isVisible: _dataReemplazo.isVisible,\r\n              producto: _dataReemplazo.producto\r\n            }\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Reemplazo\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postBuscarKit = (dealer, linea, Matnr) => {\r\n    this.setState({ loading: true })\r\n    BuscarKit(dealer, linea, Matnr)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            detalleKit: result.dto.detalleKit,\r\n            loading: false,\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  setCounterReemplazo = (counter, tab, index) => {\r\n    let _data = this.state.dataReemplazo.data\r\n\r\n    let _isVisible = this.state.dataReemplazo.isVisible\r\n    let _producto = this.state.dataReemplazo.producto\r\n    if (counter == \"\") {\r\n      _data[index].cantidad = 0;\r\n      _data[index].precioTotal = 0;\r\n    } else {\r\n      _data[index].cantidad = counter;\r\n      _data[index].precioTotal = (counter * _data[index].pfin).toFixed(2);\r\n    }\r\n    this.setState({\r\n      dataReemplazo: {\r\n        data: _data,\r\n        isVisible: _isVisible,\r\n        producto: _producto\r\n      }\r\n    })\r\n  }\r\n  ejectarReemplazo = async () => {\r\n    let data = \"\";\r\n    let ind = 1;\r\n    let dataFilter = this.state.pedidoMasivo;\r\n    let productoReem = this.state.productoReem;\r\n    for (var i = 0; i < dataFilter.length; i++) {\r\n      if (productoReem.old != dataFilter[i].matnr)\r\n        data = data + `${dataFilter[i].matnr}|${dataFilter[i].cantidad}&`\r\n    }\r\n\r\n    data = data + `${productoReem.matnr}|${productoReem.cantidad}`\r\n    // dataFilter.map((prod) => {      \r\n    //   if (ind == dataFilter.length) {\r\n    //     if (productoReem.old == prod.matnr)\r\n    //       data = data + `${productoReem.matnr}|${productoReem.cantidad}`\r\n    //     else\r\n    //       data = data + `${prod.matnr}|${prod.cantidad}`\r\n    //   } else {\r\n    //     if (productoReem.old == prod.matnr)\r\n    //       data = data + `${productoReem.matnr}|${productoReem.cantidad}&`\r\n    //     else\r\n    //       data = data + `${prod.matnr}|${prod.cantidad}&`\r\n    //   }\r\n    //   ind++;\r\n    // })\r\n\r\n    console.log(\"data===>\", data, productoReem);\r\n    this.setState({\r\n      loading: true\r\n    })\r\n    BuscarPedidoMasivo(this.state.dealer, this.state.linea, this.state.asociado, this.state.page, data, false)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            pedidoMasivo: result.dto.repuestos,\r\n            alertas: result.dto.alertas,\r\n            dataReemplazo: {\r\n              data: [],\r\n              isVisible: false,\r\n              producto: null\r\n            }\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n\r\n  }\r\n  seleccionarReemplazo = async (value) => {\r\n\r\n    this.setState({\r\n      productoReem: { ...value, cantidadOriginal: 1, cantidad: 1 }\r\n    })\r\n  }\r\n  CerrarReemplazo = async () => {\r\n    this.setState({\r\n      dataReemplazo: {\r\n        data: [],\r\n        isVisible: false,\r\n        producto: null\r\n      },\r\n      productoReem: { cantidad: 0 }\r\n    })\r\n  }\r\n  setCounter = (counter, tab, index) => {\r\n    let _data = this.state.pedidoMasivo\r\n    if (counter == \"\") {\r\n      _data[index].cantidad = counter;\r\n    } else {\r\n      _data[index].cantidad = counter;\r\n    }\r\n\r\n    this.setState({\r\n      pedidoMasivo: _data\r\n    })\r\n\r\n  }\r\n\r\n  IrGeneradorPedidoMasivo = () => {\r\n    this.props.navigation.navigate('GenerarPedidoMasivo');\r\n  }\r\n  switchCards = () => {\r\n    this.setState(prevState => ({\r\n      showDetails: !prevState.showDetails\r\n    }));\r\n  }\r\n\r\n\r\n  MostrarReemplazo = async (prod) => {\r\n    this.setState({\r\n      loading: true\r\n    })\r\n    ListarMaterialSustituto(this.state.dealer, this.state.linea, this.state.asociado, prod.matnr, prod.cantidad)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          result.dto.maerialSustituto.map((item) => {\r\n            item.old = prod.matnr\r\n          })\r\n\r\n          this.setState({\r\n            loading: false,\r\n            dataReemplazo: {\r\n              data: result.dto.maerialSustituto,\r\n              isVisible: true,\r\n              producto: prod\r\n            }\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador Masivo\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n\r\n  }\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\r\nimport Slider from \"react-slick\";\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\nimport InnerImageZoom from 'react-inner-image-zoom';\r\nimport 'react-inner-image-zoom/lib/InnerImageZoom/styles.min.css';\r\n\r\nconst ModalImageZoom2 = (item) => {\r\n    const VISIBLE = item.dadComponent.state.modalZoom; \r\n    const TOGGLE_MODAL = item.dadComponent['toggleModalZoom'];\r\n    const IMAGE = item.dadComponent.state.imgZoom;\r\n    const listImgRepuestos = item.dadComponent.state.listImgZoom;\r\n    \r\n    const settings = {\r\n        dots: true,\r\n        infinite: true,\r\n        arrows: false,\r\n        speed: 500,\r\n        slidesToShow: 1,\r\n        slidesToScroll: 1\r\n    };\r\n\r\n    return (\r\n        <div>\r\n            <Modal isOpen={VISIBLE} toggle={TOGGLE_MODAL} className='modal_zoom' centered backdrop=\"static\">\r\n                <button className=\"btn-icon modal-close\" onClick={TOGGLE_MODAL}><SvgAssets icon=\"icon-close\" fill={c.celeste} /></button>\r\n                <Slider {...settings}>\r\n                    {\r\n                       (listImgRepuestos != null && listImgRepuestos.length && Array.isArray(listImgRepuestos) > 0) ? listImgRepuestos.map((data,index)=>{\r\n                           return(\r\n                            <div key={index}>\r\n                                <InnerImageZoom src={data} zoomSrc={data}/>\r\n                            </div>)\r\n                        }): \r\n                        (\r\n                            <div>\r\n                                <InnerImageZoom src={IMAGE} zoomSrc={IMAGE}/>\r\n                            </div>\r\n                        )\r\n                    }\r\n                </Slider>\r\n                \r\n            </Modal>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default ModalImageZoom2;","import React, { useState } from 'react';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\n\r\nfunction CardPrecioOferta(props) {\r\n\r\n    let getClassNameForPrice = (item, data) => {\r\n        if (item.codigo) {\r\n            switch (item.tipo) {\r\n                case data.PrecioOfe:\r\n                    return { color: '#fff' };\r\n                case data.PrecioFin:\r\n                    return { color: '#fff', fontFamily: 'gotham-bold', };\r\n                case data.PrecioPub:\r\n                    return { color: '#fff' };\r\n                default:\r\n                    return { color: '#fff' };\r\n            }\r\n        } else {\r\n            switch (item.tipo) {\r\n                case data.PrecioOfe:\r\n                    return { color: '#fff', };\r\n                case data.PrecioFin:\r\n                    return { color: '#fff', fontFamily: 'gotham-bold'};\r\n                case data.PrecioPub:\r\n                    return { color: '#fff', textDecorationLine: 'line-through', };\r\n                default:\r\n                    return { color: '#fff', };\r\n            }\r\n        }\r\n    }\r\n\r\n    return (\r\n        <div className={props.className}>\r\n            {props.data.map((item, index) => {\r\n                return (\r\n                    <span key={index} style={getClassNameForPrice(item, data)} >{item.precioStr}</span>\r\n                )\r\n            })}\r\n        </div>\r\n    );\r\n}\r\n\r\nexport default CardPrecioOferta;  ","import React, { Component } from 'react';\r\nimport { BrowserView, MobileView, isBrowser, isMobile } from \"react-device-detect\";\r\nimport { FormGroup, FormFeedback, Input, Button, ListGroupItem, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport { data } from '../../constants/Constants';\r\nimport color from '../../constants/Colors';\r\nimport { getDataFiltros } from '../../store/sagas/pedidoApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { BuscarCodigoDescripcionPrincipal, BuscarCodigoDescripcion, BuscarSistemaPrincipal, BuscarSistema, BuscarKit } from '../../store/sagas/pedidoApi';\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport { AgregarProductoPedido } from '../../store/sagas/carritoApi';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport Slider from \"react-slick\";\r\nimport Pagination from '../reusable/Pagination'\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport CounterInput from '../reusable/CounterInput';\r\nimport ModalAddCart from \"../reusable/modals/AddCart\";\r\nimport ModalImageZoom2 from '../reusable/modals/ImageZoom2';\r\nimport ModalKit from '../reusable/modals/kit';\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\nimport BtnCompatible from '../reusable/BtnCompatible';\r\nimport CardPrecios from '../reusable/CardPrecios';\r\nimport CardPrecioOferta from '../reusable/CardPrecioOferta';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport ModalCompatible from '../reusable/modals/Compatible';\r\n\r\nconst CardResultado = ({ item, auth, event, eventCounter, eventFavorito, zoom, kit, compatible }) => {\r\n  console.log(\"CardResultado==>\", item);\r\n  return (\r\n    <div className=\"card_product_horizontal\">\r\n      <div className=\"cphLeftImage\">\r\n        {(item.modelos.length > 0) ?\r\n          <button className='btn-icon'\r\n            style={{ position: 'absolute', left: 6, top: 6 }}\r\n            type=\"button\"\r\n            onClick={() => compatible(item.modelos)}\r\n          >\r\n            <SvgAssets icon=\"icon-compatible\" fill={color.azulClaro} />\r\n          </button> : null}\r\n        <div style={{ cursor: 'pointer', margin: 'auto' }} onClick={() => zoom(item.fotos)}>\r\n          <img src={item.pathImage} />\r\n        </div>\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        <h6 className=\"paragraph-2 bold morado mb-1\" style={{ wordBreak: 'break-word' }}>{item.maktx}</h6>\r\n        <span className=\"paragraph-3 light mb-3\" style={{ color: color.grisOscuro }}>SKU: {item.matnr}</span>\r\n        {/* <span className=\"paragraph-3 previousPrice\" style={{ color: color.grisOscuro }}>{item.precioPublico}</span>\r\n        <strong className=\"paragraph-3 bold naranja\">{item.precioPVD}</strong>\r\n        <span className=\"paragraph-3\">{item.precioPVP}</span> */}\r\n        <CardPrecios data={item.precios} escalas={item.escalas} cantidad={item.cantidad} className=\"cardPrice\" />\r\n        <div className=\"options\">\r\n\r\n          {item.flagKit ? (\r\n            <button className='btn-icon' onClick={() => kit(item.matnr, item.maktx)}>\r\n              <SvgAssets icon=\"icon-kit\" fill={'#ED7F9A'} />\r\n            </button>\r\n          ) : (\r\n            <>\r\n              {/* <BtnCompatible IdInput={item.idInput} texto={item.mensajeCompatible} /> */}\r\n              <button className='btn-icon'\r\n                type=\"button\"\r\n                onClick={() => eventFavorito({\r\n                  codigo: item.matnr, descripcion: item.maktx,\r\n                  moneda: item.waers, pantalla: data.Pantalla.BuscarPedidoCodigo.Producto\r\n                }, item.favorito, item.indice)}\r\n              >\r\n                <SvgAssets icon=\"icon-star\" fill={item.favorito ? color.amarillo : color.celeste} />\r\n              </button>\r\n            </>\r\n          )}\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: color.morado, justifyContent: 'space-between' }}>\r\n        <CounterInput\r\n          IdInput={item.idInput}\r\n          vertical\r\n          background={color.morado}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n        <button\r\n          className=\"btn-icon mt-3\"\r\n          disabled={item.cantidad == 0}\r\n          onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n            codigo: item.matnr,\r\n            descripcion: item.maktx,\r\n            precioOferta: item.poferta,\r\n            precioPublico: item.plista,\r\n            precioFinal: item.pFinal,\r\n            unidadMedida: item.meins,\r\n            precioPVD: item.precioPVD,\r\n            precioPVP: item.precioPVP,\r\n            precioPublico: item.precioPublico,\r\n            moneda: item.waers,\r\n            pathI: item.pathImage,\r\n            precios: item.precios,\r\n            cantidadOriginal: item.cantidad,\r\n            cantidad: item.cantidad,\r\n            pantalla: data.Pantalla.BuscarPedidoCodigo.Producto,\r\n            indice: item.indice,\r\n            flagKit: item.flagKit,\r\n            escalas: item.escalas\r\n          })}\r\n          type=\"button\"\r\n        >\r\n          <SvgAssets icon=\"icon-add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst CardRepuestos = ({ item, event, zoom }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal card_repuesto\">\r\n      <div className=\"cphLeftImage\">\r\n        <div style={{ cursor: 'pointer' }} onClick={() => zoom(item.linkimg)}>\r\n          <img src={item.linkimg} />\r\n        </div>\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        <h6 className=\"paragraph-2 bold verde mb-1\">{item.sistemaweb}</h6>\r\n        {/* <Link to=\"/repuestos\" style={{textDecoration:'none'}}> */}\r\n        <button\r\n          className=\"btn-small\"\r\n          type=\"button\"\r\n          onClick={() => { event(item) }}\r\n        ><SvgAssets icon=\"icon-list\" fill=\"#fff\" />Ver repuestos</button>\r\n        {/* </Link> */}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst ProductoDestacado = ({ item, index, event, eventCounter, eventFavorito, auth, zoom, tipoBuscador, compatible }) => {\r\n\r\n  return (\r\n    <div className=\"card_product_vertical\">\r\n      <div style={{ cursor: 'pointer' }} onClick={() => zoom(item.fotos)}>\r\n        <img className=\"product-img\" src={item.pathI} />\r\n      </div>\r\n      <h6 className=\"paragraph-2 bold azul\">{item.maktx}</h6>\r\n      <span className=\"paragraph-3 sku\">SKU: {item.matnr}</span>\r\n      <div>\r\n        {/* <span className=\"paragraph-3 previousPrice\">{item.precioPublico}</span>\r\n        <span className=\"paragraph-3 bold\" style={{ color: color.naranja }}>{item.precioPVD}</span>\r\n        <span className=\"paragraph-3\">{item.precioPVP}</span> */}\r\n        <CardPrecios data={item.precios} escalas={item.escalas} cantidad={item.cantidad} className=\"cardPrice\" />\r\n      </div>\r\n      <div className=\"counter\">\r\n        <CounterInput\r\n          IdInput={item.idInput}\r\n          background={\"#fff\"}\r\n          color={\"#316ACD\"}\r\n          borderColor={\"#E2E2E2\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n      </div>\r\n      <div className=\"options\">\r\n        {tipoBuscador == 1 ?\r\n          <BtnCompatible IdInput={item.indice} texto={item.mensajeCompatible} backgroundColor={color.azulClaro} color={'#fff'} />\r\n          // <button className='btn-icon'\r\n          //   type=\"button\"\r\n          //   onClick={() => compatible(item.mensajeCompatible)}\r\n          // >\r\n          //   <SvgAssets icon=\"icon-compatible\" fill={color.azulClaro} />\r\n          // </button>\r\n          : null}\r\n        <button className=\"btn-icon\"\r\n          type=\"button\"\r\n          onClick={() => eventFavorito({\r\n            codigo: item.matnr, descripcion: item.maktx,\r\n            moneda: item.waers, pantalla: data.Pantalla.BuscarPedidoCodigo.Destacado\r\n          }, item.favorito, item.indice)}\r\n        >\r\n          <SvgAssets icon=\"icon-star\" fill={item.favorito ? color.amarillo : color.celeste} />\r\n        </button>\r\n        <button className={`btn-icon${(item.cantidad == 0 ? \" disabled\" : \"\")}`}\r\n          disabled={item.cantidad == 0}\r\n          onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n            codigo: item.matnr,\r\n            descripcion: item.maktx,\r\n            precioOferta: item.poferta,\r\n            precioPublico: item.plista,\r\n            precioFinal: item.pfinal,\r\n            unidadMedida: item.meins,\r\n            precioPVD: item.precioPVD,\r\n            precioPVP: item.precioPVP,\r\n            precioPublico: item.precioPublico,\r\n            moneda: item.waers,\r\n            pathI: item.pathI,\r\n            precios: item.precios,\r\n            cantidadOriginal: item.cantidad,\r\n            cantidad: item.cantidad,\r\n            pantalla: data.Pantalla.BuscarPedidoCodigo.Destacado,\r\n            indice: item.indice,\r\n            escalas: item.escalas\r\n          })}\r\n          type=\"button\"\r\n\r\n        >\r\n          <SvgAssets icon=\"icon-add-cart\" className=\"add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst ProductoVendido = ({ item, index, event, eventCounter, eventFavorito, auth, zoom }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal gradient_blue\" style={{ filter: 'none' }}>\r\n      <div className=\"cphLeftImage\">\r\n        <div style={{ cursor: 'pointer' }} onClick={() => zoom(item.pathI)}>\r\n          <img src={item.pathI} />\r\n        </div>\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        <h6 className=\"paragraph-2 bold mb-1\" style={{ color: '#fff' }}>{item.maktx}</h6>\r\n        <span className=\"paragraph-3 mb-3 light\" style={{ color: '#fff' }}>SKU: {item.matnr}</span>\r\n        {/* <span className=\"paragraph-3 previousPrice\" style={{ color: '#fff' }}>{item.precioPublico}</span>\r\n        <strong className=\"paragraph-3 bold naranja\">{item.precioPVD}</strong>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>{item.precioPVP}</span> */}\r\n        <CardPrecioOferta data={item.precios} className=\"cardPrice\" />\r\n        <div className=\"text-left mt-2\">\r\n          <button className='btn-icon' type=\"button\"\r\n            onClick={() => eventFavorito({\r\n              codigo: item.matnr, descripcion: item.maktx,\r\n              moneda: item.waers, pantalla: data.Pantalla.BuscarPedidoCodigo.Vendido\r\n            }, item.favorito, item.indice)}>\r\n            <SvgAssets icon=\"icon-star\" fill={item.favorito ? color.amarillo : color.celeste} />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: color.azulClaro, justifyContent: 'space-between' }}>\r\n        <CounterInput\r\n          IdInput={item.idInput}\r\n          vertical\r\n          background={color.azulClaro}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n        <button className={`mt-3 btn-icon${(item.cantidad == 0 ? \" disabled\" : \"\")}`}\r\n          disabled={item.cantidad == 0}\r\n          onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n            codigo: item.matnr,\r\n            descripcion: item.maktx,\r\n            precioOferta: item.pOfe,\r\n            precioPublico: item.pPub,\r\n            precioFinal: item.pFin,\r\n            precioPVD: item.precioPVD,\r\n            precioPVP: item.precioPVP,\r\n            precioPublico: item.precioPublico,\r\n            unidadMedida: item.meins,\r\n            moneda: item.waers,\r\n            cantidadOriginal: item.cantidad,\r\n            cantidad: item.cantidad,\r\n            pantalla: data.Pantalla.BuscarPedidoCodigo.Vendido,\r\n            precios: item.precios,\r\n            pathI: item.pathI,\r\n            indice: item.indice,\r\n            escalas: item.escalas\r\n          })}\r\n          type=\"button\">\r\n          <SvgAssets icon=\"icon-add-cart\" className=\"add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class GenerarPedido extends Component {\r\n  static displayName = GenerarPedido.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      isMobile: isMobile,\r\n      isSearch: false,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      tipoBuscador: 1,\r\n      isEditable: true,\r\n      loading: false,\r\n      filtroAnio: [],\r\n      filtroModelo: [],\r\n      filtroVehiculo: [],\r\n      selectedAnioValue: '',\r\n      selectedModeloValue: '',\r\n      selectedVehiculoValue: '',\r\n      textBuscador: '',\r\n      textBuscadorOri: '',\r\n      dataResult: { repuestos: [], destacados: [], vendidos: [], detalleKit: [] },\r\n      titulo: '',\r\n      pdf: '',\r\n      page: 1,\r\n      size: data.PageSizeVehiculos,\r\n      currentPage: 1,\r\n      errorCodigo: false,\r\n      errorVehiculo: false,\r\n      addToCart: false,\r\n      dataToCard: {},\r\n      modalZoom: false,\r\n      modalKit: false,\r\n      modalCompatible: false,\r\n      mensajeCompatible: '',\r\n      imgZoom: \"\",\r\n      listImgZoom: [],\r\n      listImgZoom: [],\r\n      params: {},\r\n      kit: '',\r\n      dataCompatible: [],\r\n    };\r\n  }\r\n\r\n  showModalCart = () => {\r\n    this.setState(prevState => ({\r\n      addToCart: !prevState.addToCart\r\n    }));\r\n  }\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: Array.isArray(img) ? \"\" : img,\r\n      listImgZoom: Array.isArray(img) ? img : [],\r\n    }));\r\n  }\r\n  toggleModalCompatible = (texto) => {\r\n    this.setState(prevState => ({\r\n      modalCompatible: !prevState.modalCompatible,\r\n      dataCompatible: texto ?? []\r\n    }));\r\n  }\r\n  toggleModalKit = (matnr, maktx) => {\r\n    this.setState(prevState => ({\r\n      modalKit: !this.state.modalKit,\r\n    }));\r\n    if (!this.state.modalKit) {\r\n      this.setState(prevState => ({\r\n        kit: maktx,\r\n      }));\r\n      this.postBuscarKit(this.state.dealer, this.state.linea, matnr)\r\n    }\r\n  }\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: true }, () => {\r\n      setTimeout(() => {\r\n        this.setState({ loading: false })\r\n        this.props.history.push('/carrito');\r\n      }, 1000);\r\n    });\r\n  }\r\n\r\n  loadInBrowser = () => {\r\n    window.open(this.state.pdf, \"_blank\");\r\n  };\r\n\r\n\r\n  checkParams(fn = () => { }) {\r\n    const { state } = this.props.location;\r\n    let parametro = null;\r\n    if (state) {\r\n      parametro = state.datosBuscador;\r\n    }\r\n    console.log(\"checkParams con data===>\", parametro);\r\n    this.setState({\r\n      params: parametro\r\n    }, fn)\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      this.checkParams(() => {\r\n        let result = localStorageCustom.prototype.getUsuario();\r\n        this.setState({ dealer: result.dealer, linea: result.linea, asociado: result.asociado },\r\n          () => {\r\n\r\n            this.getAnios(data.FiltroPedito.ComboAnio);\r\n            if (this.state.params) {\r\n              this.setState({\r\n                isSearch: true,\r\n                tipoBuscador: 2,\r\n                selectedAnioValue: this.state.params.selectedAnioValue,\r\n                selectedModeloValue: this.state.params.selectedModeloValue,\r\n                selectedVehiculoValue: this.state.params.selectedVehiculoValue\r\n              },\r\n                () => {\r\n\r\n                  this.getFiltros(data.FiltroPedito.ComboModelo, this.state.params.selectedAnioValue);\r\n                  this.getFiltros(data.FiltroPedito.ComboVehiculo, this.state.params.selectedAnioValue, this.state.params.selectedModeloValue, true);\r\n\r\n\r\n\r\n                })\r\n            }\r\n          });\r\n      });\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n\r\n  render() {\r\n    const { isMobile, isSearch, errorCodigo, errorVehiculo, textBuscador, tipoBuscador, isEditable, loading, filtroAnio, filtroModelo, filtroVehiculo, selectedAnioValue, selectedModeloValue, selectedVehiculoValue, dataResult, page, currentPage, size, titulo } = this.state;\r\n    const navigation = this.props.navigation;\r\n    const colorEditable = isEditable ? color.verdeClaro : color.celeste;\r\n    const auth = this.context;\r\n\r\n    var slider_destacados = {\r\n      dots: false,\r\n      infinite: false,\r\n      arrows: false,\r\n      speed: 500,\r\n      slidesToShow: 4,\r\n      // slidesToScroll: 1,\r\n      // variableWidth: true\r\n    };\r\n    var slider_vendidos = {\r\n      dots: false,\r\n      infinite: false,\r\n      arrows: false,\r\n      speed: 500,\r\n      slidesToShow: 2,\r\n      slidesToScroll: 1,\r\n      variableWidth: true\r\n    };\r\n\r\n    let component = (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Generar pedido </h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Pedidos</li>\r\n              <li>Generar Pedido</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <div className=\"container_whit_menu\">\r\n          <div className=\"container_left\">\r\n            <div className=\"card_busqueda_pedido\">\r\n              <div className=\"textContent\">\r\n                <h6 className=\"paragraph-2 morado bold\"><SvgAssets icon=\"icon-codigo\" fill={color.morado} />Buscador por Producto</h6>\r\n                <p>Esta opción te permitirá realizar búsquedas de repuestos por código o descripción.</p>\r\n              </div>\r\n              <form className=\"busqueda-pedido\">\r\n                <FormGroup className=\"mb-0\">\r\n                  <Input type=\"text\" name=\"descripcion\" placeholder=\"SKU o Descripción\" className={`morado${errorCodigo ? \" ph-error\" : \"\"}`} value={textBuscador} onChange={(textBuscador) => this.setText(textBuscador)}\r\n                    onKeyPress={(e) => { if (e.which == 13 || e.which == 10) e.preventDefault(); }}\r\n                    onKeyUp={(e) => { if (e.keyCode == 13 || e.keyCode == 10) { e.preventDefault(); this.IrBuscar(1, isMobile); } }}\r\n                  />\r\n                  <button type=\"button\" className='btn-icon rounded' style={{ backgroundColor: color.morado }} onClick={() => { this.IrBuscar(1, isMobile) }}>\r\n                    <SvgAssets icon=\"icon-lupa\" fill=\"#fff\" />\r\n                  </button>\r\n                </FormGroup>\r\n                {(errorCodigo) ? <FormFeedback>Debe incluir al menos 5 caracteres, si requiere puede completar dicha cantidad colocando <span className=\"bold\">espacios en blanco</span> al final</FormFeedback> : null}\r\n              </form>\r\n            </div>\r\n            <div className=\"card_busqueda_pedido\">\r\n              <div className=\"textContent\">\r\n                <h6 className=\"paragraph-2 verde bold\"><SvgAssets icon=\"icon-moto\" fill={color.verdeClaro} />Buscador por Vehículo</h6>\r\n                <p>Esta opción te permitirá realizar búsquedas de repuestos por vehículo.</p>\r\n              </div>\r\n              <form className=\"busqueda-pedido\">\r\n                <FormGroup>\r\n                  <Input\r\n                    type=\"select\"\r\n                    name=\"select\"\r\n                    className=\"verde\"\r\n                    style={{ flex: 0.5 }}\r\n                    value={selectedAnioValue}\r\n                    onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.FiltroPedito.ComboAnio)}\r\n                  >\r\n                    <option>Año</option>\r\n                    {(filtroAnio.length > 0) ? filtroAnio.map((data, index) => {\r\n                      return (\r\n                        <option key={index + 1} value={data.id}>{data.descripcion}</option>\r\n                      )\r\n                    }) : null}\r\n                  </Input>\r\n                  <Input\r\n                    type=\"select\"\r\n                    name=\"select\"\r\n                    className=\"verde ml-2\"\r\n                    value={selectedModeloValue}\r\n                    onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.FiltroPedito.ComboModelo)}>\r\n                    <option>Modelo</option>\r\n                    {(filtroModelo.length > 0) ? filtroModelo.map((data, index) => {\r\n                      return (\r\n                        <option key={index + 1} value={data.id}>{data.descripcion}</option>\r\n                      )\r\n                    }) : null}\r\n                  </Input>\r\n                </FormGroup>\r\n                <FormGroup className=\"mb-0\">\r\n                  <Input\r\n                    type=\"select\"\r\n                    name=\"select\"\r\n                    className=\"verde\"\r\n                    value={selectedVehiculoValue}\r\n                    onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.FiltroPedito.ComboVehiculo)}>\r\n                    <option>Vehículo</option>\r\n                    {(filtroVehiculo.length > 0) ? filtroVehiculo.map((data, index) => {\r\n                      return (\r\n                        <option key={index + 1} value={data.descripcion} >{data.descripcion}</option>\r\n                      )\r\n                    }) : null}\r\n                  </Input>\r\n                  <button type=\"button\" className='btn-icon rounded' style={{ backgroundColor: color.verdeClaro }} onClick={() => { this.IrBuscar(2, isMobile) }}>\r\n                    <SvgAssets icon=\"icon-lupa\" fill=\"#fff\" />\r\n                  </button>\r\n                </FormGroup>\r\n                {(errorVehiculo) ? <FormFeedback>Debe seleccionar el año, modelo y vehículo</FormFeedback> : null}\r\n              </form>\r\n            </div>\r\n            <Link className='btn-block bg_transparent' to=\"/pedido-sugerido\">PEDIDO SUGERIDO</Link>\r\n            <Link className='btn-block bg_transparent' to=\"/pre-pedidos\">PRE-PEDIDO<br />(Pasar Pre-Pedido)</Link>\r\n            <Link className='btn-block bg_transparent'\r\n              to={\r\n                {\r\n                  pathname: \"/historial-pedidos\",\r\n                  state: { estad: null }\r\n                }\r\n              }\r\n              style={{ backgroundColor: color.azulClaro, color: '#fff' }}>\r\n              REPETIR PEDIDO ANTERIOR\r\n            </Link>\r\n          </div>\r\n          <div className=\"container_right\">\r\n            {isSearch == true ?\r\n              <div>\r\n                {tipoBuscador == 2 ?\r\n                  <div className=\"manual\">\r\n                    <h6 className=\"title verde mb-0\">{titulo}</h6>\r\n                    <button\r\n                      className=\"btn-small\"\r\n                      type=\"button\"\r\n                      onClick={() => { this.loadInBrowser() }}\r\n                    >\r\n                      <SvgAssets icon=\"icon-download-file\" fill={color.naranja} />Descargar manual\r\n                    </button>\r\n                  </div>\r\n                  : <h6 className=\"title desktop_parrafo1 morado\">\r\n                    Resultado obtenido:\r\n                    <TooltipLeyenda\r\n                      color={color.azulClaro}\r\n                      style={{ position: 'absolute', right: 50, top: -2 }}\r\n                    />\r\n                  </h6>\r\n                }\r\n\r\n              </div>\r\n              : null}\r\n            {\r\n              isSearch == true ?\r\n                <div className=\"resultados cards-wrap\">\r\n                  {dataResult.repuestos?.length == 0 ?\r\n                    <p className=\"error-1 container\" style={{ color: color.rojoClaro }}>No se han encontrado resultados, por favor intente nuevamente</p>\r\n                    :\r\n                    dataResult.repuestos.map((item, index) => {\r\n                      let card = (\r\n                        <CardResultado\r\n                          key={index}\r\n                          item={item}\r\n                          event={this.postAgregarProductoPedido}\r\n                          eventCounter={this.setCounter}\r\n                          eventFavorito={this.postAgregarProductoFavorito}\r\n                          auth={auth}\r\n                          zoom={this.toggleModalZoom}\r\n                          kit={this.toggleModalKit}\r\n                          compatible={this.toggleModalCompatible} />\r\n                      );\r\n\r\n                      if (tipoBuscador == 2) {\r\n                        card = (\r\n                          <CardRepuestos\r\n                            key={index}\r\n                            item={item}\r\n                            event={this.loadIrRepuestos}\r\n                            zoom={this.toggleModalZoom}\r\n                          // eventCounter={dadComponent.setCounter} \r\n                          />\r\n                        )\r\n                      }\r\n\r\n                      return card;\r\n                    })\r\n                  }\r\n                </div>\r\n                : null}\r\n            {(dataResult.repuestos.length > 0) ? <Pagination event={tipoBuscador == 1 ? this.setPageDescripcion : this.setPageVehiculo} current={page} currentPage={currentPage} totalPage={dataResult.repuestos[0].totalPage} size={data.PageSizePaginator} /> : null}\r\n            {\r\n              dataResult != null ?\r\n                dataResult.destacados != null ?\r\n                  dataResult.destacados.length > 0 ?\r\n                    <section className=\"productos_destacados\">\r\n                      <SvgAssets icon=\"curve-bottom\" className='curve-top' fill=\"#fff\" />\r\n                      <h6 className=\"title desktop_parrafo1\" style={{ color: '#fff' }}>Productos destacados {dataResult.destacados.length}<TooltipLeyenda color={'#fff'} style={{ position: 'absolute', right: 0, top: -2 }} /></h6>\r\n                      <Slider ref={c => (this.SLIDER_DESTACADOS = c)} {...slider_destacados}>\r\n                        {\r\n                          dataResult.destacados.map((carousel, index) => {\r\n                            return (\r\n                              <ProductoDestacado key={index} item={carousel} index={index} event={this.postAgregarProductoPedido} eventCounter={this.setCounter} eventFavorito={this.postAgregarProductoFavorito} auth={auth} zoom={this.toggleModalZoom} tipoBuscador={tipoBuscador} compatible={this.toggleModalCompatible} />\r\n                            )\r\n                          })\r\n                        }\r\n                      </Slider>\r\n                      <div className=\"arrows-slider\">\r\n                        <button className=\"btn-icon\" onClick={() => this.SLIDER_DESTACADOS.slickPrev()}><SvgAssets icon=\"icon-left\" fill='#fff' /></button>\r\n                        <button className=\"btn-icon\" onClick={() => this.SLIDER_DESTACADOS.slickNext()}><SvgAssets icon=\"icon-right\" fill='#fff' /></button>\r\n                      </div>\r\n                      <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n                    </section>\r\n                    : null\r\n                  : null\r\n                : null\r\n            }\r\n            {\r\n              dataResult != null ?\r\n                dataResult.vendidos != null ?\r\n                  dataResult.vendidos.length > 0 ?\r\n                    <section className=\"productos_vendidos\">\r\n                      <h6 className=\"title desktop_parrafo1\" style={{ color: color.rojoClaro }}>Los Productos más comprados<TooltipLeyenda color={color.azulClaro} style={{ position: 'absolute', right: 0, top: -2 }} /></h6>\r\n                      <Slider ref={c => (this.SLIDER_COMPRADOS = c)} {...slider_vendidos} className=\"dots_blue\">\r\n                        {\r\n                          dataResult.vendidos.map((carousel, index) => {\r\n                            return (\r\n                              <ProductoVendido key={index} item={carousel} index={index} event={this.postAgregarProductoPedido} eventCounter={this.setCounter} eventFavorito={this.postAgregarProductoFavorito} auth={auth} zoom={this.toggleModalZoom} />\r\n                            )\r\n                          })\r\n                        }\r\n                      </Slider>\r\n                      <div className=\"arrows-slider\">\r\n                        <button className=\"btn-icon\" onClick={() => this.SLIDER_COMPRADOS.slickPrev()}><SvgAssets icon=\"icon-left\" fill={color.azulClaro} /></button>\r\n                        <button className=\"btn-icon\" onClick={() => this.SLIDER_COMPRADOS.slickNext()}><SvgAssets icon=\"icon-right\" fill={color.azulClaro} /></button>\r\n                      </div>\r\n                    </section>\r\n                    : null\r\n                  : null\r\n                : null\r\n            }\r\n          </div>\r\n        </div>\r\n        <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n        <ModalImageZoom2 dadComponent={this} />\r\n        <ModalKit dadComponent={this} detalleKit={this.state.dataResult.detalleKit} />\r\n        <ModalCompatible dadComponent={this} texto={this.state.mensajeCompatible} />\r\n      </div>\r\n    );\r\n\r\n    if (isMobile) {\r\n      component = (\r\n        <Container className=\"py-5\">\r\n          <Spinner visible={loading} />\r\n          <h6 className=\"title white\">Generar pedido</h6>\r\n          <div className=\"card_busqueda_pedido\">\r\n            <div className=\"textContent\">\r\n              <div className=\"custom-control custom-radio custom-control-inline terminos\">\r\n                <input\r\n                  type=\"radio\"\r\n                  id=\"radio1\"\r\n                  name=\"radio_ln\"\r\n                  className=\"custom-control-input\"\r\n                  checked={tipoBuscador == 1}\r\n                  onChange={() => this.seleccionarBuscador(1)}\r\n                />\r\n                <label className=\"custom-control-label naranja\" htmlFor=\"radio1\"></label>\r\n              </div>\r\n              <div>\r\n                <h6 className=\"paragraph-2 morado bold\">Buscador por Código</h6>\r\n                <p>Esta opción te permitirá realizar búsquedas de repuestos por código o descripción.</p>\r\n              </div>\r\n              <SvgAssets icon=\"icon-codigo\" fill={color.morado} />\r\n            </div>\r\n            <form className=\"busqueda-pedido\" style={{ backgroundColor: color.morado }}>\r\n              <SvgAssets icon=\"curve-top\" className='curve-top' fill={color.morado} />\r\n              <FormGroup className=\"mb-0\">\r\n                <Input type=\"text\" name=\"descripcion\" placeholder=\"SKU o Descripción\" className=\"morado\"\r\n                  readOnly={!(tipoBuscador == 1)}\r\n                  value={textBuscador}\r\n                  onChange={(textBuscador) => this.setText(textBuscador)}\r\n                  onKeyPress={(e) => { if (e.which == 13 || e.which == 10) e.preventDefault(); }}\r\n                  onKeyUp={(e) => { if (e.keyCode == 13 || e.keyCode == 10) { e.preventDefault(); this.IrBuscar(1, isMobile); } }}\r\n                />\r\n                {/* <Link to=\"/buscador-codigo\" style={{ textDecoration: 'none' }}> */}\r\n                <button\r\n                  type=\"button\"\r\n                  className='btn-icon rounded mt-0'\r\n                  onClick={() => { this.IrBuscar(1, isMobile) }}\r\n                  disabled={tipoBuscador != 1}>\r\n                  <SvgAssets icon=\"icon-lupa\" fill=\"#fff\" />\r\n                </button>\r\n                {/* </Link> */}\r\n              </FormGroup>\r\n              {(errorCodigo) ? <FormFeedback style={{ color: '#fff' }}>Debe incluir al menos 5 caracteres, si requiere puede completar dicha cantidad colocando <span className=\"bold\">espacios en blanco</span> al final</FormFeedback> : null}\r\n            </form>\r\n          </div>\r\n          <div className=\"card_busqueda_pedido\">\r\n            <div className=\"textContent\">\r\n              <div className=\"custom-control custom-radio custom-control-inline terminos\">\r\n                <input\r\n                  type=\"radio\"\r\n                  id=\"radio2\"\r\n                  name=\"radio_ln\"\r\n                  className=\"custom-control-input\"\r\n                  checked={tipoBuscador == 2}\r\n                  onChange={() => this.seleccionarBuscador(2)}\r\n                />\r\n                <label className=\"custom-control-label naranja\" htmlFor=\"radio2\"></label>\r\n              </div>\r\n              <div>\r\n                <h6 className=\"paragraph-2 verde bold\">Buscador por Vehículo</h6>\r\n                <p>Esta opción te permitirá realizar búsquedas de repuestos por vehículo.</p>\r\n              </div>\r\n              <SvgAssets icon=\"icon-moto\" fill={color.verdeClaro} />\r\n            </div>\r\n            <form className=\"busqueda-pedido\" style={{ backgroundColor: color.verdeClaro }}>\r\n              <SvgAssets icon=\"curve-top\" className='curve-top' fill={color.verdeClaro} />\r\n              <FormGroup>\r\n                <Input\r\n                  type=\"select\"\r\n                  name=\"select\"\r\n                  className=\"verde\"\r\n                  style={{ flex: 0.5 }}\r\n                  disabled={tipoBuscador == 1}\r\n                  value={selectedAnioValue}\r\n                  onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.FiltroPedito.ComboAnio)}\r\n                >\r\n                  <option>Año</option>\r\n                  {(filtroAnio.length > 0) ? filtroAnio.map((data, index) => {\r\n                    return (\r\n                      <option key={index + 1} value={data.id}>{data.descripcion}</option>\r\n                    )\r\n                  }) : null}\r\n                </Input>\r\n                <Input\r\n                  type=\"select\"\r\n                  name=\"select\"\r\n                  className=\"verde ml-2\"\r\n                  disabled={tipoBuscador != 2}\r\n                  value={selectedModeloValue}\r\n                  onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.FiltroPedito.ComboModelo)}>\r\n                  <option>Modelo</option>\r\n                  {(filtroModelo.length > 0) ? filtroModelo.map((data, index) => {\r\n                    return (\r\n                      <option key={index + 1} value={data.id}>{data.descripcion}</option>\r\n                    )\r\n                  }) : null}\r\n                </Input>\r\n              </FormGroup>\r\n              <FormGroup className=\"mb-0\">\r\n                <Input\r\n                  type=\"select\"\r\n                  name=\"select\"\r\n                  className=\"verde\"\r\n                  disabled={tipoBuscador != 2}\r\n                  value={selectedVehiculoValue}\r\n                  onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.FiltroPedito.ComboVehiculo)}>\r\n                  <option>Vehículo</option>\r\n                  {(filtroVehiculo.length > 0) ? filtroVehiculo.map((data, index) => {\r\n                    return (\r\n                      <option key={index + 1} value={data.descripcion} >{data.descripcion}</option>\r\n                    )\r\n                  }) : null}\r\n                </Input>\r\n                {/* <Link to=\"/buscador-vehiculo\" style={{ textDecoration: 'none' }}> */}\r\n                <button className='btn-icon rounded'\r\n                  type=\"button\"\r\n                  onClick={() => { this.IrBuscar(2, isMobile) }}\r\n                  disabled={tipoBuscador != 2}>\r\n                  <SvgAssets icon=\"icon-lupa\" fill=\"#fff\" />\r\n                </button>\r\n                {/* </Link> */}\r\n              </FormGroup>\r\n              {(errorVehiculo) ? <p className=\"text-danger\">Debe seleccionar el año, modelo y vehículo</p> : null}\r\n            </form>\r\n          </div>\r\n          <Link className='btn-block bg_transparent' to=\"/pedido-sugerido\">PEDIDO SUGERIDO</Link>\r\n          <Link className='btn-block bg_transparent' to=\"/pre-pedidos\">PRE-PEDIDO<br />(Pasar Pre-Pedido)</Link>\r\n          <Link className='btn-block bg_transparent' to={\r\n            {\r\n              pathname: \"/historial-pedidos\",\r\n              state: { estad: null }\r\n            }\r\n          }>\r\n            REPETIR PEDIDO ANTERIOR\r\n          </Link>\r\n          {/* <button className='btn-block bg_transparent'>PEDIDO SUGERIDO</button>\r\n        <button className='btn-block bg_transparent'>PRE-PEDIDO<br />(Pasar Pre-Pedido)</button>\r\n        <button className='btn-block bg_transparent'>REPETIR PEDIDO ANTERIOR</button> */}\r\n          <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n        </Container>\r\n      )\r\n    }\r\n\r\n    return component;\r\n  }\r\n\r\n  setText(e) {\r\n    let value = e.currentTarget.value;\r\n    // this.setState({ errorCodigo: false, errorVehiculo: false, textBuscador: value, filtroAnio: [], filtroModelo: [], filtroVehiculo: [] })\r\n    this.setState({ errorCodigo: false, errorVehiculo: false, textBuscador: value })\r\n  }\r\n\r\n  IrBuscar(value, isMobile) {\r\n    let datosBuscador = {}\r\n\r\n    this.setState({ loading: true, isSearch: false, tipoBuscador: value, dataResult: { repuestos: [], destacados: [], vendidos: [] }, page: 1, currentPage: 1 });\r\n\r\n    if (value == 1) {\r\n      let errorCodigo = (this.state.textBuscador == null || this.state.textBuscador.length < data.BuscadorCodigoLongitud);\r\n      this.setState({\r\n        errorCodigo: errorCodigo,\r\n        errorVehiculo: false,\r\n        selectedAnioValue: \"\",\r\n        selectedModeloValue: \"\",\r\n        selectedVehiculoValue: \"\",\r\n        loading: false,\r\n        params: {},\r\n      })\r\n      if (!errorCodigo) {\r\n        datosBuscador = {\r\n          text: this.state.textBuscador,\r\n        }\r\n\r\n        if (isMobile) {\r\n          this.props.history.push({\r\n            pathname: '/buscador-codigo',\r\n            state: {\r\n              datosBuscador\r\n            }\r\n          });\r\n        }\r\n        else {\r\n          this.postBuscarCodigoDescripcionPrincipal(this.state.dealer, this.state.linea, this.state.asociado, this.state.textBuscador, 1);\r\n        }\r\n      }\r\n    } else {\r\n\r\n      if (this.state.selectedAnioValue == null || this.state.selectedAnioValue == \"\" ||\r\n        this.state.selectedModeloValue == null || this.state.selectedModeloValue == \"\" ||\r\n        this.state.selectedVehiculoValue == null || this.state.selectedVehiculoValue == \"\") {\r\n        this.setState({\r\n          errorCodigo: false,\r\n          errorVehiculo: true,\r\n          loading: false\r\n        })\r\n      } else {\r\n        this.setState({\r\n          errorCodigo: false,\r\n          errorVehiculo: false,\r\n          textBuscador: \"\",\r\n          loading: false\r\n        })\r\n        datosBuscador = { filtroAnio: [], filtroModelo: [], filtroVehiculo: [] }\r\n        let dataParametro = {\r\n          filtroAnio: this.state.filtroAnio,\r\n          filtroModelo: this.state.filtroModelo,\r\n          filtroVehiculo: this.state.filtroVehiculo,\r\n          selectedAnioValue: this.state.selectedAnioValue,\r\n          selectedModeloValue: this.state.selectedModeloValue,\r\n          selectedVehiculoValue: this.state.selectedVehiculoValue\r\n        }\r\n\r\n\r\n        if (isMobile) {\r\n          this.props.history.push({\r\n            pathname: '/buscador-vehiculo',\r\n            state: {\r\n              dataParametro\r\n            }\r\n          });\r\n        } else {\r\n          this.setFiler();\r\n        }\r\n        // this.props.navigation.navigate('BuscadorVehiculo', { dataParametro });\r\n      }\r\n    }\r\n\r\n  }\r\n  seleccionarBuscador(value) {\r\n    if (value == 1)\r\n      this.setState({ errorCodigo: false, errorVehiculo: false, tipoBuscador: value, filtroAnio: [], filtroModelo: [], filtroVehiculo: [] })\r\n    else {\r\n      this.setState({ errorCodigo: false, errorVehiculo: false, tipoBuscador: value, textBuscador: '' })\r\n      this.getAnios(data.FiltroPedito.ComboAnio);\r\n    }\r\n  }\r\n  setSelectedValue(e, ETipoFiltro) {\r\n    let value = e.currentTarget.value;\r\n    switch (ETipoFiltro) {\r\n      case data.FiltroPedito.ComboAnio:\r\n        this.setState({ selectedAnioValue: value, selectedModeloValue: '', selectedVehiculoValue: '', filtroModelo: [], filtroVehiculo: [] })\r\n        this.getFiltros(data.FiltroPedito.ComboModelo, value);\r\n        break;\r\n      case data.FiltroPedito.ComboModelo:\r\n        this.setState({ selectedModeloValue: value, selectedVehiculoValue: '', filtroVehiculo: [] })\r\n        this.getFiltros(data.FiltroPedito.ComboVehiculo, this.state.selectedAnioValue, value);\r\n        break;\r\n      case data.FiltroPedito.ComboVehiculo:\r\n        this.setState({ selectedVehiculoValue: value })\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n  getAnios = (ETipoFiltro) => {\r\n    this.setState({ loading: true })\r\n    getDataFiltros(ETipoFiltro)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false, filtroAnio: result.dto.filtro })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Generar Pedidos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  getFiltros = async (ETipoFiltro, Anio, Modelo, FlagCargarDatos) => {\r\n    switch (ETipoFiltro) {\r\n      case data.FiltroPedito.ComboModelo:\r\n        if (Anio == null || Anio == \"\" || Anio == undefined) return;\r\n        break;\r\n      case data.FiltroPedito.ComboVehiculo:\r\n        if (Anio == null || Anio == \"\" || Anio == undefined ||\r\n          Modelo == null || Modelo == \"\" || Modelo == undefined) return;\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n    this.setState({ loading: true })\r\n    getDataFiltros(ETipoFiltro, Anio, Modelo)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          switch (ETipoFiltro) {\r\n            // case data.FiltroPedito.ComboAnio:\r\n            // this.setState({ loading: false, filtroAnio: result.dto.filtro })          \r\n            // this.setState({ loading: false, filtroModelo: result.dto.filtro })\r\n            // break;\r\n            case data.FiltroPedito.ComboModelo:\r\n              this.setState({ loading: false, filtroModelo: result.dto.filtro })\r\n              break;\r\n            case data.FiltroPedito.ComboVehiculo:\r\n              this.setState({ loading: false, filtroVehiculo: result.dto.filtro }, () => {\r\n                if (FlagCargarDatos) {\r\n                  this.setState({ page: this.state.params.page, errorVehiculo: false })\r\n                  let selectedVehiculo = this.state.filtroVehiculo.filter(p => p.descripcion == this.state.selectedVehiculoValue)[0];\r\n                  console.log(\"selectedVehiculo======>\", selectedVehiculo);\r\n                  let dealer = this.state.dealer;\r\n                  let linea = this.state.linea;\r\n                  let asociado = this.state.asociado;\r\n                  let indexPage = this.state.params.page;\r\n                  this.setState({ loading: true })\r\n\r\n                  BuscarSistemaPrincipal(dealer.codcliente, linea.vkorg, dealer.correoElectronico,\r\n                    selectedVehiculo.id, selectedVehiculo.descripcion, linea.centro,\r\n                    asociado.moneda, asociado.poblacion, indexPage)\r\n                    .then(result => {\r\n                      if (result.mo.type == \"success\") {\r\n                        let _data = this.state.dataResult;\r\n                        this.setState({\r\n                          isSearch: true,\r\n                          loading: false,\r\n                          dataResult: {\r\n                            repuestos: result.dto.sistema,\r\n                            destacados: result.dto.productosDestacados,\r\n                          },\r\n                          titulo: result.dto.sistema[0].catalogo,\r\n                          pdf: result.dto.sistema[0].linkpdf,\r\n                          selectedVehiculoValueOriginal: selectedVehiculo.id\r\n                        })\r\n\r\n                      } else {\r\n                        throw new Error(result.mo.listMessage.join(\", \"));\r\n                      }\r\n                    }).catch((error) => {\r\n                      this.setState({ loading: false }, async () => {\r\n                        error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n                        notificacion(\"Buscador\", error.message ?? null);\r\n                      });\r\n                    });\r\n                }\r\n              })\r\n              break;\r\n            default:\r\n              break;\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Generar Pedidos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postBuscarKit = (dealer, linea, Matnr) => {\r\n    this.setState({ loading: true })\r\n    BuscarKit(dealer, linea, Matnr)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let _repuestos = this.state.dataResult.repuestos\r\n          let _destacados = this.state.dataResult.destacados\r\n          let _vendidos = this.state.dataResult.vendidos\r\n          this.setState({\r\n            dataResult: {\r\n              detalleKit: result.dto.detalleKit,\r\n              repuestos: _repuestos,\r\n              destacados: _destacados,\r\n              vendidos: _vendidos,\r\n            },\r\n            loading: false,\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postAgregarProductoPedido = async (carritoProdctos, setcarritoProdctos, producto) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoPedido(this.state.dealer,\r\n      producto,\r\n      this.state.linea,\r\n      this.state.asociado\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n\r\n          let _repuestos = this.state.dataResult.repuestos\r\n          let _destacados = this.state.dataResult.destacados\r\n          let _vendidos = this.state.dataResult.vendidos\r\n\r\n          if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Destacado)\r\n            _destacados[producto.indice].cantidad = 0;\r\n          else if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Vendido)\r\n            _vendidos[producto.indice].cantidad = 0;\r\n          else if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Producto)\r\n            _repuestos[producto.indice].cantidad = 0;\r\n\r\n          this.setState({\r\n            dataResult: {\r\n              repuestos: _repuestos,\r\n              destacados: _destacados,\r\n              vendidos: _vendidos,\r\n            },\r\n            loading: false,\r\n            addToCart: true,\r\n            dataToCard: producto\r\n          })\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postBuscarCodigoDescripcionPrincipal = (dealer, linea, asociado, textBuscador, index) => {\r\n    this.setState({\r\n      loading: true\r\n    })\r\n    BuscarCodigoDescripcionPrincipal(linea.centro, dealer.codcliente,\r\n      textBuscador, asociado.moneda, linea.vkorg,\r\n      asociado.poblacion, dealer.correoElectronico,\r\n      index)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            isSearch: true,\r\n            dataResult: {\r\n              repuestos: result.dto.repuestos,\r\n              destacados: result.dto.productosDestacados,\r\n              vendidos: result.dto.productosMasComprados\r\n            }\r\n          })\r\n          console.log(\"result.dto.productosDestacados====>\", result.dto.productosDestacados);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postBuscarCodigoDescripcion = (dealer, linea, asociado, textBuscador, indexPage) => {\r\n\r\n    let _textBuscador = this.state.textBuscador;\r\n    let _textBuscadorOri = this.state.textBuscadorOri;\r\n\r\n\r\n\r\n    this.setState({ loading: true })\r\n    BuscarCodigoDescripcion(linea.centro, dealer.codcliente,\r\n      textBuscador, asociado.moneda, linea.vkorg,\r\n      asociado.poblacion, dealer.correoElectronico,\r\n      indexPage)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let _data = this.state.dataResult;\r\n          this.setState({\r\n            loading: false,\r\n            dataResult: {\r\n              repuestos: result.dto.repuestos,\r\n              destacados: _data.destacados,\r\n              vendidos: _data.vendidos\r\n            }\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postAgregarProductoFavorito = (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          let _data = this.state.dataResult\r\n          let _repuestos = _data.repuestos\r\n          let _destacados = _data.destacados\r\n          let _vendidos = _data.vendidos\r\n\r\n          if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Destacado)\r\n            _destacados[index].favorito = !AplicaFavorito;\r\n          else if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Vendido)\r\n            _vendidos[index].favorito = !AplicaFavorito;\r\n          else if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Producto)\r\n            _repuestos[index].favorito = !AplicaFavorito;\r\n\r\n          this.setState({\r\n            dataResult: {\r\n              repuestos: _repuestos,\r\n              destacados: _destacados,\r\n              vendidos: _vendidos\r\n            }\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  setCounter = (counter, tab, index) => {\r\n    let _data = this.state.dataResult\r\n    let _repuestos = _data.repuestos\r\n    let _destacados = _data.destacados\r\n    let _vendidos = _data.vendidos\r\n    if (counter == \"\") {\r\n      if (data.Pantalla.BuscarPedidoCodigo.Producto == tab)\r\n        _repuestos[index].cantidad = 0;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Destacado == tab)\r\n        _destacados[index].cantidad = 0;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Vendido == tab)\r\n        _vendidos[index].cantidad = 0;\r\n    } else {\r\n      if (data.Pantalla.BuscarPedidoCodigo.Producto == tab)\r\n        _repuestos[index].cantidad = counter;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Destacado == tab)\r\n        _destacados[index].cantidad = counter;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Vendido == tab)\r\n        _vendidos[index].cantidad = counter;\r\n    }\r\n\r\n    this.setState({\r\n      dataResult: {\r\n        repuestos: _repuestos,\r\n        destacados: _destacados,\r\n        vendidos: _vendidos\r\n      }\r\n    })\r\n\r\n  }\r\n  // setActiveSlidePD = (index) => {\r\n  //   this.setState({ activeSlidePD: index })\r\n  // }\r\n\r\n  // setActiveSlidePV = (index) => {\r\n  //   this.setState({ activeSlidePV: index })\r\n  // }\r\n\r\n  setPageDescripcion = (index, change, type) => {\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({ page: index, currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1) })\r\n    }\r\n    else\r\n      this.setState({ page: index })\r\n\r\n    console.log(\"Index 22===>\", index);\r\n    this.postBuscarCodigoDescripcion(this.state.dealer, this.state.linea, this.state.asociado, this.state.textBuscador, index);\r\n\r\n  }\r\n\r\n  setPageVehiculo = (index, change, type) => {\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({ page: index, currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1) })\r\n    }\r\n    else\r\n      this.setState({ page: index })\r\n\r\n    let selectedVehiculo = this.state.filtroVehiculo.filter(p => p.descripcion == this.state.selectedVehiculoValue)[0];\r\n    this.postBuscarSistema(this.state.dealer, this.state.linea, this.state.asociado, selectedVehiculo, index, false);\r\n  }\r\n\r\n  setFiler = () => {\r\n    if (this.state.selectedAnioValue == null || this.state.selectedAnioValue == \"\" ||\r\n      this.state.selectedModeloValue == null || this.state.selectedModeloValue == \"\" ||\r\n      this.state.selectedVehiculoValue == null || this.state.selectedVehiculoValue == \"\") {\r\n      this.setState({\r\n        errorVehiculo: true\r\n      })\r\n    }\r\n    else {\r\n      this.setState({ page: 1, errorVehiculo: false })\r\n      let selectedVehiculo = this.state.filtroVehiculo.filter(p => p.descripcion == this.state.selectedVehiculoValue)[0];\r\n      this.postBuscarSistema(this.state.dealer, this.state.linea, this.state.asociado, selectedVehiculo, 1, true);\r\n    }\r\n  }\r\n\r\n  postBuscarSistema = async (dealer, linea, asociado, selectedVehiculo, indexPage, isButton) => {\r\n\r\n    let _textBuscador = this.state.selectedVehiculoValue;\r\n    let _textBuscadorOri = this.state.selectedVehiculoValueOriginal;\r\n\r\n    if (isButton) {\r\n      this.setState({\r\n        size: data.PageSize,\r\n        currentPage: 1,\r\n        page: 1,\r\n        selectedVehiculoValueOriginal: _textBuscador\r\n      })\r\n      indexPage = 1\r\n    }\r\n\r\n    this.setState({ loading: true })\r\n    BuscarSistemaPrincipal(dealer.codcliente, linea.vkorg, dealer.correoElectronico,\r\n      selectedVehiculo.id, selectedVehiculo.descripcion, linea.centro,\r\n      asociado.moneda, asociado.poblacion, indexPage)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let _data = this.state.dataResult;\r\n          this.setState({\r\n            isSearch: true,\r\n            loading: false,\r\n            dataResult: {\r\n              repuestos: result.dto.sistema,\r\n              destacados: result.dto.productosDestacados,\r\n            },\r\n            titulo: result.dto.sistema[0].catalogo,\r\n            pdf: result.dto.sistema[0].linkpdf,\r\n            selectedVehiculoValueOriginal: selectedVehiculo.id\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  loadIrRepuestos = (item) => {\r\n    let datosBuscador = {\r\n      page: this.state.page,\r\n      Catalogo: item.catalogo,\r\n      Linkimg: item.linkimg,\r\n      Pagina: item.pagina,\r\n      Sistemaweb: item.sistemaweb,\r\n      addToCart: false,\r\n      selectedAnioValue: this.state.selectedAnioValue,\r\n      selectedModeloValue: this.state.selectedModeloValue,\r\n      selectedVehiculoValue: this.state.selectedVehiculoValue,\r\n      dataToCard: {}\r\n    }\r\n\r\n    this.props.history.push({\r\n      pathname: '/repuestos',\r\n      state: { datosBuscador }\r\n    });\r\n  };\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, ListGroupItem, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport Slider from \"react-slick\";\r\nimport { data } from '../../constants/Constants';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport c from '../../constants/Colors';\r\nimport { getDataFiltros } from '../../store/sagas/pedidoApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion,getStatePage} from '../../utilitarios/util';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst CardOferta = ({  }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal\">\r\n      <div className=\"cphLeftImage\">\r\n        <img src={'../../assets/img/product.png'} />\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        <h6 className=\"paragraph-2 bold morado mb-1\">Arandela de Cobre</h6>\r\n        <span className=\"paragraph-3 mb-3\" style={{ color: c.grisOscuro }}>SKU: DJ101217</span>\r\n        <span className=\"paragraph-3 previousPrice\" style={{ color: c.grisOscuro }}>PVD S/ 25.00 c/u</span>\r\n        <strong className=\"paragraph-3 bold naranja\">PVD S/ 17.60 c/u</strong>\r\n        <span className=\"paragraph-3\">PVD S/ 27.00 c/u</span>\r\n        <div className=\"text-left mt-2\">\r\n          <button className='btn-icon'>\r\n            <SvgAssets icon=\"icon-trash\" fill={c.celeste} />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: c.morado, justifyContent: 'space-between' }}>\r\n        {/* <CounterInput\r\n          vertical\r\n          background={c.morado}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n        /> */}\r\n        <div\r\n          className=\"btn-link\">\r\n          <SvgAssets icon=\"icon-add-cart\" />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst ProductoDestacado = ({ }) => {\r\n  return (\r\n    <div className=\"card_product_vertical\">\r\n      <img className=\"product-img\" src={'../../assets/img/product.png'} />\r\n      <h6 className=\"paragraph-2 bold azul\">Arandela de Cobre</h6>\r\n      <span className=\"paragraph-3 sku\">SKU: 36JF0050</span>\r\n      <span className=\"paragraph-3 previousPrice\">PVD S/ 35.00 c/u</span>\r\n      <span className=\"paragraph-3 bold\" style={{ color: c.naranja }}>PVD S/ 20.70 c/u</span>\r\n      <span className=\"paragraph-3\">PVD S/ 37.00 c/u</span>\r\n      <div className=\"counter\">\r\n        {/* <CounterInput\r\n          background={\"#fff\"}\r\n          color={\"#316ACD\"}\r\n          borderColor={\"#E2E2E2\"}\r\n        /> */}\r\n      </div>\r\n      <div className=\"options\">\r\n        <button className=\"btn-icon\" type=\"button\" >\r\n          <SvgAssets icon=\"icon-star\" fill={c.celeste} />\r\n        </button>\r\n        <button className=\"btn-icon\" type=\"button\" >\r\n          <SvgAssets icon=\"icon-add-cart\" className=\"add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst ProductoVendido = ({ }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal gradient_blue\" style={{ filter: 'none' }}>\r\n      <div className=\"cphLeftImage\">\r\n        <img src={require('../../assets/img/product.png')} />\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        <h6 className=\"paragraph-2 bold mb-1\" style={{ color: '#fff' }}>Arandela de Cobre</h6>\r\n        <span className=\"paragraph-3 mb-3\" style={{ color: '#fff' }}>SKU: 36JF0050</span>\r\n        <span className=\"paragraph-3 previousPrice\" style={{ color: '#fff' }}>PVD S/ 25.00 c/u</span>\r\n        <strong className=\"paragraph-3 bold naranja\">PVD S/ 17.60 c/u</strong>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>PVD S/ 27.00 c/u</span>\r\n        <div className=\"text-left mt-2\">\r\n          <button className='btn-icon'>\r\n            <SvgAssets icon=\"icon-star\" fill={c.celeste} />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: c.azulClaro, justifyContent: 'space-between' }}>\r\n        {/* <CounterInput\r\n          vertical\r\n          background={c.azulClaro}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n        /> */}\r\n        <div className=\"btn-link\" style={{ marginTop: 20 }}>\r\n          <SvgAssets icon=\"icon-add-cart\" />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class GenerarPedidoDesktop extends Component {\r\n  static displayName = GenerarPedidoDesktop.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n            \r\n    }\r\n  }\r\n\r\n  render() {\r\n    var slider_destacados = {\r\n      dots: true,\r\n      infinite: true,\r\n      arrows: false,\r\n      speed: 500,\r\n      slidesToShow: 4,\r\n      // slidesToScroll: 1,\r\n      // variableWidth: true\r\n    };\r\n    var slider_vendidos = {\r\n      dots: true,\r\n      infinite: true,\r\n      arrows: false,\r\n      speed: 500,\r\n      slidesToShow: 2,\r\n      slidesToScroll: 1,\r\n      variableWidth: true\r\n    };\r\n    return(\r\n      <div id=\"mhw\">\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Generar pedido</h1>\r\n          </Container>\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/'>Dashboard</Link></li>\r\n              <li><Link to='/'>Pedidos</Link></li>\r\n              <li><Link to='/'>Generar Pedido</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <div className=\"container_whit_menu\">\r\n          <div className=\"container_left\">\r\n            <div className=\"card_busqueda_pedido\">\r\n              <div className=\"textContent\">\r\n                <h6 className=\"paragraph-2 morado bold\"><SvgAssets icon=\"icon-codigo\" fill={c.morado} />Buscador por Código</h6>\r\n                <p>Esta opción te permitirá realizar búsquedas de repuestos por código o descripción.</p>\r\n              </div>\r\n              <form className=\"busqueda-pedido\">\r\n                <FormGroup className=\"mb-0\">\r\n                  <Input type=\"text\" name=\"descripcion\" placeholder=\"SKU o Descripción\" className=\"morado\"/>\r\n                  <button type=\"button\" className='btn-icon rounded' style={{backgroundColor:c.morado}}>\r\n                    <SvgAssets icon=\"icon-lupa\" fill=\"#fff\" />\r\n                  </button>\r\n                </FormGroup>\r\n              </form>\r\n            </div>\r\n            <div className=\"card_busqueda_pedido\">\r\n              <div className=\"textContent\">\r\n                <h6 className=\"paragraph-2 verde bold\"><SvgAssets icon=\"icon-moto\" fill={c.verdeClaro} />Buscador por Vehículo</h6>\r\n                <p>Esta opción te permitirá realizar búsquedas de repuestos por tipo de modelo de vehículo</p>\r\n              </div>\r\n              <form className=\"busqueda-pedido\">\r\n                <FormGroup>\r\n                  <Input\r\n                    type=\"select\"\r\n                    name=\"select\"\r\n                    className=\"verde\"\r\n                    style={{ flex: 0.5 }}\r\n                  >\r\n                    <option>Año</option>\r\n                  </Input>\r\n                  <Input\r\n                    type=\"select\"\r\n                    name=\"select\"\r\n                    className=\"verde ml-2\">\r\n                    <option>Modelo</option>\r\n                  </Input>\r\n                </FormGroup>\r\n                <FormGroup className=\"mb-0\">\r\n                  <Input\r\n                    type=\"select\"\r\n                    name=\"select\"\r\n                    className=\"verde\">\r\n                    <option>Vehículo</option>\r\n                  </Input>\r\n                  <button type=\"button\" className='btn-icon rounded' style={{backgroundColor:c.verdeClaro}}>\r\n                    <SvgAssets icon=\"icon-lupa\" fill=\"#fff\" />\r\n                  </button>\r\n                </FormGroup>\r\n              </form>\r\n            </div>\r\n            <Link className='btn-block bg_transparent' to=\"/pedido-sugerido\">PEDIDO SUGERIDO</Link>\r\n            <Link className='btn-block bg_transparent' to=\"/pre-pedidos\">PRE-PEDIDO<br />(Pasar Pre-Pedido)</Link>\r\n            <Link className='btn-block bg_transparent' to=\"/buscador-vehiculo\" style={{backgroundColor:c.azulClaro,color:'#fff'}}>REPETIR PEDIDO ANTERIOR</Link>\r\n          </div>\r\n          <div className=\"container_right\">\r\n            <h6 className=\"title morado\">Resultado obtenido:</h6>\r\n            <div className=\"resultados\">\r\n              <CardOferta />\r\n              <CardOferta />\r\n            </div>\r\n            <section className=\"productos_destacados\">\r\n              <h6 className=\"title\" style={{color:'#fff'}}>Productos destacados</h6>\r\n              <Slider {...slider_destacados}>\r\n                <ProductoDestacado />\r\n                <ProductoDestacado />\r\n                <ProductoDestacado />\r\n                <ProductoDestacado />\r\n                <ProductoDestacado />\r\n                <ProductoDestacado />\r\n                <ProductoDestacado />\r\n              </Slider>\r\n            </section>\r\n            <section className=\"productos_vendidos\">\r\n              <h6 className=\"title\" style={{color:c.rojoClaro}}>Productos más vendidos</h6>\r\n              <Slider {...slider_vendidos} className=\"dots_blue\">\r\n                <ProductoVendido />\r\n                <ProductoVendido />\r\n                <ProductoVendido />\r\n                <ProductoVendido />\r\n              </Slider>\r\n            </section>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    )\r\n  }\r\n}","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, ListGroupItem, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport Slider from \"react-slick\";\r\nimport c from '../../constants/Colors';\r\nimport product from '../../assets/img/product.png';\r\nimport Pagination from '../reusable/Pagination'\r\nimport { data } from '../../constants/Constants';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { BuscarCodigoDescripcionPrincipal, BuscarCodigoDescripcion } from '../../store/sagas/pedidoApi';\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport { AgregarProductoPedido } from '../../store/sagas/carritoApi';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport ModalAddCart from \"../reusable/modals/AddCart\";\r\nimport ModalImageZoom from '../reusable/modals/ImageZoom';\r\nimport ModalImageZoom2 from '../reusable/modals/ImageZoom2';\r\nimport ModalCompatible from '../reusable/modals/Compatible';\r\nimport BtnCompatible from '../reusable/BtnCompatible';\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\nimport CardPrecios from '../reusable/CardPrecios';\r\nimport CardPrecioOferta from '../reusable/CardPrecioOferta';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst CardOferta = ({ item, auth, event, eventCounter, zoom, compatible }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal\">\r\n      <div className=\"cphLeftImage\">\r\n        {(item.modelos.length > 0) ?\r\n          <button className='btn-icon'\r\n            style={{ position: 'absolute', left: 6, top: 6 }}\r\n            type=\"button\"\r\n            onClick={() => compatible(item.modelos)}\r\n          >\r\n            <SvgAssets icon=\"icon-compatible\" fill={c.azulClaro} />\r\n          </button> : null}\r\n        <div style={{ cursor: 'pointer' }} onClick={() => zoom(item.fotos)}>\r\n          <img src={item.pathImage} />\r\n        </div>\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        <h6 className=\"paragraph-2 bold morado mb-1\">{item.maktx}</h6>\r\n        <span className=\"paragraph-3 mb-3\" style={{ color: c.grisOscuro }}>SKU: {item.matnr}</span>\r\n        {/* <span className=\"paragraph-3 previousPrice\" style={{ color: c.grisOscuro }}>{item.precioPublico}</span>\r\n        <strong className=\"paragraph-3 bold naranja\">{item.precioPVD}</strong>\r\n        <span className=\"paragraph-3\">{item.precioPVP}</span> */}\r\n        <CardPrecios data={item.precios} escalas={item.escalas} cantidad={item.cantidad} className=\"cardPrice\" />\r\n\r\n        <div className=\"options\">\r\n          {/* <BtnCompatible IdInput={item.idInput} texto={item.mensajeCompatible} /> */}\r\n\r\n          <button className='btn-icon'>\r\n            <SvgAssets icon=\"icon-trash\" fill={c.celeste} />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: c.morado, justifyContent: 'space-between' }}>\r\n        <CounterInput\r\n          IdInput={item.idInput}\r\n          vertical\r\n          background={c.morado}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n        <button\r\n          className=\"btn-icon mt-3\"\r\n          disabled={item.cantidad == 0}\r\n          onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n            codigo: item.matnr,\r\n            descripcion: item.maktx,\r\n            precioOferta: item.poferta,\r\n            precioPublico: item.plista,\r\n            precioFinal: item.pfinal,\r\n            unidadMedida: item.meins,\r\n            precioPVD: item.precioPVD,\r\n            precioPVP: item.precioPVP,\r\n            precioPublico: item.precioPublico,\r\n            moneda: item.waers,\r\n            cantidadOriginal: item.cantidad,\r\n            cantidad: item.cantidad,\r\n            pantalla: data.Pantalla.BuscarPedidoCodigo.Producto,\r\n            precios: item.precios,\r\n            indice: item.indice,\r\n            pathI: item.pathImage,\r\n            escalas: item.escalas\r\n          })}\r\n        >\r\n          <SvgAssets icon=\"icon-add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst ProductoDestacado = ({ item, index, event, eventCounter, eventFavorito, auth, zoom, compatible }) => {\r\n  return (\r\n    <div className=\"card_product_vertical\" style={{ marginRight: 10 }}>\r\n      <div style={{ cursor: 'pointer' }} onClick={() => zoom(item.fotos)}>\r\n        <img className=\"product-img\" src={item.pathI} />\r\n      </div>\r\n      <h6 className=\"paragraph-2 bold azul\">{item.maktx}</h6>\r\n      <span className=\"paragraph-3 sku\">SKU: {item.matnr}</span>\r\n      {/* <span className=\"paragraph-3 previousPrice\">{item.precioPublico}</span>\r\n      <span className=\"paragraph-3 bold\" style={{ color: c.naranja }}>{item.precioPVD}</span>\r\n      <span className=\"paragraph-3\">{item.precioPVP}</span> */}\r\n      <CardPrecios data={item.precios} escalas={item.escalas} cantidad={item.cantidad} className=\"cardPrice\" />\r\n      <div className=\"counter\">\r\n        <CounterInput\r\n          IdInput={item.idInput}\r\n          background={\"#fff\"}\r\n          color={\"#316ACD\"}\r\n          borderColor={\"#E2E2E2\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n      </div>\r\n      <div className=\"options\">\r\n        <BtnCompatible IdInput={item.idInput} texto={item.mensajeCompatible} />\r\n        {/* <button className='btn-icon'\r\n          type=\"button\"\r\n          onClick={() => compatible(item.mensajeCompatible)}\r\n        >\r\n          <SvgAssets icon=\"icon-compatible\" fill={c.azulClaro} />\r\n        </button> */}\r\n        <button className=\"btn-icon\"\r\n          type=\"button\"\r\n          onClick={() => eventFavorito({\r\n            codigo: item.matnr, descripcion: item.maktx,\r\n            moneda: item.waers, pantalla: data.Pantalla.BuscarPedidoCodigo.Destacado\r\n          }, item.favorito, item.indice)}\r\n        >\r\n          <SvgAssets icon=\"icon-star\" fill={item.favorito ? c.amarillo : c.celeste} />\r\n        </button>\r\n        <button className=\"btn-icon\"\r\n          type=\"button\"\r\n          disabled={item.cantidad == 0}\r\n          onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n            codigo: item.matnr,\r\n            descripcion: item.maktx,\r\n            precioOferta: item.pOfe,\r\n            precioPublico: item.pPub,\r\n            precioFinal: item.pFin,\r\n            precioPVD: item.precioPVD,\r\n            precioPVP: item.precioPVP,\r\n            precioPublico: item.precioPublico,\r\n            unidadMedida: item.meins,\r\n            moneda: item.waers,\r\n            cantidadOriginal: item.cantidad,\r\n            cantidad: item.cantidad,\r\n            pantalla: data.Pantalla.BuscarPedidoCodigo.Destacado,\r\n            precios: item.precios,\r\n            indice: item.indice,\r\n            pathI: item.pathI,\r\n            escalas: item.escalas\r\n          })}\r\n        >\r\n          <SvgAssets icon=\"icon-add-cart\" className=\"add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst ProductoVendido = ({ item, index, event, eventCounter, eventFavorito, auth, zoom }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal gradient_blue\" style={{ filter: 'none', height: '100%' }}>\r\n      <div className=\"cphLeftImage\">\r\n        <div style={{ cursor: 'pointer' }} onClick={() => zoom(item.pathI)}>\r\n          <img src={item.pathI} />\r\n        </div>\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        <h6 className=\"paragraph-2 bold mb-1\" style={{ color: '#fff' }}>{item.maktx}</h6>\r\n        <span className=\"paragraph-3 mb-3\" style={{ color: '#fff' }}>SKU: {item.matnr}</span>\r\n        {/* <span className=\"paragraph-3 previousPrice\" style={{ color: '#fff' }}>{item.precioPublico}</span>\r\n        <strong className=\"paragraph-3 bold naranja\">{item.precioPVD}</strong>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>{item.precioPVP}</span> */}\r\n        <CardPrecioOferta data={item.precios} className=\"cardPrice\" />\r\n        <div className=\"text-left mt-2\">\r\n          <button className='btn-icon' type=\"button\"\r\n            onClick={() => eventFavorito({\r\n              codigo: item.matnr, descripcion: item.maktx,\r\n              moneda: item.waers,\r\n              cantidad: item.cantidad,\r\n              pantalla: data.Pantalla.BuscarPedidoCodigo.Vendido\r\n            }, item.favorito, item.indice)}\r\n          >\r\n            <SvgAssets icon=\"icon-star\" fill={item.favorito ? c.amarillo : c.celeste} />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: c.azulClaro, justifyContent: 'space-between' }}>\r\n        <CounterInput\r\n          IdInput={item.idInput}\r\n          vertical\r\n          background={c.azulClaro}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n        <div className=\"btn-link\" disabled={item.cantidad == 0}\r\n          onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n            codigo: item.matnr,\r\n            descripcion: item.maktx,\r\n            precioOferta: item.pOfe,\r\n            precioPublico: item.pPub,\r\n            precioFinal: item.pFin,\r\n            precioPVD: item.precioPVD,\r\n            precioPVP: item.precioPVP,\r\n            precioPublico: item.precioPublico,\r\n            unidadMedida: item.meins,\r\n            moneda: item.waers,\r\n            cantidadOriginal: item.cantidad,\r\n            cantidad: item.cantidad,\r\n            pantalla: data.Pantalla.BuscarPedidoCodigo.Vendido,\r\n            precios: item.precios,\r\n            pathI: item.pathI,\r\n            indice: item.indice,\r\n            escalas: item.escalas\r\n          })}\r\n          style={{ marginTop: 20 }}>\r\n          <SvgAssets icon=\"icon-add-cart\" />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class BuscadorCodigo extends Component {\r\n  static displayName = BuscadorCodigo.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      activeSlidePD: 0,\r\n      activeSlidePV: 0,\r\n      films: [],\r\n      query: '',\r\n      textBuscador: '',\r\n      textBuscadorOri: '',\r\n      loading: true,\r\n      dataResult: { repuestos: [], destacados: [], vendidos: [] },\r\n      page: 1,\r\n      size: data.PageSizeVehiculos,\r\n      currentPage: 1,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      addToCart: false,\r\n      dataToCard: {},\r\n      errorCodigo: false,\r\n      modalZoom: false,\r\n      imgZoom: \"\",\r\n      listImgZoom: [],\r\n      modalCompatible: false,\r\n      mensajeCompatible: '',\r\n      dataCompatible: [],\r\n    };\r\n  }\r\n  showModalCart = () => {\r\n    this.setState(prevState => ({\r\n      addToCart: !prevState.addToCart\r\n    }));\r\n  }\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: Array.isArray(img) ? \"\" : img,\r\n      listImgZoom: Array.isArray(img) ? img : [],\r\n    }));\r\n  }\r\n  toggleModalCompatible = (texto) => {\r\n    console.log(\"toggleModalCompatible===>\", texto);\r\n    this.setState(prevState => ({\r\n      modalCompatible: !prevState.modalCompatible,\r\n      dataCompatible: texto\r\n    }));\r\n  }\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: true }, () => {\r\n      setTimeout(() => {\r\n        this.setState({ loading: false })\r\n        this.props.history.push('/carrito');\r\n      }, 1000);\r\n    });\r\n  }\r\n  checkParams(fn = () => { }) {\r\n    const { state } = this.props.location;\r\n    let datosBuscador = state != undefined ? state.datosBuscador : { text: this.state.textBuscador || '' };\r\n    // let datosBuscador = state.datosBuscador;\r\n    this.setState({ textBuscador: datosBuscador.text, textBuscadorOri: datosBuscador.text }, fn)\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      this.checkParams(() => {\r\n        let data = localStorageCustom.prototype.getUsuario();\r\n        this.setState({ dealer: data.dealer, linea: data.linea, asociado: data.asociado },\r\n          this.IrBuscar)\r\n        // this.postBuscarCodigoDescripcionPrincipal(data.dealer, data.linea, data.asociado, this.state.textBuscador);\r\n      });\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  render() {\r\n    const navigation = this.props.navigation;\r\n    const { errorCodigo, page, size, currentPage, loading, textBuscador, dataResult, activeSlidePD, activeSlidePV, query } = this.state;\r\n    const films = this.findFilm(query);\r\n    const auth = this.context;\r\n\r\n    var slider_destacados = {\r\n      dots: false,\r\n      infinite: true,\r\n      arrows: false,\r\n      speed: 500,\r\n      slidesToShow: 2,\r\n      slidesToScroll: 1,\r\n      variableWidth: true\r\n    };\r\n    var slider_vendidos = {\r\n      dots: false,\r\n      infinite: true,\r\n      arrows: false,\r\n      speed: 500,\r\n      slidesToShow: 1,\r\n      slidesToScroll: 1,\r\n    };\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <form className=\"busqueda-pedido\" style={{ backgroundColor: c.morado }}>\r\n          <button\r\n            className='btn-icon btn-close'\r\n            type=\"button\"\r\n            onClick={() => { this.props.history.push('/generar-pedido') }}>\r\n            <SvgAssets icon=\"icon-close\" fill=\"#fff\" />\r\n          </button>\r\n          <FormGroup className=\"mb-0\">\r\n            <Input type=\"text\" name=\"descripcion\"\r\n              placeholder=\"SKU o Descripción\"\r\n              className=\"morado\"\r\n              value={textBuscador}\r\n              onChange={(textBuscador) => this.setText(textBuscador)}\r\n            />\r\n            {/* <Link to=\"/buscador-codigo\" style={{ textDecoration: 'none' }}>\r\n              \r\n            </Link> */}\r\n            <button\r\n              className='btn-icon rounded'\r\n              type=\"button\"\r\n              onClick={() => { this.IrBuscar() }}>\r\n              <SvgAssets icon=\"icon-lupa\" fill=\"#fff\" />\r\n            </button>\r\n          </FormGroup>\r\n          {(errorCodigo) ? <p className=\"text-danger\">Por favor ingrese un código SKU o Descripción del repuesto (al menos 5 caracteres)</p> : null}\r\n        </form>\r\n        <Container className=\"py-5\" style={{ backgroundColor: '#fff', position: 'relative' }}>\r\n          <SvgAssets icon=\"curve-bottom\" className='curve-top' fill={c.morado} />\r\n          <h6 className=\"title morado\">Resultado obtenido:<TooltipLeyenda color={c.azulClaro} style={{ position: 'absolute', right: 0 }} /></h6>\r\n          <div className=\"cards-wrap\">\r\n            {dataResult.repuestos.map((item, index) => {\r\n              return (\r\n                <CardOferta\r\n                  key={index}\r\n                  item={item}\r\n                  event={this.postAgregarProductoPedido}\r\n                  eventCounter={this.setCounter}\r\n                  auth={auth}\r\n                  zoom={this.toggleModalZoom}\r\n                  compatible={this.toggleModalCompatible} />\r\n              )\r\n            })}\r\n          </div>\r\n          {(dataResult.repuestos.length > 0) ? <Pagination event={this.setPage} current={page} currentPage={currentPage} totalPage={dataResult.repuestos[0].totalPage} size={data.PageSizePaginator} /> : null}\r\n          <SvgAssets icon=\"curve-bottom\" className='curve-bottom' fill=\"#fff\" />\r\n        </Container>\r\n        <Container className=\"py-5 productos_destacados\" style={{ backgroundColor: c.azul, position: 'relative' }}>\r\n          <h6 className=\"title\" style={{ color: '#fff' }}>Productos destacados<TooltipLeyenda color={'#fff'} style={{ position: 'absolute', right: 0 }} /></h6>\r\n          <Slider ref={c => (this.SLIDER_DESTACADOS = c)} {...slider_destacados}>\r\n            {dataResult != null ?\r\n              dataResult.destacados.map((carousel, index) => {\r\n                return (\r\n                  <ProductoDestacado key={index} item={carousel} index={index} event={this.postAgregarProductoPedido} eventCounter={this.setCounter} eventFavorito={this.postAgregarProductoFavorito} auth={auth} zoom={this.toggleModalZoom} compatible={this.toggleModalCompatible} />\r\n                )\r\n              })\r\n              : null}\r\n          </Slider>\r\n          <div className=\"arrows-slider\">\r\n            <button className=\"btn-icon\" onClick={() => this.SLIDER_DESTACADOS.slickPrev()}><SvgAssets icon=\"icon-left\" fill='#fff' /></button>\r\n            <button className=\"btn-icon\" onClick={() => this.SLIDER_DESTACADOS.slickNext()}><SvgAssets icon=\"icon-right\" fill='#fff' /></button>\r\n          </div>\r\n        </Container>\r\n        <Container className=\"py-5\" style={{ backgroundColor: \"#fff\", position: 'relative' }}>\r\n          <h6 className=\"title\" style={{ color: c.rojoClaro }}>Los Productos más comprados <TooltipLeyenda color={c.azulClaro} style={{ position: 'absolute', right: 0 }} /></h6>\r\n          <Slider ref={c => (this.SLIDER_VENDIDOS = c)} {...slider_vendidos} className=\"dots_blue\">\r\n            {dataResult != null ?\r\n              dataResult.vendidos.map((carousel, index) => {\r\n                return (\r\n                  <ProductoVendido key={index} item={carousel} index={index} event={this.postAgregarProductoPedido} eventCounter={this.setCounter} eventFavorito={this.postAgregarProductoFavorito} auth={auth} zoom={this.toggleModalZoom} />\r\n                )\r\n              })\r\n              : null}\r\n          </Slider>\r\n          <div className=\"arrows-slider\">\r\n            <button className=\"btn-icon\" onClick={() => this.SLIDER_VENDIDOS.slickPrev()}><SvgAssets icon=\"icon-left\" fill={c.azulClaro} /></button>\r\n            <button className=\"btn-icon\" onClick={() => this.SLIDER_VENDIDOS.slickNext()}><SvgAssets icon=\"icon-right\" fill={c.azulClaro} /></button>\r\n          </div>\r\n        </Container>\r\n        <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n        <ModalImageZoom2 dadComponent={this} />\r\n        <ModalCompatible dadComponent={this} texto={this.state.mensajeCompatible} />\r\n      </div>\r\n    );\r\n  }\r\n\r\n  IrBuscar() {\r\n    if (this.state.textBuscador == \"\" || this.state.textBuscador == null || this.state.textBuscador.length < data.BuscadorCodigoLongitud) {\r\n      this.setState({\r\n        errorCodigo: true\r\n      })\r\n    } else {\r\n      this.setState({\r\n        errorCodigo: false,\r\n        loading: true\r\n      }, () => {\r\n        this.postBuscarCodigoDescripcionPrincipal(this.state.dealer, this.state.linea, this.state.asociado,\r\n          this.state.textBuscador);\r\n      })\r\n    }\r\n  }\r\n\r\n  IrBuscador = async () => {\r\n    this.props.navigation.navigate('GenerarPedido');\r\n  }\r\n  postAgregarProductoPedido = async (carritoProdctos, setcarritoProdctos, producto) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoPedido(this.state.dealer,\r\n      producto,\r\n      this.state.linea\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          console.log(\"data producto\", producto);\r\n          let _repuestos = this.state.dataResult.repuestos\r\n          let _destacados = this.state.dataResult.destacados\r\n          let _vendidos = this.state.dataResult.vendidos\r\n\r\n          if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Destacado)\r\n            _destacados[producto.indice].cantidad = 0;\r\n          else if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Vendido)\r\n            _vendidos[producto.indice].cantidad = 0;\r\n          else if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Producto)\r\n            _repuestos[producto.indice].cantidad = 0;\r\n\r\n\r\n          this.setState({\r\n            dataResult: {\r\n              repuestos: _repuestos,\r\n              destacados: _destacados,\r\n              vendidos: _vendidos\r\n            },\r\n            loading: false,\r\n            addToCart: true,\r\n            dataToCard: producto\r\n          })\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postBuscarCodigoDescripcionPrincipal = (dealer, linea, asociado, textBuscador) => {\r\n\r\n    BuscarCodigoDescripcionPrincipal(linea.centro, dealer.codcliente,\r\n      textBuscador, asociado.moneda, linea.vkorg,\r\n      asociado.poblacion, dealer.correoElectronico,\r\n      this.state.page, data.Pantalla.BuscarPedidoCodigo.Producto,\r\n      data.Pantalla.BuscarPedidoCodigo.Etiqueta.GenerarPedido)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            dataResult: {\r\n              repuestos: result.dto.repuestos,\r\n              destacados: result.dto.productosDestacados,\r\n              vendidos: result.dto.productosMasComprados\r\n            }\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postBuscarCodigoDescripcion = (dealer, linea, asociado, textBuscador, indexPage) => {\r\n    debugger;\r\n    let _textBuscador = this.state.textBuscador;\r\n    let _textBuscadorOri = this.state.textBuscadorOri;\r\n\r\n    if (_textBuscador != _textBuscadorOri) {\r\n      console.log(\"Reset a 1\");\r\n      this.setState({\r\n        size: data.PageSize,\r\n        currentPage: 1,\r\n        page: 1,\r\n        textBuscadorOri: _textBuscador\r\n      })\r\n      textBuscador = _textBuscador\r\n      indexPage = 1\r\n    }\r\n\r\n    this.setState({ loading: true })\r\n    BuscarCodigoDescripcion(linea.centro, dealer.codcliente,\r\n      textBuscador, asociado.moneda, linea.vkorg,\r\n      asociado.poblacion, dealer.correoElectronico,\r\n      indexPage, data.Pantalla.BuscarPedidoCodigo.Producto)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let _data = this.state.dataResult;\r\n          this.setState({\r\n            loading: false,\r\n            dataResult: {\r\n              repuestos: result.dto.repuestos,\r\n              destacados: _data.destacados,\r\n              vendidos: _data.vendidos\r\n            }\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postAgregarProductoFavorito = (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          let _data = this.state.dataResult\r\n          let _repuestos = _data.repuestos\r\n          let _destacados = _data.destacados\r\n          let _vendidos = _data.vendidos\r\n          // _destacados[index].favorito = !AplicaFavorito;\r\n\r\n\r\n\r\n          if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Destacado)\r\n            _destacados[index].favorito = !AplicaFavorito;\r\n          else if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Vendido)\r\n            _vendidos[index].favorito = !AplicaFavorito;\r\n          else if (producto.pantalla == data.Pantalla.BuscarPedidoCodigo.Producto)\r\n            _repuestos[index].favorito = !AplicaFavorito;\r\n\r\n\r\n\r\n          this.setState({\r\n            dataResult: {\r\n              repuestos: _repuestos,\r\n              destacados: _destacados,\r\n              vendidos: _vendidos\r\n            }\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  setCounter = (counter, tab, index) => {\r\n    let _data = this.state.dataResult\r\n    let _repuestos = _data.repuestos\r\n    let _destacados = _data.destacados\r\n    let _vendidos = _data.vendidos\r\n    if (counter == \"\") {\r\n      if (data.Pantalla.BuscarPedidoCodigo.Producto == tab)\r\n        _repuestos[index].cantidad = 0;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Destacado == tab)\r\n        _destacados[index].cantidad = 0;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Vendido == tab)\r\n        _vendidos[index].cantidad = 0;\r\n    } else {\r\n      if (data.Pantalla.BuscarPedidoCodigo.Producto == tab)\r\n        _repuestos[index].cantidad = counter;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Destacado == tab)\r\n        _destacados[index].cantidad = counter;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Vendido == tab)\r\n        _vendidos[index].cantidad = counter;\r\n    }\r\n\r\n\r\n\r\n\r\n\r\n    this.setState({\r\n      dataResult: {\r\n        repuestos: _repuestos,\r\n        destacados: _destacados,\r\n        vendidos: _vendidos\r\n      }\r\n    })\r\n\r\n  }\r\n  setActiveSlidePD = (index) => {\r\n    this.setState({ activeSlidePD: index })\r\n  }\r\n\r\n  setActiveSlidePV = (index) => {\r\n    this.setState({ activeSlidePV: index })\r\n  }\r\n  setText = (e) => {\r\n    let value = e.currentTarget.value;\r\n    this.setState({ textBuscador: value })\r\n  }\r\n  setPage = (index, change, type) => {\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({ page: index, currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1) })\r\n    }\r\n    else\r\n      this.setState({ page: index })\r\n\r\n    console.log(\"Pagina indice\", index);\r\n\r\n    this.postBuscarCodigoDescripcion(this.state.dealer, this.state.linea, this.state.asociado, this.state.textBuscador, index);\r\n\r\n  }\r\n  // componentDidMount() {\r\n  //   fetch(`${API}/films/`).then(res => res.json()).then((json) => {\r\n  //     const { results: films } = json;\r\n  //     this.setState({ films });\r\n  //   });\r\n  // }\r\n  findFilm(query) {\r\n    if (query === '') {\r\n      return [];\r\n    }\r\n\r\n    const { films } = this.state;\r\n    const regex = new RegExp(`${query.trim()}`, 'i');\r\n    return films.filter(film => film.title.search(regex) >= 0);\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, ListGroupItem, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport Slider from \"react-slick\";\r\nimport c from '../../constants/Colors';\r\nimport Pagination from '../reusable/Pagination';\r\nimport product from '../../assets/img/product.png';\r\nimport repuestos from '../../assets/img/repuestos.png';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport { data } from '../../constants/Constants';\r\nimport { getDataFiltros, BuscarSistemaPrincipal, BuscarSistema } from '../../store/sagas/pedidoApi';\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport { AgregarProductoPedido } from '../../store/sagas/carritoApi';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport ModalAddCart from \"../reusable/modals/AddCart\";\r\nimport ModalImageZoom2 from '../reusable/modals/ImageZoom2';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport CardPrecios from '../reusable/CardPrecios';\r\n\r\n\r\nconst CardRepuestos = ({ data, event, zoom }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal\">\r\n      <div className=\"cphLeftImage\">\r\n        <div style={{ cursor: 'pointer' }} onClick={() => zoom(data.linkimg)}>\r\n          <img src={data.linkimg} />\r\n        </div>\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        <h6 className=\"paragraph-2 bold verde mb-1\">{data.sistemaweb}</h6>\r\n        {/* <Link to=\"/repuestos\" style={{textDecoration:'none'}}> */}\r\n        <button\r\n          className=\"btn-small\"\r\n          type=\"button\"\r\n          onClick={() => { event(data) }}\r\n        ><SvgAssets icon=\"icon-list\" fill=\"#fff\" />Ver repuestos</button>\r\n        {/* </Link> */}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst ProductoDestacado = ({ item, index, event, eventCounter, eventFavorito, pantalla, auth, zoom }) => {\r\n  return (\r\n    <div className=\"card_product_vertical\" style={{ marginRight: 10 }}>\r\n      <div style={{ cursor: 'pointer' }} onClick={() => zoom(item.fotos)}>\r\n        <img className=\"product-img\" src={item.pathI} />\r\n      </div>\r\n      <h6 className=\"paragraph-2 bold azul\">{item.maktx}</h6>\r\n      <span className=\"paragraph-3 sku\">SKU: {item.matnr}</span>\r\n      {/* <span className=\"paragraph-3 previousPrice\">{item.previousPrice}</span>\r\n      <span className=\"paragraph-3 bold\" style={{ color: c.naranja }}>{item.precioPVD}</span>\r\n      <span className=\"paragraph-3\">{item.precioPVP}</span> */}\r\n      <CardPrecios data={item.precios} escalas={item.escalas} cantidad={item.cantidad} className=\"cardPrice\" />\r\n      <div className=\"counter\">\r\n        <CounterInput\r\n          background={\"#fff\"}\r\n          color={\"#316ACD\"}\r\n          borderColor={\"#E2E2E2\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n      </div>\r\n      <div className=\"options\">\r\n        <button className=\"btn-icon\"\r\n          type=\"button\"\r\n          onClick={() => eventFavorito({\r\n            codigo: item.matnr, descripcion: item.maktx,\r\n            moneda: item.waers, pantalla: pantalla\r\n          }, item.favorito, item.indice)}\r\n        >\r\n          <SvgAssets icon=\"icon-star\" fill={item.favorito ? c.amarillo : c.celeste} />\r\n        </button>\r\n        <button className=\"btn-icon\"\r\n          type=\"button\"\r\n          disabled={item.cantidad == 0}\r\n          onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n            codigo: item.matnr,\r\n            descripcion: item.maktx,\r\n            precioOferta: item.pOfe,\r\n            precioPublico: item.pPub,\r\n            precioFinal: item.pFin,\r\n            unidadMedida: item.meins,\r\n            moneda: item.waers,\r\n            pathI: item.pathI,\r\n            cantidadOriginal: item.cantidad,\r\n            cantidad: item.cantidad,\r\n            precioPVD: item.precioPVD,\r\n            precioPVP: item.precioPVP,\r\n            precioPublico: item.precioPublico,\r\n            pantalla: pantalla,\r\n            precios: item.precios,\r\n            escalas: item.escalas\r\n          })}\r\n        >\r\n          <SvgAssets icon=\"icon-add-cart\" className=\"add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class BuscadorVehiculo extends Component {\r\n  static displayName = BuscadorVehiculo.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      activeSlide: 0,\r\n      loading: true,\r\n      dataResult: { repuestos: [], destacados: [] },\r\n      page: 1,\r\n      size: data.PageSizeVehiculos,\r\n      currentPage: 1,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      filtroAnio: [],\r\n      filtroModelo: [],\r\n      filtroVehiculo: [],\r\n      selectedAnioValue: null,\r\n      selectedModeloValue: null,\r\n      selectedVehiculoValue: null,\r\n      selectedVehiculoValueOriginal: null,\r\n      titulo: \"\",\r\n      pdf: \"\",\r\n      addToCart: false,\r\n      dataToCard: {},\r\n      errorVehiculo: false,\r\n      modalZoom: false,\r\n      imgZoom: \"\",\r\n      listImgZoom: [],\r\n    };\r\n  }\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: Array.isArray(img) ? \"\" : img,\r\n      listImgZoom: Array.isArray(img) ? img : [],\r\n    }));\r\n  }\r\n  IrBuscador = async () => {\r\n    this.props.navigation.navigate('GenerarPedido');\r\n  }\r\n\r\n  render() {\r\n    const navigation = this.props.navigation;\r\n    const { errorVehiculo, page, size, currentPage, dataResult, titulo, pdf, activeSlide, loading, filtroAnio, filtroModelo, filtroVehiculo, selectedAnioValue, selectedModeloValue, selectedVehiculoValue } = this.state;\r\n    const auth = this.context;\r\n\r\n    var slider_destacados = {\r\n      dots: false,\r\n      infinite: true,\r\n      arrows: false,\r\n      speed: 500,\r\n      slidesToShow: 2,\r\n      slidesToScroll: 1,\r\n      variableWidth: true\r\n    };\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <form className=\"busqueda-pedido\" style={{ backgroundColor: c.verdeClaro }}>\r\n          <button\r\n            className='btn-icon btn-close'\r\n            type=\"button\"\r\n            onClick={() => { this.props.history.push('/generar-pedido') }}>\r\n            <SvgAssets icon=\"icon-close\" fill=\"#fff\" />\r\n          </button>\r\n          <FormGroup>\r\n            <Input\r\n              type=\"select\"\r\n              name=\"select\"\r\n              value={selectedAnioValue}\r\n              className=\"verde\"\r\n              style={{ flex: 0.5 }}\r\n              onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.FiltroPedito.ComboAnio)}\r\n            >\r\n              <option>Año</option>\r\n              {(filtroAnio.length > 0) ? filtroAnio.map((data, index) => {\r\n                return (\r\n                  <option key={index + 1} value={data.id}>{data.descripcion}</option>\r\n                )\r\n              }) : null}\r\n            </Input>\r\n            <Input type=\"select\"\r\n              name=\"select\"\r\n              value={selectedModeloValue}\r\n              className=\"verde ml-2\"\r\n              onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.FiltroPedito.ComboModelo)}\r\n            >\r\n              <option>Modelo</option>\r\n              {(filtroModelo.length > 0) ? filtroModelo.map((data, index) => {\r\n                return (\r\n                  <option key={index + 1} value={data.id}>{data.descripcion}</option>\r\n                )\r\n              }) : null}\r\n            </Input>\r\n          </FormGroup>\r\n          <FormGroup className=\"mb-0\">\r\n            <Input\r\n              type=\"select\"\r\n              name=\"select\"\r\n              value={selectedVehiculoValue}\r\n              className=\"verde\"\r\n              onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.FiltroPedito.ComboVehiculo)}\r\n            >\r\n              <option>Vehículo</option>\r\n              {(filtroVehiculo.length > 0) ? filtroVehiculo.map((data, index) => {\r\n                return (\r\n                  <option key={index + 1} value={data.descripcion}>{data.descripcion}</option>\r\n                )\r\n              }) : null}\r\n            </Input>\r\n            <button\r\n              className='btn-icon rounded'\r\n              type=\"button\"\r\n              onClick={() => { this.setFiler() }}\r\n            >\r\n              <SvgAssets icon=\"icon-lupa\" fill=\"#fff\" />\r\n            </button>\r\n          </FormGroup>\r\n          {(errorVehiculo) ? <p className=\"text-danger\">Debe seleccionar el año, modelo y vehículo</p> : null}\r\n        </form>\r\n        <Container className=\"py-5\" style={{ backgroundColor: '#fff', position: 'relative' }}>\r\n          <SvgAssets icon=\"curve-bottom\" className='curve-top' fill={c.verdeClaro} />\r\n          <div className=\"manual\">\r\n            <h6 className=\"title verde mb-0\">{titulo}</h6>\r\n            <button\r\n              className=\"btn-small\"\r\n              type=\"button\"\r\n              onClick={() => { this.loadInBrowser() }}\r\n            >\r\n              <SvgAssets icon=\"icon-download-file\" fill={c.naranja} />Descargar manual\r\n            </button>\r\n          </div>\r\n          <div className=\"cards-wrap\">\r\n            {dataResult.repuestos.map((item, index) => {\r\n              return (\r\n                <CardRepuestos\r\n                  key={index}\r\n                  data={item}\r\n                  event={this.loadIrRepuestos}\r\n                  zoom={this.toggleModalZoom}\r\n                />\r\n              )\r\n            })}\r\n          </div>\r\n          {(dataResult.repuestos.length > 0) ? <Pagination event={this.setPage} current={page} currentPage={currentPage} totalPage={dataResult.repuestos[0].totalPage} size={data.PageSizePaginator} /> : null}\r\n          {/* <CardRepuestos />\r\n          <CardRepuestos />\r\n          <CardRepuestos /> */}\r\n          {/* <Pagination /> */}\r\n          <SvgAssets icon=\"curve-bottom\" className='curve-bottom' fill=\"#fff\" />\r\n        </Container>\r\n        <Container className=\"py-5 productos_destacados\" style={{ backgroundColor: c.azul, position: 'relative' }}>\r\n          <h6 className=\"title\" style={{ color: '#fff' }}>Productos destacados</h6>\r\n          <Slider ref={c => (this.SLIDER_DESTACADOS = c)} {...slider_destacados} >\r\n            {dataResult != null ?\r\n              dataResult.destacados.map((carousel, index) => {\r\n                return (\r\n                  <ProductoDestacado key={index} item={carousel} index={index} event={this.postAgregarProductoPedido} eventCounter={this.setCounter} eventFavorito={this.postAgregarProductoFavorito} pantalla={data.Pantalla.BuscarPedidoVehiculo.Destacado} auth={auth} zoom={this.toggleModalZoom} />\r\n                )\r\n              })\r\n              : null}\r\n            <div>\r\n            </div>\r\n          </Slider>\r\n          <div className=\"arrows-slider\">\r\n            <button className=\"btn-icon\" onClick={() => this.SLIDER_DESTACADOS.slickPrev()}><SvgAssets icon=\"icon-left\" fill='#fff' /></button>\r\n            <button className=\"btn-icon\" onClick={() => this.SLIDER_DESTACADOS.slickNext()}><SvgAssets icon=\"icon-right\" fill='#fff' /></button>\r\n          </div>\r\n        </Container>\r\n        <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n        <ModalImageZoom2 dadComponent={this} />\r\n      </div>\r\n    );\r\n  }\r\n\r\n  checkParams(fn = () => { }) {\r\n    // debugger;\r\n    const { state } = this.props.location;\r\n    let parametro = state.dataParametro;\r\n\r\n    this.setState({\r\n      filtroAnio: parametro.filtroAnio,\r\n      filtroModelo: parametro.filtroModelo,\r\n      filtroVehiculo: parametro.filtroVehiculo,\r\n      selectedAnioValue: parametro.selectedAnioValue,\r\n      selectedModeloValue: parametro.selectedModeloValue,\r\n      selectedVehiculoValue: parametro.selectedVehiculoValue,\r\n      selectedVehiculoValueOriginal: parametro.selectedVehiculoValue\r\n    }, fn);\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.state !== this.props.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      this.checkParams(() => {\r\n        let data = localStorageCustom.prototype.getUsuario();\r\n        // debugger;\r\n        let selectedVehiculo = this.state.filtroVehiculo.filter(p => p.descripcion == this.state.selectedVehiculoValue)[0];\r\n\r\n        this.setState({ dealer: data.dealer, linea: data.linea, asociado: data.asociado }, () => {\r\n          this.postBuscarSistemaPrincipal(data.dealer, data.linea, data.asociado, selectedVehiculo);\r\n        });\r\n      });\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  postBuscarSistemaPrincipal = (dealer, linea, asociado, selectedVehiculo) => {\r\n    // debugger;\r\n    BuscarSistemaPrincipal(dealer.codcliente, linea.vkorg, dealer.correoElectronico,\r\n      selectedVehiculo.id, selectedVehiculo.descripcion, linea.centro,\r\n      asociado.moneda, asociado.poblacion, this.state.page)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            dataResult: {\r\n              repuestos: result.dto.sistema,\r\n              destacados: result.dto.productosDestacados,\r\n            },\r\n            titulo: result.dto.sistema[0].catalogo,\r\n            pdf: result.dto.sistema[0].linkpdf\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postBuscarSistema = async (dealer, linea, selectedVehiculo, indexPage) => {\r\n\r\n    let _textBuscador = this.state.selectedVehiculoValue;\r\n    let _textBuscadorOri = this.state.selectedVehiculoValueOriginal;\r\n\r\n    if (_textBuscador != _textBuscadorOri) {\r\n      this.setState({\r\n        size: data.PageSize,\r\n        currentPage: 1,\r\n        page: 1,\r\n        selectedVehiculoValueOriginal: _textBuscador\r\n      })\r\n      indexPage = 1\r\n    }\r\n\r\n    this.setState({ loading: true })\r\n    BuscarSistema(dealer.codcliente, linea.vkorg, dealer.correoElectronico,\r\n      selectedVehiculo.id, selectedVehiculo.descripcion, indexPage)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let _data = this.state.dataResult;\r\n          this.setState({\r\n            loading: false,\r\n            dataResult: {\r\n              repuestos: result.dto.sistema,\r\n              destacados: _data.destacados\r\n            },\r\n            titulo: result.dto.sistema[0].catalogo,\r\n            pdf: result.dto.sistema[0].linkpdf,\r\n            selectedVehiculoValueOriginal: selectedVehiculo.id\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  loadInBrowser = () => {\r\n    window.open(this.state.pdf, \"_blank\");\r\n    // Linking.openURL(this.state.pdf).catch(err => console.log(\"Couldn't load page\", err));\r\n  };\r\n  loadIrRepuestos = (item) => {\r\n    let datosBuscador = {\r\n      Catalogo: item.catalogo,\r\n      Linkimg: item.linkimg,\r\n      Pagina: item.pagina,\r\n      Sistemaweb: item.sistemaweb,\r\n      addToCart: false,\r\n      dataToCard: {}\r\n    }\r\n\r\n    this.props.history.push({\r\n      pathname: '/repuestos',\r\n      state: { datosBuscador }\r\n    });\r\n  };\r\n  showModalCart = () => {\r\n    this.setState(prevState => ({\r\n      addToCart: !prevState.addToCart\r\n    }));\r\n  }\r\n  // showCarrito = () => {\r\n  //   this.setState({ addToCart: false, loading: false }, () => {\r\n  //     this.props.navigation.navigate('CarritoListado');\r\n  //   });\r\n  // }\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: true }, () => {\r\n      setTimeout(() => {\r\n        this.setState({ loading: false })\r\n        this.props.history.push('/carrito');\r\n      }, 1000);\r\n    });\r\n  }\r\n  setPage = (index, change, type) => {\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({ page: index, currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1) })\r\n    }\r\n    else\r\n      this.setState({ page: index })\r\n\r\n    let selectedVehiculo = this.state.filtroVehiculo.filter(p => p.descripcion == this.state.selectedVehiculoValue)[0];\r\n    this.postBuscarSistema(this.state.dealer, this.state.linea, selectedVehiculo, index);\r\n  }\r\n  setFiler = () => {\r\n    if (this.state.selectedAnioValue == null || this.state.selectedAnioValue == \"\" ||\r\n      this.state.selectedModeloValue == null || this.state.selectedModeloValue == \"\" ||\r\n      this.state.selectedVehiculoValue == null || this.state.selectedVehiculoValue == \"\") {\r\n      this.setState({\r\n        errorVehiculo: true\r\n      })\r\n    }\r\n    else {\r\n      this.setState({ page: 1, errorVehiculo: false })\r\n      let selectedVehiculo = this.state.filtroVehiculo.filter(p => p.descripcion == this.state.selectedVehiculoValue)[0];\r\n      this.postBuscarSistema(this.state.dealer, this.state.linea, selectedVehiculo, 1);\r\n    }\r\n  }\r\n  setSelectedValue(e, ETipoFiltro) {\r\n    let value = e.currentTarget.value;\r\n    switch (ETipoFiltro) {\r\n      case data.FiltroPedito.ComboAnio:\r\n        this.setState({ errorVehiculo: false, selectedAnioValue: value, filtroModelo: [], filtroVehiculo: [] })\r\n        this.getFiltros(data.FiltroPedito.ComboModelo, value);\r\n        break;\r\n      case data.FiltroPedito.ComboModelo:\r\n        this.setState({ errorVehiculo: false, selectedModeloValue: value, filtroVehiculo: [] })\r\n        this.getFiltros(data.FiltroPedito.ComboVehiculo, this.state.selectedAnioValue, value);\r\n        break;\r\n      case data.FiltroPedito.ComboVehiculo:\r\n        this.setState({ errorVehiculo: false, selectedVehiculoValue: value })\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n  getFiltros = async (ETipoFiltro, Anio, Modelo) => {\r\n    switch (ETipoFiltro) {\r\n      case data.FiltroPedito.ComboModelo:\r\n        if (Anio == null || Anio == \"\" || Anio == undefined) return;\r\n        break;\r\n      case data.FiltroPedito.ComboVehiculo:\r\n        if (Anio == null || Anio == \"\" || Anio == undefined ||\r\n          Modelo == null || Modelo == \"\" || Modelo == undefined) return;\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n    this.setState({ loading: true })\r\n    getDataFiltros(ETipoFiltro, Anio, Modelo)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          switch (ETipoFiltro) {\r\n            // case data.FiltroPedito.ComboAnio:\r\n            // this.setState({ loading: false, filtroAnio: result.dto.filtro })          \r\n            // this.setState({ loading: false, filtroModelo: result.dto.filtro })\r\n            // break;\r\n            case data.FiltroPedito.ComboModelo:\r\n              this.setState({ loading: false, filtroModelo: result.dto.filtro })\r\n              break;\r\n            case data.FiltroPedito.ComboVehiculo:\r\n              this.setState({ loading: false, filtroVehiculo: result.dto.filtro })\r\n              break;\r\n            default:\r\n              break;\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Generar Pedidos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postAgregarProductoPedido = async (carritoProdctos, setcarritoProdctos, producto) => {\r\n    this.setState({ loading: true })\r\n\r\n    AgregarProductoPedido(this.state.dealer, producto, this.state.linea)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false, addToCart: true, dataToCard: producto })\r\n          // setcarritoProdctos(carritoProdctos+1);\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  setCounter = (counter, tab, index) => {\r\n    let _data = this.state.dataResult\r\n    let _repuestos = _data.repuestos\r\n    let _destacados = _data.destacados\r\n\r\n\r\n    if (counter == \"\") {\r\n      if (data.Pantalla.BuscarPedidoCodigo.Producto == tab)\r\n        _repuestos[index].cantidad = 0;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Destacado == tab)\r\n        _destacados[index].cantidad = 0;\r\n    } else {\r\n      if (data.Pantalla.BuscarPedidoCodigo.Producto == tab)\r\n        _repuestos[index].cantidad = counter;\r\n      else if (data.Pantalla.BuscarPedidoCodigo.Destacado == tab)\r\n        _destacados[index].cantidad = counter;\r\n    }\r\n    this.setState({\r\n      dataResult: {\r\n        repuestos: _repuestos,\r\n        destacados: _destacados\r\n      }\r\n    })\r\n\r\n  }\r\n\r\n  postAgregarProductoFavorito = async (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          let _data = this.state.dataResult\r\n          let _destacados = _data.destacados\r\n          let _repuestos = _data.repuestos\r\n          _destacados[index].favorito = !AplicaFavorito;\r\n\r\n          this.setState({\r\n            dataResult: {\r\n              repuestos: _repuestos,\r\n              destacados: _destacados\r\n            }\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  setActiveSlide = (index) => {\r\n    this.setState({ activeSlide: index })\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, Col, Button, ListGroupItem, Container } from 'reactstrap';\r\nimport { BrowserView, MobileView, isBrowser, isMobile } from \"react-device-detect\";\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport Slider from \"react-slick\";\r\nimport c from '../../constants/Colors';\r\nimport Pagination from '../reusable/Pagination';\r\nimport product from '../../assets/img/product.png';\r\nimport repuestos from '../../assets/img/repuestos.png';\r\nimport { ListarSistemaRepuestos } from '../../store/sagas/pedidoApi';\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport { AgregarProductoPedido } from '../../store/sagas/carritoApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { data } from '../../constants/Constants';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport ModalAddCart from \"../reusable/modals/AddCart\";\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\nimport ModalImageZoom2 from '../reusable/modals/ImageZoom2';\r\nimport CardPrecios from '../reusable/CardPrecios';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst CardRepuestos = ({ data, event, eventFavorito, eventCounter, pantalla, auth, isMobile, zoom }) => {\r\n\r\n  let card;\r\n  console.log('isMobile', isMobile)\r\n  if (isMobile) {\r\n    card = (\r\n      <div className=\"card_product_horizontal\">\r\n        <div className=\"cphLeftImage\">\r\n          <div style={{ cursor: 'pointer' }} onClick={() => zoom(data.fotos)}>\r\n            <img src={data.pathImage} />\r\n          </div>\r\n        </div>\r\n        <div className=\"cphTextCenter\">\r\n          <h6 className=\"paragraph-2 bold mb-1 azul\">{data.maktx}</h6>\r\n          <span className=\"paragraph-3 mb-3\" style={{ color: c.grisMedio }}>SKU: {data.codmaterial}</span>\r\n          <CardPrecios data={data.precios} escalas={data.escalas} cantidad={data.cantidad} className=\"cardPrice\" />\r\n          {/* <span className=\"paragraph-3 previousPrice\" style={{color: c.grisMedio}}>{data.precioPublico}</span>\r\n          <strong className=\"paragraph-3 bold naranja\">{data.precioPVD}</strong>\r\n          <span className=\"paragraph-3\" style={{color: c.grisMedio}}>{data.precioPVP}</span> */}\r\n        </div>\r\n        <div className=\"cphCounterInput\" style={{ backgroundColor: c.verdeClaro, justifyContent: 'space-between' }}>\r\n          <CounterInput\r\n            key={data.indice}\r\n            vertical\r\n            background={c.verdeClaro}\r\n            color={\"#fff\"}\r\n            borderColor={\"#fff\"}\r\n            data={data}\r\n            eventCounter={eventCounter}\r\n          />\r\n          {(data.icono == \"1\") ?\r\n            <button\r\n              className=\"btn-icon mt-3\"\r\n              disabled={data.cantidad == 0}\r\n              onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n                codigo: data.codmaterial,\r\n                descripcion: data.maktx,\r\n                precioOferta: data.precio1,\r\n                precioPublico: data.precio2,\r\n                precioFinal: data.precio3,\r\n                precioPVD: data.precioPVD,\r\n                precioPVP: data.precioPVP,\r\n                precioPublico: data.precioPublico,\r\n                unidadMedida: data.meins,\r\n                moneda: data.waers,\r\n                cantidadOriginal: data.cantidad,\r\n                cantidad: data.cantidad,\r\n                pantalla: pantalla,\r\n                pathI: data.pathImage,\r\n                precios: data.precios,\r\n                indice: data.indice,\r\n                escalas: data.escalas\r\n              })}\r\n            >\r\n              <SvgAssets icon=\"icon-add-cart\" />\r\n            </button>\r\n            : null}\r\n        </div>\r\n      </div>\r\n    )\r\n  } else {\r\n    card = (\r\n      <div className=\"card_listado_repuesto\">\r\n        <Row form>\r\n          <Col md={3} style={{ alignSelf: 'center' }}>\r\n            <div style={{ cursor: 'pointer' }} onClick={() => zoom(data.fotos)}>\r\n              <img src={data.pathImage} />\r\n            </div>\r\n          </Col>\r\n          <Col md={4} style={{ alignSelf: 'center' }}>\r\n            <h6 className=\"paragraph-2 bold mb-1 azul\">{data.maktx}</h6>\r\n            <span className=\"paragraph-3\" style={{ color: c.grisMedio }}>SKU: {data.codmaterial}</span>\r\n          </Col>\r\n          <Col md={1} style={{ alignSelf: 'center', textAlign: 'center' }}>\r\n            <span className=\"paragraph-2 bold\" style={{ color: c.azulClaro }}>{data.figura}</span>\r\n          </Col>\r\n          <Col md={1} style={{ alignSelf: 'center' }}>\r\n            <CounterInput\r\n              key={data.indice}\r\n              vertical\r\n              background={\"#fff\"}\r\n              color={c.azulClaro}\r\n              data={data}\r\n              eventCounter={eventCounter}\r\n            />\r\n          </Col>\r\n          <Col md={2} style={{ display: 'flex', alignItems: 'center' }}>\r\n            <CardPrecios data={data.precios} escalas={data.escalas} cantidad={data.cantidad} className=\"cardPrice\" />\r\n            <button type=\"button\"\r\n              className=\"btn-icon\"\r\n              style={{ position: 'absolute', bottom: 0 }}\r\n              onClick={() => eventFavorito({\r\n                codigo: data.codmaterial, descripcion: data.maktx,\r\n                moneda: data.waers, pantalla: \"BuscarPedidoVehiculo.Repuesto\"\r\n              }, data.favorito, data.indice)}\r\n            >\r\n              <SvgAssets icon=\"icon-star\" fill={c.celeste} fill={data.favorito ? c.amarillo : c.celeste} />\r\n            </button>\r\n          </Col>\r\n          <Col md={1} className=\"add-cart\">\r\n            {(data.icono == \"1\") ?\r\n              <button\r\n                className=\"btn-icon\"\r\n                disabled={data.cantidad == 0}\r\n                onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n                  codigo: data.codmaterial,\r\n                  descripcion: data.maktx,\r\n                  precioOferta: data.precio1,\r\n                  precioPublico: data.precio2,\r\n                  precioFinal: data.precio3,\r\n                  precioPVD: data.precioPVD,\r\n                  precioPVP: data.precioPVP,\r\n                  precioPublico: data.precioPublico,\r\n                  unidadMedida: data.meins, moneda: data.waers,\r\n                  cantidadOriginal: data.cantidad,\r\n                  cantidad: data.cantidad,\r\n                  pantalla: pantalla,\r\n                  pathI: data.pathImage,\r\n                  precios: data.precios,\r\n                  indice: data.indice,\r\n                  escalas: data.escalas\r\n                })}\r\n              >\r\n                <SvgAssets icon=\"icon-add-cart\" />\r\n              </button>\r\n              : null}\r\n          </Col>\r\n        </Row>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  return card\r\n}\r\n\r\nexport class Repuestos extends Component {\r\n  static displayName = Repuestos.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      isMobile: isMobile,\r\n      activeSlide: 0,\r\n      addToCart: false,\r\n      loading: true,\r\n      repuestos: [],\r\n      page: 1,\r\n      size: data.PageSizeVehiculos,\r\n      currentPage: 1,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      params: {},\r\n      titulo: \"\",\r\n      imagen: \"\",\r\n      addToCart: false,\r\n      dataToCard: {},\r\n      modalZoom: false,\r\n      imgZoom: \"\",\r\n      listImgZoom: [],\r\n      selectedAnioValue: \"\",\r\n      selectedModeloValue: \"\",\r\n      selectedVehiculoValue: \"\"\r\n    };\r\n  }\r\n  loadIrBuscador = () => {\r\n\r\n    let datosBuscador = this.state.params;\r\n\r\n    this.props.history.push({\r\n      pathname: '/generar-pedido',\r\n      state: { datosBuscador }\r\n    });\r\n  };\r\n\r\n  checkParams(fn = () => { }) {\r\n    const { state } = this.props.location;\r\n    let parametro = state.datosBuscador;\r\n    console.log(\"checkParams===>\", parametro);\r\n    this.setState({\r\n      params: parametro\r\n    }, fn)\r\n  }\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: Array.isArray(img) ? \"\" : img,\r\n      listImgZoom: Array.isArray(img) ? img : [],\r\n    }));\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0);\r\n      this.checkParams(() => {\r\n        let data = localStorageCustom.prototype.getUsuario()\r\n        this.setState({\r\n          dealer: data.dealer,\r\n          linea: data.linea,\r\n          asociado: data.asociado,\r\n          imagen: this.state.params.Linkimg,\r\n        }, () => {\r\n          this.postListarSistemaRepuestos(data.dealer, data.linea, data.asociado, this.state.params, this.state.page);\r\n        })\r\n      }\r\n      );\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  render() {\r\n    const navigation = this.props.navigation;\r\n    const { params, addToCart, loading, titulo, imagen, repuestos, page, currentPage, size, isMobile } = this.state;\r\n    const auth = this.context;\r\n\r\n    var slider_destacados = {\r\n      dots: true,\r\n      infinite: true,\r\n      arrows: false,\r\n      speed: 500,\r\n      slidesToShow: 2,\r\n      slidesToScroll: 1,\r\n      variableWidth: true\r\n    };\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Generar pedidos</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Pedidos</li>\r\n              <li><a onClick={this.loadIrBuscador} style={{ cursor: 'pointer' }}>Generar Pedido</a></li>\r\n              <li>{params.Sistemaweb}</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <form className=\"busqueda-pedido mobile\" style={{ backgroundColor: c.verdeClaro }}>\r\n          <h6 className=\"title-4\" style={{ color: '#fff' }}><Link to='/generar-pedido' className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link>{params.Sistemaweb}</h6>\r\n        </form>\r\n        <div className=\"container_whit_menu\">\r\n          <div className=\"container_left\">\r\n            <Container style={{ backgroundColor: '#fff', position: 'relative' }}>\r\n              <h6 className=\"desktop_titulo2 desktop\" style={{ color: c.verdeClaro }}>{params.Sistemaweb}</h6>\r\n              <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill={c.verdeClaro} />\r\n              {\r\n                (imagen != \"\") ?\r\n                  <img className=\"img-repuestos\" src={imagen} style={{ cursor: 'pointer' }} onClick={() => this.toggleModalZoom(imagen)} />\r\n                  : null\r\n              }\r\n            </Container>\r\n          </div>\r\n          <div className=\"container_right\">\r\n            <Container className=\"pb-5\" style={{ backgroundColor: '#fff', position: 'relative' }}>\r\n              <div className=\"header_list desktop\">\r\n                <Row form>\r\n                  <div style={{ flex: 2 }} />\r\n                  <div style={{ flex: 0.5 }} className=\"text-center\"><span>N° de parte</span></div>\r\n                  <div style={{ flex: 0.4 }}><span>Cantidad</span></div>\r\n                  <div style={{ flex: 0.8 }}><span>Precio<TooltipLeyenda color={c.azulClaro} style={{ position: 'absolute', right: 0, bottom: 10 }} /></span></div>\r\n                </Row>\r\n              </div>\r\n              <div className=\"cards-wrap\">\r\n                {repuestos.map((item, index) => {\r\n                  return (\r\n                    <CardRepuestos\r\n                      key={index}\r\n                      eventFavorito={this.postAgregarProductoFavorito}\r\n                      eventCounter={this.setCounter}\r\n                      event={this.postAgregarProductoPedido}\r\n                      pantalla={data.Pantalla.BuscarPedidoVehiculo.Repuesto}\r\n                      data={item}\r\n                      auth={auth}\r\n                      isMobile={isMobile}\r\n                      zoom={this.toggleModalZoom}\r\n                    />\r\n                  )\r\n                })}\r\n              </div>\r\n              {(repuestos.length > 0) ? <Pagination event={this.setPage} current={page} currentPage={currentPage} totalPage={repuestos[0].totalPage} size={data.PageSizePaginator} /> : null}\r\n            </Container>\r\n          </div>\r\n        </div>\r\n        <ModalImageZoom2 dadComponent={this} />\r\n        <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n      </div>\r\n    );\r\n  }\r\n\r\n  postListarSistemaRepuestos = async (dealer, linea, asociado, params, index) => {\r\n\r\n    ListarSistemaRepuestos(params.Catalogo, params.Linkimg, asociado.moneda,\r\n      params.Pagina, asociado.poblacion, params.Sistemaweb,\r\n      dealer.codcliente, dealer.correoElectronico, linea.vkorg, index)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n\r\n          this.setState({\r\n            loading: false,\r\n            repuestos: result.dto.sistemaRepuestos,\r\n            titulo: result.dto.sistemaRepuestos[0].sistema,\r\n            // imagen: result.dto.sistemaRepuestos[0].linkimg,\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  setCounter = (counter, tab, index) => {\r\n    let _repuestos = this.state.repuestos\r\n    if (counter == \"\") {\r\n      _repuestos[index].cantidad = 0;\r\n    } else {\r\n      _repuestos[index].cantidad = counter;\r\n    }\r\n    this.setState({\r\n      repuestos: _repuestos\r\n    })\r\n  }\r\n  setPage = (index, change, type) => {\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({\r\n        page: index,\r\n        currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1)\r\n      })\r\n    }\r\n    else\r\n      this.setState({ page: index })\r\n\r\n\r\n    this.setState({\r\n      loading: true\r\n    })\r\n    this.postListarSistemaRepuestos(this.state.dealer,\r\n      this.state.linea,\r\n      this.state.asociado,\r\n      this.state.params, index);\r\n  }\r\n\r\n  postAgregarProductoFavorito = async (producto, AplicaFavorito, index) => {\r\n    console.log(producto);\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n\r\n          this.setState({ loading: false })\r\n          let _data = this.state.repuestos\r\n          _data[index].favorito = !AplicaFavorito;\r\n          this.setState({\r\n            repuestos: _data\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postAgregarProductoPedido = async (carritoProdctos, setcarritoProdctos, producto) => {\r\n    this.setState({ loading: true })\r\n\r\n    AgregarProductoPedido(this.state.dealer, producto, this.state.linea, this.state.asociado)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n\r\n\r\n          let _repuestos = this.state.repuestos\r\n          console.log(\"producto====>\", producto);\r\n          console.log(\"_repuestos====>\", _repuestos);\r\n          _repuestos[producto.indice].cantidad = 0;\r\n\r\n          this.setState({ repuestos: _repuestos, loading: false, addToCart: true, dataToCard: producto })\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  setActiveSlide = (index) => {\r\n    this.setState({ activeSlide: index })\r\n  }\r\n  showModalCart = () => {\r\n    this.setState(prevState => ({\r\n      addToCart: !prevState.addToCart\r\n    }));\r\n  }\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: true }, () => {\r\n      setTimeout(() => {\r\n        this.setState({ loading: false })\r\n        this.props.history.push('/carrito');\r\n      }, 1000);\r\n    });\r\n  }\r\n  showSistema = () => {\r\n    this.setState({ addToCart: false, loading: false }, () => {\r\n      this.props.history.push('/buscador-vehiculo');\r\n    });\r\n  }\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\n\r\nconst ModalLimpiarCarrito = (props) => {\r\n    console.log(\"ModalLimpiarCarrito====>\", props.option, props.visible);\r\n    return (\r\n        <div>\r\n            <Modal returnFocusAfterClose={false} isOpen={props.visible} toggle={() => props.toggle(false)} className='modal_add_cart' centered backdrop=\"static\">\r\n                <ModalHeader>\r\n                    <button className=\"btn-icon modal-close\" onClick={() => props.toggle(false)}><SvgAssets icon=\"icon-close\" fill={c.celeste} /></button>\r\n                    <h6 style={{ color: '#fff' }}>\r\n                        <SvgAssets icon=\"icon-check\" fill={'#fff'} className=\"mr-3\" />\r\n                        Limpiar Carrito\r\n                    </h6>\r\n                </ModalHeader>\r\n                <ModalBody>\r\n                    <div className=\"cards_scroll\">\r\n                        <div key={0} className=\"card_reemplazo\">\r\n                            <div style={{ flex: 1, paddingRight: 10 }}>\r\n                                <div>\r\n                                    <div className=\"custom-control custom-radio custom-control-inline\">\r\n                                        <input id=\"radio1\" name={`radiolimpiar`}\r\n                                            checked={props.option == 'todos'}\r\n                                            onChange={() => props.toggleCheck('todos')}\r\n                                            type=\"radio\" className=\"custom-control-input\" />\r\n                                        <label className=\"custom-control-label\" htmlFor={`radio1`} style={{ color: '#FF9446' }} >Limpiar Todo</label>\r\n                                    </div>\r\n                                    <br />\r\n                                    <br />\r\n                                    <div className=\"custom-control custom-radio custom-control-inline\">\r\n                                        <input id=\"radio2\"\r\n                                            checked={props.option == 'stock'}\r\n                                            onChange={() => props.toggleCheck('stock')}\r\n                                            type=\"radio\" name={`radiolimpiar`} className=\"custom-control-input\" />\r\n                                        <label className=\"custom-control-label\" htmlFor={`radio2`} style={{ color: '#FF9446' }} >Limpiar Sin Stock</label>\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n\r\n                    </div>\r\n                    <div className=\"modal-footer\">\r\n                        <button type=\"button\"\r\n                            className={`btn-block${(props.option == '' ? \" disabled\" : \"\")}`}\r\n                            disabled={props.option == ''}\r\n                            onClick={() => (props.option == 'todos') ? props.toggleLimpiar(props.carritoProdctos, props.setcarritoProdctos) : props.toggleAceptar(props.carritoProdctos, props.setcarritoProdctos)}\r\n                        >Aceptar</button>\r\n                    </div>\r\n                </ModalBody>\r\n            </Modal>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default ModalLimpiarCarrito;","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Row, Modal, Col, ModalBody, ListGroup, ModalHeader } from 'reactstrap';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\n\r\nconst ModalConfirmarCarrito = (props) => {\r\n    const VISIBLE = props.visible;\r\n    const TOGGLE_MODAL = props.toggle;\r\n    const TITULO = props.titulo;\r\n    const MENSAJE = props.mensaje.split('@');\r\n    return (\r\n        <div>\r\n            <Modal returnFocusAfterClose={false}\r\n                isOpen={VISIBLE} toggle={() => TOGGLE_MODAL([])} className='modal_compatible' centered backdrop=\"static\">\r\n                {/* <ModalHeader>\r\n                    <button className=\"btn-icon modal-close\" onClick={() => props.toggle(false)}><SvgAssets icon=\"icon-close\" fill={c.celeste} /></button>\r\n                    <h6 style={{ color: '#fff' }}>\r\n                        <SvgAssets icon=\"icon-check\" fill={'#fff'} className=\"mr-3\" />\r\n                        {TITULO}\r\n                    </h6>\r\n                </ModalHeader> */}\r\n                <ModalBody>\r\n                    <ListGroup flush className=\"list-group-desktop\">\r\n                        <div className='content-scroll'>\r\n                            {\r\n                                MENSAJE.map((item, index) => {\r\n                                    return (\r\n                                        <p key={\"text_\" + index} className=\"paragraph-3\" style={{ color: c.grisMedio }}>{item}</p>\r\n                                    )\r\n                                })\r\n                            }\r\n\r\n                        </div>\r\n                    </ListGroup>\r\n\r\n                    <div className=\"row\">\r\n                        <div className=\"col-4\">\r\n                            <button\r\n                                className=\"btn-block bg_verde\"\r\n                                type=\"button\"\r\n                                onClick={() => TOGGLE_MODAL([])}\r\n                            >\r\n                                SI\r\n                            </button>\r\n                        </div>\r\n                        <div className=\"col-2\"><br /></div>\r\n                        <div className=\"col-3\">\r\n                            <button\r\n                                className=\"btn-block bg_rojo\"\r\n                                type=\"button\"\r\n                                onClick={() =>\r\n                                    props.postActualizarStockPorLimites(props.auth.setcarritoProdctos, props.data)\r\n                                }\r\n                            >\r\n                                NO\r\n                            </button>\r\n                        </div>\r\n                    </div>\r\n\r\n                </ModalBody>\r\n            </Modal>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default ModalConfirmarCarrito;","import React, { Component } from 'react';\r\nimport { UncontrolledTooltip, Input, Button, Badge, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport c from '../../constants/Colors';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { data } from '../../constants/Constants';\r\nimport { ActualizarStockPorLimitesProductoCarritoPedido, RegistrarMaterialSustituto, BuscarCarritoPedido, EliminarProductosCarritoPedido, EliminarProductoCarritoPedido, ActualizarStockProductoCarritoPedido, ListarMaterialSustituto } from '../../store/sagas/carritoApi';\r\nimport { BuscarKit } from '../../store/sagas/pedidoApi';\r\nimport { getStatePage } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\n// import Alert from 'sweetalert2'\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport CardPrecios from '../reusable/CardPrecios';\r\nimport ModalReemplazo from '../reusable/modals/Reemplazar';\r\nimport ModalLimpiarCarrito from '../reusable/modals/ModalLimpiarCarrito';\r\nimport ModalConfirmarCarrito from '../reusable/modals/ModalConfirmarCarrito';\r\n\r\nimport ModalKit from '../reusable/modals/kit';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst CardStock = ({ item, postAgregarProductoFavorito, postActualizarStock, eventEliminar, eventCounter, auth, kit }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal card_carrito\">\r\n      <div className=\"cphTextLeft\">\r\n        <Badge color=\"success\">{item.validaStokStr}</Badge>\r\n        <div>\r\n          <h6 className=\"paragraph-2 bold mb-1\" style={{ color: c.verdeClaro, wordBreak: 'break-word' }}>{item.maktx}</h6>\r\n          <span className=\"paragraph-3 mb-3 d-block\" style={{ color: c.verdeClaro }}>SKU: {item.matnr}</span>\r\n        </div>\r\n        <span className=\"paragraph-3\" style={{ color: c.naranja }}>Total: {item.precioSubTotal}</span>\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        {/* <span className=\"paragraph-3 pu\">P.U.</span> */}\r\n        {/* <CardPrecios data={item.precios} className=\"cphTextCenter\" /> */}\r\n        <div className=\"prices mt-4\">\r\n          {/* <span className=\"paragraph-3 d-block previousPrice\">{item.precioPublico}</span> */}\r\n          <span className=\"paragraph-3 d-block\">{item.precioPVD}</span>\r\n        </div>\r\n        <button\r\n          className='btn-actualizar'\r\n          type=\"button\"\r\n          onClick={() => { postActualizarStock(auth.carritoProdctos, auth.setcarritoProdctos, item) }}\r\n        >\r\n          Actualizar\r\n        </button>\r\n        <div className=\"options\">\r\n          {item.flagKit ? (\r\n            <button className='btn-icon' onClick={() => kit(item.matnr, item.maktx)}>\r\n              <SvgAssets icon=\"icon-kit\" fill={'#ED7F9A'} />\r\n            </button>) : (\r\n            <button className='btn-icon'\r\n              type=\"button\"\r\n              onClick={() => postAgregarProductoFavorito({\r\n                codigo: item.matnr, descripcion: item.maktx,\r\n                moneda: item.waers, pantalla: data.Pantalla.Carrito.Producto\r\n              }, item.favorito, item.indice)}\r\n            >\r\n              <SvgAssets icon=\"icon-star\" fill={item.favorito ? c.amarillo : c.celeste} />\r\n            </button>\r\n          )}\r\n          <button className='btn-icon'\r\n            type=\"button\"\r\n            onClick={() => { eventEliminar(auth.carritoProdctos, auth.setcarritoProdctos, item.idPk) }}\r\n          >\r\n            <SvgAssets icon=\"icon-trash\" fill={c.celeste} />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: c.azulClaro, justifyContent: 'space-between' }}>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>Cantidad</span>\r\n        <CounterInput\r\n          vertical\r\n          background={c.azulClaro}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst CardSinStock = ({ item, postAgregarProductoFavorito, eventReemplazo, postActualizarStock, eventEliminar, eventCounter, auth, kit }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal card_carrito\">\r\n      <div className=\"cphTextLeft\">\r\n        <div className=\"reemplazar\">\r\n          <Badge color=\"danger\">{item.validaStokStr}</Badge>\r\n          {(item.sustituto) ?\r\n            <button className='btn-icon' type=\"button\"\r\n              onClick={() => { eventReemplazo(item) }}>\r\n              <SvgAssets icon=\"icon-foco\" />\r\n            </button>\r\n            : null}\r\n        </div>\r\n        {(item.mensajeLlegada) ?\r\n          <span className=\"fecha\">“{item.mensajeLlegada}”</span>\r\n          : null\r\n        }\r\n        <div>\r\n          <h6 className=\"paragraph-2 bold mb-1\">{item.maktx}</h6>\r\n          <span className=\"paragraph-3 mb-3 d-block\" style={{ color: c.grisMedio }}>SKU: {item.matnr}</span>\r\n        </div>\r\n        <span className=\"paragraph-3\" style={{ color: c.grisMedio }}>Total: {item.precioSubTotal}</span>\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        {/* <span className=\"paragraph-3 pu\" style={{ color: c.grisMedio }}>P.U.</span> */}\r\n        <span className=\"paragraph-3 mt-4\" style={{ color: c.grisMedio }}>{item.precioPVD}</span>\r\n        <button\r\n          className='btn-actualizar'\r\n          type=\"button\"\r\n          onClick={() => { postActualizarStock(auth.carritoProdctos, auth.setcarritoProdctos, item) }}\r\n        >\r\n          Actualizar\r\n        </button>\r\n        <div className=\"options\">\r\n          {item.flagKit ? (\r\n            <button className='btn-icon' onClick={() => kit(item.matnr, item.maktx)}>\r\n              <SvgAssets icon=\"icon-kit\" fill={'#ED7F9A'} />\r\n            </button>\r\n          ) : (\r\n            <button\r\n              className='btn-icon'\r\n              type=\"button\"\r\n              onClick={() => postAgregarProductoFavorito({\r\n                codigo: item.matnr, descripcion: item.maktx,\r\n                moneda: item.waers, pantalla: data.Pantalla.Carrito.Producto\r\n              }, item.favorito, item.indice)}\r\n            >\r\n              <SvgAssets icon=\"icon-star\" fill={item.favorito ? c.amarillo : c.celeste} />\r\n            </button>\r\n          )}\r\n          <button\r\n            className='btn-icon'\r\n            type=\"button\"\r\n            onClick={() => { eventEliminar(auth.carritoProdctos, auth.setcarritoProdctos, item.idPk) }}\r\n          >\r\n            <SvgAssets icon=\"icon-trash\" fill={c.celeste} />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: c.azulClaro, justifyContent: 'space-between' }}>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>Cantidad</span>\r\n        <CounterInput\r\n          vertical\r\n          background={c.azulClaro}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class Carrito extends Component {\r\n  static displayName = Carrito.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      show: false,\r\n      option: '',\r\n      isEmpty: false,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      loading: true,\r\n      localId: 0,\r\n      pedidoId: 0,\r\n      productos: [],\r\n      mensajeSaldo: '',\r\n      showModalLimite: false,\r\n      alertas: [],\r\n      datosTotal: {},\r\n      mensajeTotal: \"\",\r\n      dataReemplazo: {\r\n        data: [],\r\n        isVisible: false,\r\n        producto: null\r\n      },\r\n      productoReem: {\r\n        cantidad: 0\r\n      },\r\n      sinStock: false,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      mostrarOfertas: true,\r\n      procedencia: null,\r\n      modalKit: false,\r\n      kit: '',\r\n      detalleKit: [],\r\n    };\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    if (state != undefined) {\r\n      // let datosBuscador = state.datosBuscador;      \r\n      if (state.datosBuscador) {\r\n        this.setState({ localId: state.datosBuscador.localId });\r\n      }\r\n      if (state.procedencia) {\r\n        this.setState({ procedencia: state.procedencia });\r\n      }\r\n    } else\r\n      this.setState({ localId: 0, procedencia: null })\r\n    // this.setState({ textBuscador: datosBuscador.text, textBuscadorOri: datosBuscador.text })\r\n  }\r\n\r\n  toggleModalAlertLimpiar = (close) => {\r\n    this.setState({\r\n      show: close,\r\n      option: ''\r\n    })\r\n  }\r\n\r\n  toggleOptionModalAlertLimpiar = (option) => {\r\n    this.setState({\r\n      option: option\r\n    })\r\n  }\r\n\r\n  postActualizarStockPorLimites = async (setcarritoProdctos, productos) => {\r\n    this.setState({ loading: true, showModalLimite: false })\r\n\r\n    let productosLimite = productos.filter(m => m.mensajeSaldo != '').map(p => {\r\n      return {\r\n        ProductoId: p.idPk,\r\n        Cantidad: p.saldo\r\n      }\r\n    })\r\n    ActualizarStockPorLimitesProductoCarritoPedido(this.state.dealer,\r\n      this.state.linea,\r\n      this.state.asociado,\r\n      this.state.localId,\r\n      this.state.pedidoId,\r\n      productosLimite)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let productosCantidad = result.dto.repuestos.filter(t => t.validaStok);\r\n          let _sinStock = result.dto.repuestos.filter(t => !t.validaStok);\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          this.setState({\r\n            loading: false,\r\n            productos: result.dto.repuestos,\r\n            mensajeSaldo: result.dto.mensajeSaldo,\r\n            showModalLimite: result.dto.mensajeSaldo != '',\r\n            isEmpty: result.dto.repuestos.length == 0,\r\n            mensajeTotal: `(${productosCantidad.length} PRODUCTOS)`,\r\n            datosTotal: {\r\n              total: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0,\r\n              moneda: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].sWaers : \"\",\r\n            },\r\n            sinStock: _sinStock.length > 0\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postEliminarProductoCarritoPedido = async (carritoProdctos, setcarritoProdctos, productoId) => {\r\n    this.setState({ loading: true })\r\n    EliminarProductoCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado,\r\n      this.state.localId, this.state.pedidoId, productoId)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          let productosCantidad = result.dto.repuestos.filter(t => t.validaStok);\r\n          let _sinStock = result.dto.repuestos.filter(t => !t.validaStok);\r\n          this.setState({\r\n            loading: false,\r\n            productos: result.dto.repuestos,\r\n            mensajeSaldo: result.dto.mensajeSaldo,\r\n            showModalLimite: result.dto.mensajeSaldo != '',\r\n            isEmpty: result.dto.repuestos.length == 0,\r\n            mensajeTotal: `(${productosCantidad.length} PRODUCTOS)`,\r\n            datosTotal: {\r\n              total: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0,\r\n              moneda: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].sWaers : \"\",\r\n            },\r\n            sinStock: _sinStock.length > 0\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n\r\n  postLimpiarCarritoPedidoDemanda = async (carritoProdctos, setcarritoProdctos) => {\r\n    var sinStockId = this.state.productos.filter(x => !x.validaStok).map(p => p.idPk);\r\n    this.setState({ loading: true })\r\n    EliminarProductosCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado,\r\n      this.state.localId, this.state.pedidoId, sinStockId)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          let _sinStock = result.dto.repuestos.filter(t => !t.validaStok);\r\n          let productosCantidad = result.dto.repuestos.filter(t => t.validaStok);\r\n          this.setState({\r\n            show: false,\r\n            option: '',\r\n            loading: false,\r\n            productos: result.dto.repuestos,\r\n            isEmpty: result.dto.repuestos.length == 0,\r\n            mensajeTotal: `(${productosCantidad.length} PRODUCTOS)`,\r\n            mostrarOfertas: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].mostrarOfertas : true,\r\n            datosTotal: {\r\n              total: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0,\r\n              moneda: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].sWaers : \"\",\r\n            },\r\n            sinStock: _sinStock.length > 0\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postLimpiarCarritoPedido = async (carritoProdctos, setcarritoProdctos) => {\r\n    this.setState({ loading: true })\r\n    console.log(\"postLimpiarCarritoPedido\");\r\n\r\n    EliminarProductosCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado,\r\n      this.state.localId, this.state.pedidoId, [])\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          setcarritoProdctos(0);\r\n\r\n          this.setState({\r\n            show: false,\r\n            option: '',\r\n            loading: false,\r\n            productos: [],\r\n            isEmpty: true,\r\n            mensajeTotal: `(0 PRODUCTOS)`,\r\n            datosTotal: {\r\n              total: 0,\r\n              moneda: \"\",\r\n            },\r\n            sinStock: false\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { mensajeSaldo, showModalLimite, sinStock, datosTotal, productoReem, isEmpty, productos, alertas, loading, asociado, mensajeTotal, dataReemplazo } = this.state;\r\n    const auth = this.context;\r\n    return (\r\n      <div>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1><SvgAssets icon=\"icon-cart\" fill='#fff' />Carrito de compras</h1>\r\n            <span className=\"desktop_parrafo2 d-block mt-2 light\" style={{ color: c.celeste }}>Solo se pueden comprar repuestos con stock</span>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb mb-0\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard' className=\"active\">Dashboard</Link></li>\r\n              <li>Carrito de compras</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        {isEmpty ?\r\n          <div className=\"rs_container mobile\">\r\n            <h6 className=\"title-2 px-5\">\r\n              <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={c.azulClaro} /></a>\r\n              {asociado.razonsSocial}\r\n            </h6>\r\n            <p className=\"paragraph-1 azul\">Repuestos</p>\r\n            <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#1B52B2\" />\r\n          </div> : null\r\n        }\r\n\r\n        <Container className={`${(isEmpty ? \"py-5\" : \"pt-5 pb-float\")}`}>\r\n          <div className=\"mb-4 mobile\">\r\n            <h6 className=\"title white mobile mb-0\"><SvgAssets icon=\"icon-cart\" fill=\"#fff\" />Carrito de compras</h6>\r\n            {!isEmpty ? <p className=\"paragraph-2 text-center light mobile\" style={{ color: c.celeste }}>Solo se pueden comprar repuestos con stock</p> : null}\r\n          </div>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#2861c2\" />\r\n            <div id=\"tooltip\" className=\"tooltip-leyenda\" style={{ width: 20, marginLeft: 'auto', position: 'relative', top: -12 }}>\r\n              <SvgAssets icon=\"icon-info\" fill={c.azulClaro} />\r\n              <UncontrolledTooltip placement=\"left\" target=\"tooltip\" className=\"tooltip-leyenda\">\r\n                <span>PVD: Precio Venta Dealer</span>\r\n                <span>PVP: Precio Venta Público</span>\r\n                <hr />\r\n                <span className=\"light\">El total puede variar por cálculos en el PVD unitario</span>\r\n              </UncontrolledTooltip>\r\n            </div>\r\n            {isEmpty ?\r\n              <div>\r\n                <div className=\"empty\">\r\n                  <SvgAssets icon=\"icon-cart\" fill={c.celeste} />\r\n                  <p className=\"paragraph-1 bold text-center\" style={{ color: c.celeste }}>Tu carrito de compras está vacío</p>\r\n                  <span className=\"total bold\">TOTAL: S/ 0.00</span>\r\n                </div>\r\n                <div className=\"text-center mt-2 mobile\">\r\n                  <Link to=\"/generar-pedido\" style={{ textDecoration: 'none' }}>\r\n                    <button className='btn-block' style={{ backgroundColor: c.naranja }}>\r\n                      ir al buscador<SvgAssets icon=\"icon-lupa\" className='ml-2' fill=\"#fff\" />\r\n                    </button>\r\n                  </Link>\r\n                </div>\r\n              </div>\r\n              :\r\n              <div>\r\n                <div className=\"cards-wrap\">\r\n                  {productos.map((item, index) => {\r\n                    return (\r\n                      (item.validaStok) ?\r\n                        <CardStock auth={auth} key={index} item={item} postAgregarProductoFavorito={this.postAgregarProductoFavorito} postActualizarStock={this.postActualizarStock} eventCounter={this.setCounter} eventEliminar={this.postEliminarProductoCarritoPedido} kit={this.toggleModalKit} /> :\r\n                        <CardSinStock auth={auth} key={index} item={item} postAgregarProductoFavorito={this.postAgregarProductoFavorito} postActualizarStock={this.postActualizarStock} eventReemplazo={this.MostrarReemplazo} eventCounter={this.setCounter} eventEliminar={this.postEliminarProductoCarritoPedido} kit={this.toggleModalKit} />\r\n                    )\r\n                  })}\r\n                </div>\r\n                {/* {(productos.length > 0) ?\r\n                  <p className={`total-price ${(isEmpty ? \"azul\" : \"naranja\")}`}>TOTAL  {mensajeTotal}: {productos[0].precioTotal}</p>\r\n                  : null} */}\r\n                {/* {isEmpty ?\r\n                  <div>\r\n                    {(productos.length > 0) ?\r\n                    <p className=\"total-price azul\">TOTAL  {mensajeTotal}: {productos[0].precioTotal}</p>: null}\r\n                    <Link to=\"/generar-pedido\" style={{ textDecoration: 'none' }}>\r\n                      <button className='btn-block' style={{ backgroundColor: c.naranja }}>\r\n                        ir al buscador<SvgAssets icon=\"icon-lupa\" className='ml-2' fill=\"#fff\" />\r\n                      </button>\r\n                    </Link>\r\n                  </div>\r\n                  : null\r\n                } */}\r\n              </div>\r\n            }\r\n            {(productos.filter(t => !t.validaStok).length == 0) ? null :\r\n              <div className='text-left'>\r\n                <Button\r\n                  onClick={() => { this.postLimpiarCarritoPedidoDemanda(auth.carritoProdctos, auth.setcarritoProdctos) }}\r\n                  // onClick={() => (productos.length == productos.filter(t => !t.validaStok).length || productos.length == productos.filter(t => t.validaStok).length) ?\r\n                  //   this.postLimpiarCarritoPedido(auth.carritoProdctos, auth.setcarritoProdctos) :\r\n                  //   this.toggleModalAlertLimpiar(true)\r\n                  // }\r\n                  color=\"link\" className=\"btn_clear_list\">\r\n                  <SvgAssets icon='icon-trash-2' fill={c.azulClaro} />\r\n                  Limpiar Carrito.\r\n                </Button>\r\n              </div>}\r\n          </div>\r\n          {isEmpty ?\r\n            <Link to=\"/generar-pedido\" className=\"desktop\" style={{ textDecoration: 'none' }}>\r\n              <button className='btn-block mt-5' style={{ backgroundColor: c.naranja }}>\r\n                ir al buscador<SvgAssets icon=\"icon-lupa\" className='ml-2' fill=\"#fff\" />\r\n              </button>\r\n            </Link>\r\n            : null}\r\n        </Container>\r\n        {(productos.length > 0) ?\r\n          <div className=\"float_section\">\r\n            <SvgAssets icon=\"curve-top\" className=\"curve\" fill={c.azul} />\r\n            <p className={`total-price ${(isEmpty ? \"azul\" : \"naranja\")}`}>\r\n              TOTAL  {mensajeTotal}: <span className=\"bold\" style={{ color: '#fff' }}>{productos[0].precioTotal.toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n            </p>\r\n            <button className='btn-block' type=\"button\"\r\n              disabled={(datosTotal.total == 0 || showModalLimite)}\r\n              onClick={() => this.IrOfertas()}\r\n            >siguiente</button>\r\n          </div>\r\n          : null}\r\n        <ModalReemplazo\r\n          modal={dataReemplazo}\r\n          dadComponent={this}\r\n          reemplazo={productoReem}\r\n          auth={auth}\r\n        />\r\n\r\n        <ModalLimpiarCarrito\r\n          visible={this.state.show}\r\n          option={this.state.option}\r\n          toggle={this.toggleModalAlertLimpiar}\r\n          toggleCheck={this.toggleOptionModalAlertLimpiar}\r\n          toggleAceptar={this.postLimpiarCarritoPedidoDemanda}\r\n          toggleLimpiar={this.postLimpiarCarritoPedido}\r\n          carritoProdctos={auth.carritoProdctos}\r\n          setcarritoProdctos={auth.setcarritoProdctos}\r\n          sinStock={sinStock}\r\n        />\r\n\r\n        <ModalConfirmarCarrito\r\n          visible={showModalLimite}\r\n          auth={auth}\r\n          data={productos}\r\n          mensaje={mensajeSaldo}\r\n          toggle={this.toggleModalAlertLimite}\r\n          postActualizarStockPorLimites={this.postActualizarStockPorLimites}\r\n        />\r\n\r\n\r\n        <ModalKit dadComponent={this} detalleKit={this.state.detalleKit} />\r\n      </div>\r\n    );\r\n  }\r\n  toggleModalAlertLimite = () => {\r\n    this.setState({ showModalLimite: false })\r\n  }\r\n  notificacion = async (alertTitulo = \"\", alertMensaje = \"\") => {\r\n    this.setState({ alertTitulo, alertMensaje });\r\n    this.toggleModalAlert();\r\n  }\r\n  toggleModalAlert = () => {\r\n    this.setState(prevState => ({\r\n      showAlert: !prevState.showAlert,\r\n    }));\r\n  }\r\n  toggleModalKit = (matnr, maktx) => {\r\n    this.setState(prevState => ({\r\n      modalKit: !prevState.modalKit,\r\n    }));\r\n\r\n    if (!this.state.modalKit) {\r\n      this.setState(prevState => ({\r\n        kit: maktx,\r\n      }));\r\n      this.postBuscarKit(this.state.dealer, this.state.linea, matnr)\r\n    }\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      const auth = this.context;\r\n      this.load(auth.carritoProdctos, auth.setcarritoProdctos, auth.setmostrarOfertas);\r\n      this.checkParams()\r\n    } else\r\n      window.location.href = \"/\";\r\n    // resizeInput();\r\n  }\r\n\r\n  IrDashboard = async () => {\r\n    this.props.history.push('Dashboard');\r\n  }\r\n  load = (carritoProdctos, setcarritoProdctos, setmostrarOfertas) => {\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ loading: true, dealer: data.dealer, linea: data.linea, asociado: data.asociado }, () => {\r\n      this.postBuscarCarritoPedido(carritoProdctos, setcarritoProdctos, setmostrarOfertas);\r\n    })\r\n  }\r\n  CerrarReemplazo = () => {\r\n    this.setState({\r\n      dataReemplazo: {\r\n        data: [],\r\n        isVisible: false,\r\n        producto: null\r\n      },\r\n      productoReem: { cantidad: 0 }\r\n    })\r\n  }\r\n  ejectarReemplazo = (carritoProdctos, setcarritoProdctos) => {\r\n    this.setState({\r\n      loading: true\r\n    })\r\n\r\n\r\n    RegistrarMaterialSustituto(this.state.dealer,\r\n      this.state.linea, this.state.asociado, this.state.localId, this.state.pedidoId,\r\n      this.state.dataReemplazo.producto.idPk,\r\n      this.state.productoReem)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            dataReemplazo: {\r\n              data: [],\r\n              isVisible: false,\r\n              producto: null\r\n            }\r\n          })\r\n          this.load(carritoProdctos, setcarritoProdctos);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  seleccionarReemplazo = async (value) => {\r\n    this.setState({\r\n      productoReem: { ...value, cantidad: 1, cantidadOriginal: 1 }\r\n    })\r\n  }\r\n\r\n  setCounterReemplazo = (counter, tab, index) => {\r\n    let _data = this.state.dataReemplazo.data\r\n\r\n\r\n\r\n    let _reem = this.state.productoReem;\r\n    let _isVisible = this.state.dataReemplazo.isVisible\r\n    let _producto = this.state.dataReemplazo.producto\r\n    if (counter == \"\") {\r\n      _data[index].cantidad = 0;\r\n      _data[index].precioTotal = 0;\r\n    } else {\r\n      _data[index].cantidad = counter;\r\n      _data[index].precioTotal = counter * _data[index].pfin;\r\n    }\r\n\r\n    _reem.cantidad = counter;\r\n    console.log(\"setCounterReemplazo==>\", counter, tab, index, _data, _reem);\r\n    this.setState({\r\n      productoReem: _reem,\r\n      dataReemplazo: {\r\n        data: _data,\r\n        isVisible: _isVisible,\r\n        producto: _producto\r\n      }\r\n    })\r\n  }\r\n\r\n  MostrarReemplazo = async (prod) => {\r\n    this.setState({\r\n      loading: true\r\n    })\r\n    ListarMaterialSustituto(this.state.dealer, this.state.linea, this.state.asociado, prod.matnr, prod.cantidad)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            dataReemplazo: {\r\n              data: result.dto.maerialSustituto,\r\n              isVisible: true,\r\n              producto: prod\r\n            }\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n\r\n  }\r\n\r\n  IrOfertas = async () => {\r\n    if (this.state.mostrarOfertas) {\r\n      this.props.history.push({\r\n        pathname: '/carrito/ofertas',\r\n        state: {\r\n          datosTotal: this.state.datosTotal,\r\n          datosProductos: this.state.productos,\r\n          localId: this.state.localId,\r\n        }\r\n      });\r\n    } else {\r\n      this.props.history.push({\r\n        pathname: '/carrito/envio',\r\n        state: {\r\n          datosTotal: this.state.datosTotal,\r\n          localId: this.state.localId,\r\n          pedidoId: 0 //this.state.pedidoId\r\n        }\r\n      });\r\n    }\r\n\r\n  }\r\n  postActualizarStock = async (carritoProdctos, setcarritoProdctos, prod) => {\r\n    this.setState({ loading: true })\r\n    ActualizarStockProductoCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado,\r\n      this.state.localId, this.state.pedidoId, prod.idPk, prod.cantidad)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let productosCantidad = result.dto.repuestos.filter(t => t.validaStok);\r\n          let _sinStock = result.dto.repuestos.filter(t => !t.validaStok);\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          this.setState({\r\n            loading: false,\r\n            productos: result.dto.repuestos,\r\n            mensajeSaldo: result.dto.mensajeSaldo,\r\n            showModalLimite: result.dto.mensajeSaldo != '',\r\n            isEmpty: result.dto.repuestos.length == 0,\r\n            mensajeTotal: `(${productosCantidad.length} PRODUCTOS)`,\r\n            datosTotal: {\r\n              total: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0,\r\n              moneda: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].sWaers : \"\",\r\n            },\r\n            sinStock: _sinStock.length > 0\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postAgregarProductoReemplazoFavorito = async (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n\r\n          let _dataReemplazo = this.state.dataReemplazo\r\n          let _data = _dataReemplazo.data\r\n          _data[index].favorito = !AplicaFavorito;\r\n          this.setState({\r\n            dataReemplazo: {\r\n              data: _data,\r\n              isVisible: _dataReemplazo.isVisible,\r\n              producto: _dataReemplazo.producto\r\n            }\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Reemplazo\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postAgregarProductoFavorito = async (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          let _productos = this.state.productos\r\n          _productos[index].favorito = !AplicaFavorito;\r\n\r\n          this.setState({\r\n            productos: _productos\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postBuscarCarritoPedido = async (carritoProdctos, setcarritoProdctos, setmostrarOfertas) => {\r\n    BuscarCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado, this.state.localId, this.state.pedidoId)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let productosCantidad = result.dto.repuestos.filter(t => t.validaStok);\r\n          let _sinStock = result.dto.repuestos.filter(t => !t.validaStok);\r\n          let _total = (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0;\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n\r\n          let mostrarOfertas = (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].mostrarOfertas : true;\r\n          this.setState({\r\n            loading: false,\r\n            mensajeSaldo: result.dto.mensajeSaldo,\r\n            showModalLimite: result.dto.mensajeSaldo != '',\r\n            productos: result.dto.repuestos,\r\n            alertas: result.dto.alertas,\r\n            isEmpty: result.dto.repuestos.length == 0,\r\n            mensajeTotal: `(${productosCantidad.length} PRODUCTOS)`,\r\n            mostrarOfertas,\r\n            datosTotal: {\r\n              total: _total,\r\n              moneda: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].sWaers : \"\",\r\n            },\r\n            sinStock: _sinStock.length > 0\r\n          });\r\n          setmostrarOfertas(mostrarOfertas);\r\n\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postBuscarKit = (dealer, linea, Matnr) => {\r\n    this.setState({ loading: true })\r\n    BuscarKit(dealer, linea, Matnr)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            detalleKit: result.dto.detalleKit,\r\n            loading: false,\r\n          })\r\n\r\n        } else {\r\n          this.setState({\r\n            detalleKit: [],\r\n            loading: false,\r\n          })\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          // notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  setCounter = (counter, item, index) => {\r\n\r\n    let _productos = this.state.productos\r\n    if (counter == \"\") {\r\n      _productos[index].cantidad = 0;\r\n    } else {\r\n      _productos[index].cantidad = counter;\r\n    }\r\n\r\n    this.setState({\r\n      productos: _productos\r\n    })\r\n  }\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport c from '../../../constants/Colors';\r\n\r\nconst ModalSinStock = (item) => {\r\n    const VISIBLE = item.dadComponent.state.addStock;\r\n    const CARRITO_MODAL = item.dadComponent['showCarrito'];\r\n\r\n    return (\r\n        <div>\r\n            <Modal isOpen={VISIBLE} toggle={CARRITO_MODAL} className='modal_notificacion' centered backdrop=\"static\">\r\n                <button className=\"btn-icon modal-close\" onClick={CARRITO_MODAL}><SvgAssets icon=\"icon-close\" fill={c.azulClaro} /></button>\r\n                <h6><SvgAssets icon=\"icon-warning\" fill={c.rojoClaro} /></h6>\r\n                <p className=\"paragraph-2 light\" style={{ color: c.rojoClaro }}>Alguno de tus productos<br /><strong> ya no cuenta con stock y/o precio</strong></p>\r\n                <button className='btn-block' style={{ backgroundColor: c.azulClaro }} type=\"button\" onClick={CARRITO_MODAL}>\r\n                    ENTENDIDO\r\n                </button>\r\n            </Modal>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default ModalSinStock;","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Badge, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport Pagination from '../reusable/Pagination'\r\nimport c from '../../constants/Colors';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { BuscarProductoOfertas } from '../../store/sagas/pedidoApi';\r\nimport { AgregarProductoCarrito, BuscarCarritoPedido } from '../../store/sagas/carritoApi';\r\nimport { notificacion, numberWithCommas, getStatePage } from '../../utilitarios/util';\r\n\r\nimport { data } from '../../constants/Constants';\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\nimport CardPrecioOferta from '../reusable/CardPrecioOferta';\r\nimport BtnCompatible from '../reusable/BtnCompatible';\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\nimport ModalAddCart from \"../reusable/modals/AddCart\";\r\nimport ModalSinStock from \"../reusable/modals/SinStock\";\r\nimport ModalImageZoom from '../reusable/modals/ImageZoom';\r\nimport ModalCompatible from '../reusable/modals/Compatible';\r\n\r\nconst CardOferta = ({ oferta, postAgregarProductoPedido, postAgregarProductoFavorito, setCounter, auth, compatible }) => {\r\n\r\n  return (\r\n    <div className=\"card_product_horizontal card_oferta gradient_blue\">\r\n      <div className=\"cphTextLeft\">\r\n        <div className=\"tag\">\r\n          <SvgAssets icon=\"icon-oferta\" className=\"icon-oferta\" fill={c.rojoClaro} />\r\n          <SvgAssets icon=\"icon-tag\" />\r\n        </div>\r\n        <h6 className=\"paragraph-2 bold mb-1 mt-4\" style={{ color: '#fff', wordBreak: 'break-word' }}>{oferta.maktx}</h6>\r\n        <span className=\"paragraph-3 mb-3\" style={{ color: '#fff' }}>SKU: {oferta.matnr}</span>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>Total: {oferta.sWaers} {numberWithCommas(oferta.subTotal)}</span>\r\n      </div>\r\n      <div className=\"cphTextCenter pl-0\">\r\n        {/* <span className=\"paragraph-3 pu\" style={{ color: '#fff' }}>P.U.</span> */}\r\n        {/* <span className=\"paragraph-3 previousPrice mt-4\" style={{ color: '#fff' }}>{oferta.precioPublico}</span>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>{oferta.precioPVD}</span>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>{oferta.precioPVP}</span> */}\r\n        <CardPrecioOferta data={oferta.precios} className=\"cardPrice mt-4\" />\r\n        <div className=\"text-left mt-2 options\">\r\n          {/* <BtnCompatible IdInput={oferta.idInput} texto={oferta.mensajeCompatible} /> */}\r\n          <button className='btn-icon'\r\n            type=\"button\"\r\n            onClick={() => compatible(oferta.mensajeCompatible)}\r\n          >\r\n            <SvgAssets icon=\"icon-compatible\" fill={c.azulClaro} />\r\n          </button>\r\n          <button type=\"button\"\r\n            onClick={() => postAgregarProductoFavorito({\r\n              codigo: oferta.matnr, descripcion: oferta.maktx,\r\n              moneda: oferta.waers, pantalla: data.Pantalla.Catalogo.Ofertas\r\n            }, oferta.favorito, oferta.indice)}\r\n            className=\"btn-icon\">\r\n            <SvgAssets icon=\"icon-star\" fill={oferta.favorito ? c.amarillo : c.celeste} />\r\n          </button>\r\n          <button className={`btn-icon${(oferta.cantidad == 0 ? \" disabled\" : \"\")}`}\r\n            type=\"button\"\r\n            disabled={oferta.cantidad == 0}\r\n            onClick={() => postAgregarProductoPedido(auth.carritoProdctos, auth.setcarritoProdctos, oferta, data.Pantalla.Carrito.Ofertas)}\r\n          >\r\n            <SvgAssets icon=\"icon-add-cart\" fill={oferta.favorito ? c.amarillo : c.celeste} />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: c.azulClaro, justifyContent: 'space-between' }}>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>Cantidad</span>\r\n        <CounterInput\r\n          vertical\r\n          background={c.azulClaro}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n          data={oferta}\r\n          eventCounter={setCounter}\r\n        />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class CarritoOfertas extends Component {\r\n  static displayName = CarritoOfertas.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      productosOfertas: [],\r\n      alertas: [],\r\n      page: 1,\r\n      size: data.PageSizeOfertas,\r\n      currentPage: 1,\r\n      totalPorCantidad: null,\r\n      datosTotal: {},\r\n      productos: [],\r\n      localId: 0,\r\n      pedidoId: 0,\r\n      addToCart: false,\r\n      dataToCard: {},\r\n      textBuscador: \"\",\r\n      errorCodigo: false,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      addStock: false,\r\n      isEmpty: false,\r\n      TOTAL_REGISTROS: 0,\r\n      modalZoom: false,\r\n      modalCompatible: false,\r\n      mensajeCompatible: '',\r\n      imgZoom: \"\",\r\n    };\r\n  }\r\n  showModalCart = () => {\r\n    this.setState(prevState => ({\r\n      addToCart: !prevState.addToCart\r\n    }));\r\n  }\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: img\r\n    }));\r\n  }\r\n  toggleModalCompatible = (texto) => {\r\n    this.setState(prevState => ({\r\n      modalCompatible: !prevState.modalCompatible,\r\n      mensajeCompatible: texto\r\n    }));\r\n  }\r\n  // showCarrito = () => {\r\n  //   this.setState({ addToCart: false, loading: false }, () => {\r\n  //     let datosBuscador = { localId: 0 };\r\n  //     this.props.history.push({\r\n  //       pathname: '/carrito',\r\n  //       state: {\r\n  //         datosBuscador\r\n  //       }\r\n  //     });\r\n  //   });\r\n  // }\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: true }, () => {\r\n      setTimeout(() => {\r\n        this.setState({ loading: false })\r\n        let datosBuscador = { localId: 0 };\r\n        this.props.history.push({\r\n          pathname: '/carrito',\r\n          state: {\r\n            datosBuscador\r\n          }\r\n        });\r\n      }, 1000);\r\n    });\r\n  }\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    if (state != undefined) {\r\n      let _datosTotal = state.datosTotal;\r\n      let _datosProductos = state.datosProductos;\r\n      this.setState({\r\n        datosTotal: _datosTotal,\r\n        productos: _datosProductos,\r\n        // pedidoId: params.pedidoId,\r\n        localId: state.localId\r\n      });\r\n      console.log(\"Ofertas=====>\", state.localId);\r\n    }\r\n  }\r\n  load = () => {\r\n    let dataS = localStorageCustom.prototype.getUsuario()\r\n\r\n    this.setState({\r\n      errorCodigo: false,\r\n      textBuscador: \"\",\r\n      page: 1,\r\n      currentPage: 1,\r\n      loading: true,\r\n      dealer: dataS.dealer,\r\n      linea: dataS.linea,\r\n      asociado: dataS.asociado,\r\n      addStock: false\r\n    }, () => {\r\n      // this.postBuscarProductoOfertas(data.dealer, data.linea, data.asociado, this.IrCarritoEnvio);\r\n      BuscarCarritoPedido(dataS.dealer, dataS.linea, dataS.asociado, 0, 0)\r\n        .then(result => {\r\n          if (result.mo.type == \"success\") {\r\n            let productosSinStock = result.dto.repuestos.filter(t => !t.validaStok).length;\r\n            let _total = (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0;\r\n\r\n\r\n            this.setState({\r\n              loading: productosSinStock == 0,\r\n              addStock: productosSinStock > 0,\r\n              TOTAL_REGISTROS: _total\r\n            }, async () => {\r\n              if (_total == 0)\r\n                notificacion(\"Carrito\", data.MensajeSinProducto);\r\n\r\n              if (productosSinStock == 0)\r\n                this.postBuscarProductoOfertas(dataS.dealer, dataS.linea, dataS.asociado, 1);\r\n            })\r\n          } else {\r\n            throw new Error(result.mo.listMessage.join(\", \"));\r\n          }\r\n        }).catch((error) => {\r\n          this.setState({ loading: false }, async () => {\r\n            error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n            notificacion(\"Carrito\", error.message ?? null);\r\n          });\r\n        });\r\n\r\n    });\r\n  }\r\n\r\n\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0);\r\n      this.load();\r\n      this.checkParams();\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n  IrListado = async () => {\r\n    this.props.history.push('/carrito');\r\n  }\r\n\r\n  render() {\r\n    const { TOTAL_REGISTROS, errorCodigo, datosTotal, loading, productosOfertas, page, size, currentPage, alertas, isEmpty } = this.state;\r\n    const auth = this.context;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1><SvgAssets icon=\"icon-oferta\" fill='#fff' />Ofertas</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard' className=\"active\">Dashboard</Link></li>\r\n              <li><Link to='/carrito'>Carrito de compras</Link></li>\r\n              <li>Ofertas</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"pt-5 pb-float\">\r\n          <FormGroup className=\"icon mb-4\" style={{ maxWidth: 255, margin: 'auto' }}>\r\n            <Input className=\"\" type='text' placeholder=\"SKU o Descripción\" onChange={(text) => this.searchProductos(text)}\r\n              onKeyUp={(e) => { if (e.keyCode == 13 || e.keyCode == 10) { e.preventDefault(); this.IrBuscar() } }}\r\n            />\r\n            <Button color=\"link\" className=\"btn-icon\" onClick={() => { this.IrBuscar() }}>\r\n              <SvgAssets icon='icon-lupa' fill={c.azulClaro} />\r\n            </Button>\r\n          </FormGroup>\r\n          <h6 className=\"title white mobile\"><Link to='/carrito' className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link><SvgAssets icon=\"icon-oferta\" fill=\"#fff\" />Ofertas</h6>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#2861c2\" />\r\n            <TooltipLeyenda\r\n              color={c.azulClaro}\r\n              style={{ marginLeft: 'auto', paddingRight: 10, top: -15, position: 'relative' }}\r\n            />\r\n            <div className=\"cards-wrap\">\r\n              {productosOfertas.map((item, index) => {\r\n                return (\r\n                  <CardOferta key={index} oferta={item} postAgregarProductoPedido={this.postAgregarProductoPedido} postAgregarProductoFavorito={this.postAgregarProductoFavorito} setCounter={this.setCounter} auth={auth} compatible={this.toggleModalCompatible} />\r\n                )\r\n              })}\r\n            </div>\r\n            {(productosOfertas.length > 0) ?\r\n              <Pagination\r\n                event={this.setPage}\r\n                current={page}\r\n                currentPage={currentPage}\r\n                totalPage={productosOfertas[0].totalPage}\r\n                size={data.PageSizePaginator} /> : null}\r\n          </div>\r\n        </Container>\r\n        <div className=\"float_section\">\r\n          <SvgAssets icon=\"curve-top\" className=\"curve\" fill={c.azul} />\r\n          <p className=\"total-price\">TOTAL: <span>{datosTotal.moneda} {(Number(TOTAL_REGISTROS > 0 ? datosTotal.total : TOTAL_REGISTROS)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span></p>\r\n          <button\r\n            className={`btn-block${(TOTAL_REGISTROS == 0 ? \" disabled\" : \"\")}`}\r\n            type=\"button\"\r\n            disabled={TOTAL_REGISTROS == 0}\r\n            onClick={() => this.IrCarritoEnvio()}>siguiente</button>\r\n        </div>\r\n        <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n        <ModalSinStock dadComponent={this} />\r\n        <ModalImageZoom dadComponent={this} />\r\n        <ModalCompatible dadComponent={this} texto={this.state.mensajeCompatible} />\r\n      </div>\r\n    );\r\n  }\r\n\r\n\r\n  IrCarritoEnvio = async () => {\r\n    this.props.history.push({\r\n      pathname: '/carrito/envio',\r\n      state: {\r\n        datosTotal: this.state.datosTotal,\r\n        localId: this.state.localId,\r\n        pedidoId: this.state.pedidoId\r\n      }\r\n    });\r\n  }\r\n  searchProductos = (e) => {\r\n    let text = e.currentTarget.value;\r\n    console.log(\"searchProductos===>\", text);\r\n    this.setState({ textBuscador: text.toUpperCase() });\r\n  }\r\n  postBuscarProductoOfertas(dealer, linea, asociado, index, fn = null) {\r\n    this.setState({\r\n      loading: true,\r\n      addStock: false\r\n    })\r\n    BuscarProductoOfertas(linea.vkorg, dealer.codcliente,\r\n      dealer.correoElectronico, asociado.poblacion, asociado.moneda, linea.centro,\r\n      data.Sistema, this.state.size, index, this.state.textBuscador, data.Pantalla.Carrito.Ofertas,\r\n      data.Pantalla.Carrito.Etiqueta.Ofertas)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          // if (typeof fn == \"function\") {\r\n          //   if ((result.dto.repuestos || []).length == 0) fn();\r\n          // }\r\n          this.setState({\r\n            loading: false,\r\n            productosOfertas: result.dto.repuestos,\r\n            alertas: result.dto.alertas\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n\r\n  IrBuscar = () => {\r\n    debugger;\r\n    if (this.state.textBuscador == \"\" || this.state.textBuscador.length >= data.BuscadorCodigoLongitud) {\r\n      this.setState({\r\n        errorCodigo: false,\r\n        loading: true,\r\n        page: 1\r\n      }, () => {\r\n        this.postBuscarProductoOfertas(this.state.dealer, this.state.linea, this.state.asociado, 1);\r\n      })\r\n    } else {\r\n      this.setState({\r\n        errorCodigo: true\r\n      })\r\n    }\r\n  }\r\n  setPage = (index, change, type) => {\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({ page: index, currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1) })\r\n    }\r\n    else\r\n      this.setState({ page: index })\r\n\r\n    this.postBuscarProductoOfertas(this.state.dealer, this.state.linea, this.state.asociado, index);\r\n  }\r\n  setCounter = (counter, item, index) => {\r\n    let _destacados = this.state.productosOfertas\r\n\r\n    if (counter == \"\") {\r\n      _destacados[index].cantidad = 0;\r\n      _destacados[index].subTotal = 0;\r\n    } else {\r\n      _destacados[index].cantidad = counter;\r\n      _destacados[index].subTotal = Number((_destacados[index].pfinal * counter).toFixed(2));\r\n    }\r\n\r\n    this.setState({\r\n      productosOfertas: _destacados\r\n    })\r\n  }\r\n  postAgregarProductoFavorito = (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          let _productosOfertas = this.state.productosOfertas\r\n          _productosOfertas[index].favorito = !AplicaFavorito;\r\n\r\n          this.setState({\r\n            productosOfertas: _productosOfertas\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Ofertas\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postAgregarProductoPedido = async (carritoProdctos, setcarritoProdctos, item, pantalla) => {\r\n\r\n    this.setState({ loading: true })\r\n\r\n    let producto = {\r\n      codigo: item.matnr,\r\n      descripcion: item.maktx,\r\n      precioOferta: item.poferta,\r\n      precioPublico: item.plista,\r\n      precioFinal: item.pfinal,\r\n      precioPVD: item.precioPVD,\r\n      precioPVP: item.precioPVP,\r\n      precioPublico: item.precioPublico,\r\n      meins: item.meins,\r\n      moneda: item.waers,\r\n      cantidadOriginal: item.cantidad,\r\n      cantidad: item.cantidad,\r\n      pantalla: pantalla,\r\n      pathI: item.pathImage,\r\n      precios: item.precios,\r\n      escalas: item.escalas\r\n    };\r\n\r\n    AgregarProductoCarrito(this.state.dealer, this.state.linea, this.state.asociado, producto)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let _total = (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0;\r\n          let _destacados = this.state.productosOfertas\r\n          _destacados[item.indice].cantidad = 0;\r\n          _destacados[item.indice].subTotal = 0;\r\n\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          this.setState({\r\n            loading: false,\r\n            alertas: result.dto.alertas,\r\n            datosTotal: {\r\n              total: _total,\r\n              moneda: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].sWaers : \"\",\r\n            },\r\n            productosOfertas: _destacados,\r\n            addToCart: true,\r\n            dataToCard: producto\r\n          })\r\n\r\n\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n}","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Badge, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport { data } from '../../constants/Constants';\r\nimport c from '../../constants/Colors';\r\nimport { BuscarCarritoPedido } from '../../store/sagas/carritoApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport ModalSinStock from \"../reusable/modals/SinStock\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst CardEnvio = ({ seleccionarLocal, local, localSel, localId }) => {\r\n\r\n  localSel = localSel == null ? { localId: 0 } : localSel\r\n  return (\r\n    <div className=\"card_product_horizontal card_envio\">\r\n      <div className=\"cphCounterInput check\" style={{ backgroundColor: c.verdeClaro }}>\r\n        <div className=\"custom-control custom-radio\">\r\n          <input type=\"radio\" id={`radio${local.localId}`} name=\"radio_ln\" className=\"custom-control-input\"\r\n            checked={(local.localId == localSel.localId || local.localId == localId)}\r\n            onChange={() => seleccionarLocal(local)}\r\n          />\r\n          <label className=\"custom-control-label\" htmlFor={`radio${local.localId}`}></label>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        {(local.ultimoPedido != \"\") ?\r\n          <h6 className=\"paragraph-2 bold\" style={{ color: c.verdeClaro }}>{local.ultimoPedido}</h6>\r\n          : null}\r\n        {(local.alias != \"\") ?\r\n          <div>\r\n            <p className=\"alias\" style={{ color: c.azulClaro }}><SvgAssets icon=\"icon-local\" fill={c.azulClaro} />{local.alias}</p>\r\n            <span className=\"address light\" style={{ color: c.azulClaro }}>{local.direccion}</span>\r\n          </div>\r\n          : <span className=\"address bold\" style={{ color: c.azulClaro }}>{local.direccion}</span>}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class CarritoEnvio extends Component {\r\n  static displayName = CarritoEnvio.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      locales: [],\r\n      alertas: [],\r\n      local: null,\r\n      datosTotal: {},\r\n      productos: [],\r\n      localId: 0,\r\n      pedidoId: 0,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      addStock: false\r\n    };\r\n  }\r\n\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: false }, () => {\r\n      // this.props.navigation.navigate('CarritoListado');\r\n      this.props.history.push({\r\n        pathname: '/carrito',\r\n        state: { datosBuscador: { localId: 0 } }\r\n      });\r\n    });\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    if (state != undefined) {\r\n      let _datosTotal = state.datosTotal;\r\n      this.setState({\r\n        datosTotal: _datosTotal,\r\n        localId: state.localId\r\n      });\r\n    }\r\n  }\r\n  IrOfertas = () => {\r\n    this.props.history.push('/carrito-ofertas');\r\n  }\r\n  seleccionarLocal = (value) => {\r\n    const auth = this.context;\r\n    auth.setLocalEnvio(value.localId);\r\n    this.setState({ local: value, localId: value.localId })\r\n  }\r\n  IrTransportistas = () => {\r\n    this.props.history.push({\r\n      pathname: 'transportistas',\r\n      state: {\r\n        datosTotal: this.state.datosTotal,\r\n        datosLocal: this.state.local,\r\n        // pedidoId: this.state.pedidoId,\r\n        localId: this.state.localId\r\n      }\r\n    });\r\n  }\r\n  // IrMedioPago = () => {\r\n  //   this.props.history.push({\r\n  //     pathname: 'medio-pago',\r\n  //     state: {\r\n  //       datosTotal: this.state.datosTotal,\r\n  //       datosLocal: this.state.local,\r\n  //       // pedidoId: this.state.pedidoId,\r\n  //       localId: this.state.localId\r\n  //     }\r\n  //   });\r\n  // }\r\n  load = () => {\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    this.setState({\r\n      loading: true,\r\n      dealer: data.dealer,\r\n      linea: data.linea,\r\n      asociado: data.asociado,\r\n      addStock: false\r\n    }, () => {\r\n      this.postBuscarCarritoPedido();\r\n    })\r\n  }\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0);\r\n      this.load();\r\n      this.setState({\r\n        local: null\r\n      });\r\n      this.checkParams();\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { locales, datosTotal, alertas, local, loading, localId } = this.state;\r\n    const auth = this.context;\r\n    console.log(\"Medio Pago auth\", auth.mostrarOfertas);\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1><SvgAssets icon=\"icon-envio\" fill='#fff' />Envío</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard' className=\"active\">Dashboard</Link></li>\r\n              <li><Link to='/carrito'>Carrito de compras</Link></li>\r\n              {(auth.mostrarOfertas) ?\r\n                <li><Link to={{ pathname: '/carrito/ofertas', state: { datosTotal: this.state.datosTotal, datosProductos: this.state.productos, localId: this.state.localId } }}>Ofertas</Link></li>\r\n                : null}\r\n              <li>Envío</li>\r\n\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"pt-5 pb-float\">\r\n          <h6 className=\"title white mobile\">\r\n            <Link to={{ pathname: '/carrito/ofertas', state: { datosTotal: this.state.datosTotal, datosProductos: this.state.productos, localId: this.state.localId } }} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link>\r\n            <SvgAssets icon=\"icon-envio\" fill=\"#fff\" />Envío\r\n          </h6>\r\n          <div className=\"card container_1080\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            {locales.map((data, index) => {\r\n              return (\r\n                <CardEnvio key={index} seleccionarLocal={this.seleccionarLocal} local={data} localSel={local} localId={localId} />\r\n              )\r\n            })}\r\n            {/* <CardEnvio />\r\n            <CardEnvio /> */}\r\n            {/* <p className=\"total-price\">TOTAL: {datosTotal.moneda} {datosTotal.total}</p>\r\n            <button\r\n              className={`btn-block${(!(local != null) ? \" disabled\" : \"\")}`}\r\n              disabled={!(local != null)}\r\n              onClick={() => this.IrMedioPago()}\r\n            >\r\n              siguiente\r\n                </button> */}\r\n          </div>\r\n        </Container>\r\n        <div className=\"float_section\">\r\n          <SvgAssets icon=\"curve-top\" className=\"curve\" fill={c.azul} />\r\n          <p className=\"total-price\">TOTAL: <span>{datosTotal.moneda} {(Number(datosTotal.total)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n          </p>\r\n          <button\r\n            className={`btn-block${(local == null || datosTotal.total <= 0 ? \" disabled\" : \"\")}`}\r\n            disabled={(local == null || datosTotal.total <= 0)}\r\n            // onClick={() => this.IrMedioPago()}\r\n            onClick={() => this.IrTransportistas()}\r\n          >\r\n            siguiente\r\n          </button>\r\n        </div>\r\n        <ModalSinStock dadComponent={this} />\r\n      </div >\r\n    );\r\n  }\r\n\r\n  postBuscarCarritoPedido = async () => {\r\n\r\n    BuscarCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado, this.state.localId, this.state.pedidoId)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          const auth = this.context;\r\n          let LOCAL_SESION = auth.localEnvio;\r\n          let local = null;\r\n\r\n          local = result.dto.perfil.locales.find(item => item.localId === LOCAL_SESION);\r\n\r\n          if (local == null)\r\n            local = result.dto.perfil.locales[0];\r\n\r\n\r\n          auth.setLocalEnvio(local.localId);\r\n\r\n          let productosSinStock = result.dto.repuestos.filter(t => !t.validaStok).length;\r\n          let _total = (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0;\r\n          if (productosSinStock > 0) {\r\n            this.setState({\r\n              addStock: true,\r\n              loading: false\r\n            });\r\n          } else {\r\n            this.setState({\r\n              addStock: false,\r\n              loading: false,\r\n              productos: result.dto.repuestos,\r\n              alertas: result.dto.alertas,\r\n              locales: result.dto.perfil.locales,\r\n              datosTotal: {\r\n                total: _total,\r\n                moneda: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].sWaers : \"\",\r\n              },\r\n              local: local,\r\n              localId: local?.localId\r\n            });\r\n\r\n\r\n            if (_total == 0)\r\n              notificacion(\"Carrito\", data.MensajeSinProducto);\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  notificacion = async (alertTitulo = \"\", alertMensaje = \"\") => {\r\n    this.setState({ alertTitulo, alertMensaje });\r\n    this.toggleModalAlert();\r\n  }\r\n  toggleModalAlert = () => {\r\n    this.setState(prevState => ({\r\n      showAlert: !prevState.showAlert,\r\n    }));\r\n  }\r\n}\r\n\r\n\r\n","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\n\r\n\r\n\r\nexport function getTransportista(CodigoDealer, CorreoElectronico, VKorg, Region, LocalId) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarTransportista\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.VKorg': VKorg,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.Region': Region,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.LocalId': LocalId\r\n    };\r\n    console.log(\"getTransportista====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { FormGroup, Input, Button, Badge, Container, FormFeedback } from 'reactstrap';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\r\nimport c from '../../constants/Colors';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { getTransportista } from '../../../src/store/sagas/transportistaApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\n\r\n\r\n\r\nexport class Transportistas extends Component {\r\n  static displayName = Transportistas.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      isActiveModal: false,\r\n      isActiveModal2: false,\r\n\r\n      loading: false,\r\n      showModal: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      showAlert: false,\r\n      contactos: [],\r\n      recojos: [],\r\n      transportes: [],\r\n      alertas: [],\r\n\r\n      contacto: {},\r\n      recojo: {},\r\n      transporte: {},\r\n      showModal2: false,\r\n      recojoOtro: false,\r\n\r\n      datosTotal: { total: 0, acumulado: 0, total: 0 },\r\n      datosLocal: {},\r\n      localId: 0,\r\n      pedidoId: 0,\r\n      showOtros: false,\r\n      errorDni: null,\r\n      errorCelular: null\r\n    };\r\n  }\r\n  toggleModal = () => {\r\n    this.setState(prevState => ({\r\n      isActiveModal: !prevState.isActiveModal,\r\n    }));\r\n  }\r\n  toggleModal2 = () => {\r\n    this.setState(prevState => ({\r\n      isActiveModal2: !prevState.isActiveModal2,\r\n    }));\r\n  }\r\n\r\n  // IrResumenPedido = () => {\r\n  //   this.props.history.push({\r\n  //     pathname: 'resumen-pedido',\r\n  //   });\r\n  // }\r\n\r\n\r\n  IrMedioPago = () => {\r\n\r\n\r\n    let rpta = true;\r\n    let errorDni = null;\r\n    let errorCelular = null;\r\n    let con = this.state.contacto;\r\n    if (this.state.recojoOtro) {\r\n      if (con.dni.length < 8) {\r\n        errorDni = 'Solo números de 8 dígitos';\r\n        rpta = false;\r\n      }\r\n\r\n      if (con.telef.length < 7) {\r\n        errorCelular = 'Solo números mínimo 7 y máximo 9 dígitos';\r\n        rpta = false;\r\n      }\r\n\r\n      con.nombre = con.nom + \" \" + con.ape;\r\n      this.setState({\r\n        contacto: con,\r\n        errorDni,\r\n        errorCelular\r\n      });\r\n\r\n    }\r\n\r\n    if (rpta) {\r\n      this.props.history.push({\r\n        pathname: 'medio-pago',\r\n        state: {\r\n          datosTotal: this.state.datosTotal,\r\n          datosLocal: this.state.datosLocal,\r\n          localId: this.state.localId,\r\n          transportista: {\r\n            contacto: this.state.contacto,\r\n            recojo: this.state.recojo,\r\n            transporte: this.state.transporte\r\n          }\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n\r\n  notificacion = async (alertTitulo = \"\", alertMensaje = \"\") => {\r\n    this.setState({ alertTitulo, alertMensaje });\r\n    this.toggleModalAlert();\r\n  }\r\n  toggleModalAlert = () => {\r\n    this.setState(prevState => ({\r\n      showAlert: !prevState.showAlert,\r\n    }));\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    if (state != undefined) {\r\n      let _datosTotal = state.datosTotal;\r\n      let _datosLocal = state.datosLocal;\r\n      let _recojoOtro = state.recojoOtro == undefined ? false : state.recojoOtro;\r\n      console.log(\"Transportista====>\", state.datosLocal);\r\n      this.setState({\r\n        datosTotal: _datosTotal,\r\n        datosLocal: _datosLocal,\r\n        pedidoId: state.pedidoId,\r\n        localId: state.localId,\r\n        recojoOtro: _recojoOtro\r\n      });\r\n    }\r\n  }\r\n\r\n  load = (carritoProdctos, setcarritoProdctos, localEnvio) => {\r\n\r\n    console.log(\"load localEnvio==>\", localEnvio);\r\n\r\n\r\n    let storage = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ loading: true });\r\n    getTransportista(\r\n      storage.dealer.codcliente,\r\n      storage.dealer.correoElectronico,\r\n      storage.linea.vkorg,\r\n      storage.asociado.poblacion,\r\n      localEnvio)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            contactos: result.dto.transportista.contactos,\r\n            recojos: result.dto.transportista.recojos,\r\n            transportes: result.dto.transportista.transportes,\r\n\r\n            contacto: result.dto.transportista.contacto ?? {},\r\n            recojo: result.dto.transportista.recojo ?? {},\r\n            transporte: result.dto.transportista.transporte ?? {},\r\n\r\n            showOtros: storage.asociado.region != \"LIMA\"\r\n          });\r\n          console.log(\"result.dto.transportista.transporte===>\", result.dto.transportista.transporte);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n        this.setState({ loading: false });\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Transportista\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n\r\n  }\r\n\r\n  setTransporte = (item) => {\r\n    console.log(\"setTransporte==>\", item);\r\n    this.setState({ transporte: item });\r\n  }\r\n  setRecojo = (item) => {\r\n    console.log(\"setRecojo==>\", item);\r\n    this.setState({ recojo: item });\r\n  }\r\n  setContacto = (item) => {\r\n    console.log(\"setContacto==>\", item);\r\n    this.setState({\r\n      contacto: item,\r\n      recojoOtro: false,\r\n    });\r\n  }\r\n  setOtro = () => {\r\n    this.setState({\r\n      recojoOtro: true,\r\n      contacto: {\r\n        dni: \"\",\r\n        nom: \"\",\r\n        ape: \"\",\r\n        telef: \"\"\r\n      },\r\n      errorDni: null\r\n    });\r\n  }\r\n\r\n\r\n  handledataDni = (value) => {\r\n    let con = this.state.contacto;\r\n    let de = /[^0-9]/g;\r\n    value = value.replace(de, \"\");\r\n    con.dni = value;\r\n    if (con.dni != \"\" && con.nom != \"\" && con.ape != \"\" && con.telef != \"\")\r\n      con.codap = \"-1\";\r\n    else\r\n      con.codap = '';\r\n    this.setState({\r\n      contacto: con,\r\n      errorDni: null\r\n    });\r\n\r\n  };\r\n\r\n  handledataNombre = (value) => {\r\n    let con = this.state.contacto;\r\n    con.nom = value;\r\n    if (con.dni != \"\" && con.nom != \"\" && con.ape != \"\" && con.telef != \"\")\r\n      con.codap = \"-1\"; else\r\n      con.codap = '';\r\n    this.setState({\r\n      contacto: con\r\n    });\r\n\r\n\r\n  };\r\n\r\n  handledataApellidos = (value) => {\r\n    let con = this.state.contacto;\r\n    con.ape = value;\r\n    if (con.dni != \"\" && con.nom != \"\" && con.ape != \"\" && con.telef != \"\")\r\n      con.codap = \"-1\"; else\r\n      con.codap = '';\r\n    this.setState({\r\n      contacto: con\r\n    });\r\n\r\n  };\r\n\r\n  handledataTelefono = (value) => {\r\n    let con = this.state.contacto;\r\n    let de = /[^0-9]/g;\r\n    value = value.replace(de, \"\");\r\n\r\n    con.telef = value;\r\n    if (con.dni != \"\" && con.nom != \"\" && con.ape != \"\" && con.telef != \"\")\r\n      con.codap = \"-1\"; else\r\n      con.codap = '';\r\n    this.setState({\r\n      contacto: con,\r\n      errorCelular: null\r\n    });\r\n\r\n  };\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0);\r\n      const auth = this.context;\r\n      this.checkParams();\r\n      console.log(\"componentDidMount==>\", auth.localEnvio);\r\n      this.load(auth.carritoProdctos, auth.setcarritoProdctos, auth.localEnvio);\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { errorCelular, errorDni, showOtros, recojos, loading, transportes, showModal, transporte, recojoOtro, contacto, contactos, recojo, datosTotal, datosLocal, alertas } = this.state;\r\n    const auth = this.context;\r\n\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1><SvgAssets icon=\"icon-envio\" fill='#fff' />Envío</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard' className=\"active\">Dashboard</Link></li>\r\n              <li><Link to='/carrito/carrito'>Carrito de compras</Link></li>\r\n              <li><Link to='/carrito/Ofertas'>Ofertas</Link></li>\r\n              <li><Link to='/carrito/envio'>Envío</Link></li>\r\n              <li><Link to='/transportistas'>Transportista</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"pt-5 pb-float\">\r\n          <h6 className=\"title white mobile\">\r\n            <Link to={{ pathname: '/carrito/envio' }} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link>\r\n            <SvgAssets icon=\"icon-envio\" fill=\"#fff\" />Transportista\r\n          </h6>\r\n          <div className='content_container_transport'>\r\n            <div className=\"card container_1080\">\r\n              <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n              {(transporte.bloqueo == \"1\") ?\r\n                <button className='btn btn-outline-link disabled'\r\n                  disabled={true}>\r\n                  <SvgAssets icon=\"icon-envio\" fill=\"#316ACD\" />\r\n                  <span className='paragraph-1 desktop_parrafo1' style={{ textDecoration: 'underline' }}>{(transporte.name1) ? transporte.name1 : \"Seleccione transportista\"} </span>\r\n                </button>\r\n                :\r\n                <button className='btn btn-outline-link'\r\n                  onClick={() => this.toggleModal()}>\r\n                  <SvgAssets icon=\"icon-envio\" fill=\"#316ACD\" />\r\n                  <span className='paragraph-1 desktop_parrafo1' style={{ textDecoration: 'underline' }}>{(transporte.name1) ? transporte.name1 : \"Seleccione transportista\"} </span>\r\n                </button>}\r\n              <h6 className='title-1'>\r\n                ¿En dónde se entregará?\r\n              </h6>\r\n              {recojos.map((item, index) => {\r\n                return (\r\n                  (item.enable == \"0\") ?\r\n                    <div key={\"recojo_\" + index} className=\"card_product_horizontal card_envio height_40 disabled\">\r\n                      <div className=\"cphCounterInput check\" style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                        <div className=\"custom-control custom-radio\">\r\n                          {(item.codrec == recojo.codrec) ?\r\n                            <input checked=\"checked\" type=\"radio\" id={`recojo_c_${index}`} name=\"radio_recojo\" className=\"custom-control-input\" disabled />\r\n                            :\r\n                            <input type=\"radio\" id={`recojo_c_${index}`} name=\"radio_recojo\" className=\"custom-control-input\" disabled />\r\n                          }\r\n                          <label className=\"custom-control-label\" htmlFor={`recojo_c_${index}`}></label>\r\n                        </div>\r\n                      </div>\r\n                      <div className=\"cphTextCenter\">\r\n                        <span className=\"address bold\" style={{ color: 'rgb(49, 106, 205)' }}>{item.desrec}</span>\r\n                      </div>\r\n                    </div> :\r\n                    <div key={\"recojo_\" + index} className=\"card_product_horizontal card_envio height_40\">\r\n                      <div className=\"cphCounterInput check\" style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                        <div className=\"custom-control custom-radio\">\r\n                          {(item.codrec == recojo.codrec) ?\r\n                            <input onChange={() => this.setRecojo(item)} checked=\"checked\" type=\"radio\" id={`recojo_c_${index}`} name=\"radio_recojo\" className=\"custom-control-input\" />\r\n                            :\r\n                            <input onChange={() => this.setRecojo(item)} type=\"radio\" id={`recojo_c_${index}`} name=\"radio_recojo\" className=\"custom-control-input\" />\r\n                          }\r\n                          <label className=\"custom-control-label\" htmlFor={`recojo_c_${index}`}></label>\r\n                        </div>\r\n                      </div>\r\n                      <div className=\"cphTextCenter\">\r\n                        <span className=\"address bold\" style={{ color: 'rgb(49, 106, 205)' }}>{item.desrec}</span>\r\n                      </div>\r\n                    </div>\r\n                )\r\n              })}\r\n              {/* <div className=\"card_product_horizontal card_envio height_40\">\r\n                <div className=\"cphCounterInput check\" style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                  <div className=\"custom-control custom-radio\">\r\n                    <input type=\"radio\" id={`radio1`} name=\"radio_ln\" className=\"custom-control-input\"\r\n                    />\r\n                    <label className=\"custom-control-label\" htmlFor={`radio1`}></label>\r\n                  </div>\r\n                </div>\r\n                <div className=\"cphTextCenter\">\r\n                  <span className=\"address bold\" style={{ color: 'rgb(49, 106, 205)' }}>Agencia principal</span>\r\n                </div>\r\n              </div>\r\n              <div className=\"card_product_horizontal card_envio height_40\">\r\n                <div className=\"cphCounterInput check\" style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                  <div className=\"custom-control custom-radio\">\r\n                    <input type=\"radio\" id={`radio2`} name=\"radio_ln\" className=\"custom-control-input\"\r\n                    />\r\n                    <label className=\"custom-control-label\" htmlFor={`radio2`}></label>\r\n                  </div>\r\n                </div>\r\n                <div className=\"cphTextCenter\">\r\n                  <span className=\"address bold\" style={{ color: 'rgb(49, 106, 205)' }}>A domicilio</span>\r\n                </div>\r\n              </div>\r\n              <div className=\"card_product_horizontal card_envio height_40 disabled\">\r\n                <div className=\"cphCounterInput check\" style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                  <div className=\"custom-control custom-radio\">\r\n                    <input type=\"radio\" id={`radio3`} name=\"radio_ln\" className=\"custom-control-input\" disabled\r\n                    />\r\n                    <label className=\"custom-control-label\" htmlFor={`radio3`}></label>\r\n                  </div>\r\n                </div>\r\n                <div className=\"cphTextCenter\">\r\n                  <span className=\"address bold\" style={{ color: 'rgb(49, 106, 205)' }}>Almacén Callao</span>\r\n                </div>\r\n              </div> */}\r\n            </div>\r\n\r\n\r\n            <div className=\"card container_1080\" style={{ marginBottom: '60px' }}>\r\n              <h6 className='title-1 mt-0'>\r\n                ¿Quién recibirá el pedido?\r\n              </h6>\r\n              <button className='btn btn-outline-link' style={{ marginBottom: '20px' }} onClick={() => this.toggleModal2()}>\r\n                <SvgAssets icon=\"icon-user\" fill={c.azulClaro} style={{ width: '20px' }} />\r\n                <span className='paragraph-1 desktop_parrafo1' style={{ textDecoration: 'underline' }}>\r\n                  {(recojoOtro) ? \"Seleccione un encargado\" : (contacto.nombre) ? contacto.nombre : \"Seleccione un encargado\"}\r\n                </span>\r\n              </button>\r\n\r\n              <form className='collapse_filter_person'>\r\n                {(showOtros) ?\r\n                  <div className=\"card_product_horizontal card_envio height_40\">\r\n                    <div className=\"cphCounterInput check\" style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                      <div className=\"custom-control custom-radio\">\r\n                        {(recojoOtro) ?\r\n                          <input onChange={() => this.setOtro()} checked=\"checked\" type=\"radio\" id={`radio4`} name=\"radio_ln\" className=\"custom-control-input\" />\r\n                          :\r\n                          <input onChange={() => this.setOtro()} type=\"radio\" id={`radio4`} name=\"radio_ln\" className=\"custom-control-input\" />\r\n                        }\r\n                        <label className=\"custom-control-label\" htmlFor={`radio4`}></label>\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"cphTextCenter\">\r\n                      <span className=\"address bold\" style={{ color: 'rgb(49, 106, 205)' }}>Otra persona</span>\r\n                    </div>\r\n                  </div> : null}\r\n\r\n                {(recojoOtro) ?\r\n                  <div className='content_campo_perfil'>\r\n                    <div className=\"campo-perfil\">\r\n                      <div className=\"icon\" style={{ backgroundColor: c.MoradoOscuro }}>\r\n                        <SvgAssets icon=\"icon-cod-cli\" fill=\"#fff\" />\r\n                      </div>\r\n                      <div className=\"text\">\r\n                        <span className=\"paragraph-2\" style={{ color: c.grisMedio }}>DNI</span>\r\n                        <input\r\n                          maxLength={8}\r\n                          name=\"dni\"\r\n                          value={contacto.dni}\r\n                          onChange={(dni) => this.handledataDni(dni.target.value)}\r\n                          onKeyup={(dni) => this.handledataDni(dni.target.value)}\r\n                          type=\"text\" style={{ color: c.azulClaro }} />\r\n                        {\r\n                          errorDni ? <FormFeedback>{errorDni}</FormFeedback> : null\r\n                        }\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"campo-perfil\">\r\n                      <div className=\"icon\" style={{ backgroundColor: c.naranja }}>\r\n                        <SvgAssets icon=\"icon-user\" fill=\"#fff\" />\r\n                      </div>\r\n                      <div className=\"text\">\r\n                        <span className=\"paragraph-2\" style={{ color: c.grisMedio }}>Nombres</span>\r\n                        <input\r\n                          maxLength={20}\r\n                          name=\"nom\"\r\n                          value={contacto.nom}\r\n                          onChange={(nom) => this.handledataNombre(nom.target.value)}\r\n                          onKeyup={(nom) => this.handledataNombre(nom.target.value)}\r\n                          type=\"text\" style={{ color: c.azulClaro }} />\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"campo-perfil\">\r\n                      <div className=\"icon\" style={{ backgroundColor: c.MoradoOscuro }}>\r\n                        <SvgAssets icon=\"icon-user\" fill=\"#fff\" />\r\n                      </div>\r\n                      <div className=\"text\">\r\n                        <span className=\"paragraph-2\" style={{ color: c.grisMedio }}>Apellidos</span>\r\n                        <input\r\n                          name=\"ape\"\r\n                          maxLength={30}\r\n                          value={contacto.ape}\r\n                          onChange={(ape) => this.handledataApellidos(ape.target.value)}\r\n                          onKeyup={(ape) => this.handledataApellidos(ape.target.value)}\r\n                          type=\"text\" style={{ color: c.azulClaro }} />\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"campo-perfil\">\r\n                      <div className=\"icon\" style={{ backgroundColor: c.naranja }}>\r\n                        <SvgAssets icon=\"icon-cod-cli\" fill=\"#fff\" />\r\n                      </div>\r\n                      <div className=\"text\">\r\n                        <span className=\"paragraph-2\" style={{ color: c.grisMedio }}>N° de Teléfono</span>\r\n                        <input\r\n                          name=\"telef\"\r\n                          maxLength={9}\r\n                          value={contacto.telef}\r\n                          onChange={(telef) => this.handledataTelefono(telef.target.value)}\r\n                          onKeyup={(telef) => this.handledataTelefono(telef.target.value)}\r\n                          type=\"text\" style={{ color: c.azulClaro }} />\r\n                        {\r\n                          errorCelular ? <FormFeedback>{errorCelular}</FormFeedback> : null\r\n                        }\r\n                      </div>\r\n                    </div>\r\n                  </div> : null}\r\n              </form>\r\n            </div>\r\n          </div>\r\n        </Container>\r\n        <div className=\"float_section\">\r\n          <SvgAssets icon=\"curve-top\" className=\"curve\" fill={c.azul} />\r\n          {/* <p className=\"total-price\">TOTAL  (30 PRODUCTOS):<span> S/ 817.00</span></p> */}\r\n          <p className=\"total-price\">TOTAL: <span>{datosTotal.moneda} {(Number(datosTotal.total)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n          </p>\r\n\r\n          {(!contacto.codap || !recojo.desrec || !transporte.name1) ?\r\n            <button\r\n              className={`btn-block disabled`}\r\n              disabled={true}\r\n              onClick={() => this.IrMedioPago()}\r\n            >\r\n              siguiente\r\n            </button> :\r\n            <button\r\n              className={`btn-block`}\r\n              onClick={() => this.IrMedioPago()}\r\n            >\r\n              siguiente\r\n            </button>}\r\n        </div>\r\n\r\n        <Modal className='modal-select-transportista' centered backdrop=\"static\" isOpen={this.state.isActiveModal} toggle={() => this.toggleModal()}>\r\n          <ModalHeader>\r\n            <button className=\"btn-icon modal-close\" onClick={() => this.toggleModal()}>\r\n              <SvgAssets icon=\"icon-close\" fill={'#fffff'} /></button>\r\n            <h6>Transportistas</h6>\r\n          </ModalHeader>\r\n          <ModalBody>\r\n            <div className='content_scroll'>\r\n              {transportes.map((item, index) => {\r\n                return (\r\n                  <div key={\"transporte_\" + index} className=\"card_product_horizontal card_envio height_40\">\r\n                    <div className=\"cphCounterInput check\">\r\n                      <div className=\"custom-control custom-radio\">\r\n                        {(item.lifnr == transporte.lifnr) ?\r\n                          <input checked=\"checked\" type=\"radio\" onChange={() => this.setTransporte(item)} id={`tra_${index}`} name=\"radio_transporte\" className=\"custom-control-input\" />\r\n                          :\r\n                          <input type=\"radio\" onChange={() => this.setTransporte(item)} id={`tra_${index}`} name=\"radio_transporte\" className=\"custom-control-input\" />\r\n                        }\r\n                        <label className=\"custom-control-label\" htmlFor={`tra_${index}`}></label>\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"cphTextCenter\">\r\n                      <span className=\"address\">{item.name1}</span>\r\n                    </div>\r\n                  </div>\r\n                )\r\n              })}\r\n            </div>\r\n            {/* <div className=\"card_product_horizontal card_envio height_40\">\r\n              <div className=\"cphCounterInput check\">\r\n                <div className=\"custom-control custom-radio\">\r\n                  <input type=\"radio\" id={`radio5`} name=\"radio_ln\" className=\"custom-control-input\"\r\n                  />\r\n                  <label className=\"custom-control-label\" htmlFor={`radio5`}></label>\r\n                </div>\r\n              </div>\r\n              <div className=\"cphTextCenter\">\r\n                <span className=\"address\">TRANSPORTE MARVISUR</span>\r\n              </div>\r\n            </div>\r\n\r\n            <div className=\"card_product_horizontal card_envio height_40\">\r\n              <div className=\"cphCounterInput check\">\r\n                <div className=\"custom-control custom-radio\">\r\n                  <input type=\"radio\" id={`radio6`} name=\"radio_ln\" className=\"custom-control-input\"\r\n                  />\r\n                  <label className=\"custom-control-label\" htmlFor={`radio6`}></label>\r\n                </div>\r\n              </div>\r\n              <div className=\"cphTextCenter\">\r\n                <span className=\"address\">TRANSPORTE NUEVO ORIENTE</span>\r\n              </div>\r\n            </div> */}\r\n            {(transporte.lifnr) ?\r\n              <button onClick={() => this.toggleModal()} className='btn-block' style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                Aceptar\r\n              </button>\r\n              :\r\n              <button disabled={true} className='btn-block disabled' style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                Aceptar\r\n              </button>\r\n            }\r\n          </ModalBody>\r\n        </Modal>\r\n\r\n\r\n        <Modal className='modal-select-transportista' centered backdrop=\"static\" isOpen={this.state.isActiveModal2} toggle={() => this.toggleModal2()}>\r\n          <ModalHeader>\r\n            <button className=\"btn-icon modal-close\" onClick={() => this.toggleModal2()}>\r\n              <SvgAssets icon=\"icon-close\" fill={'#fffff'} /></button>\r\n            <h6>Encargados</h6>\r\n          </ModalHeader>\r\n          <ModalBody>\r\n            <div className='content_scroll'>\r\n              {contactos.map((item, index) => {\r\n                console.log(contacto);\r\n                return (\r\n                  <div key={\"contacto_\" + index} className=\"card_product_horizontal card_envio height_40\">\r\n                    <div className=\"cphCounterInput check\">\r\n                      <div className=\"custom-control custom-radio\">\r\n                        {(item.codap == contacto.codap) ?\r\n                          <input onChange={() => this.setContacto(item)} checked=\"checked\" type=\"radio\" id={`contacto_c_${index}`} name=\"radio_cont\" className=\"custom-control-input\" />\r\n                          :\r\n                          <input onChange={() => this.setContacto(item)} type=\"radio\" id={`contacto_c_${index}`} name=\"radio_cont\" className=\"custom-control-input\" />\r\n                        }\r\n                        <label className=\"custom-control-label\" htmlFor={`contacto_c_${index}`}></label>\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"cphTextCenter\">\r\n                      <span className=\"address\">{item.nombre}</span>\r\n                    </div>\r\n                  </div>\r\n                )\r\n              })}\r\n            </div>\r\n            {(contacto.codap && contacto.codap != '-1') ?\r\n              <button onClick={() => this.toggleModal2()} className='btn-block' style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                Aceptar\r\n              </button> :\r\n              <button disabled={true} className='btn-block disabled' style={{ backgroundColor: 'rgb(45, 185, 151)' }}>\r\n                Aceptar\r\n              </button>\r\n            }\r\n          </ModalBody>\r\n        </Modal>\r\n      </div>\r\n    )\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Badge, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { CrearPrePedido, BuscarCarritoPedido } from '../../store/sagas/carritoApi';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Alert from 'sweetalert2';\r\nimport ModalSinStock from \"../reusable/modals/SinStock\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class CarritoMedioPago extends Component {\r\n  static displayName = CarritoMedioPago.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: false,\r\n      medioPago: data.MedioPago.Deposito,\r\n      locales: [],\r\n      alertas: [],\r\n      local: {},\r\n      datosTotal: {},\r\n      productos: [],\r\n      datosLocal: {},\r\n      localId: 0,\r\n      pedidoId: 0,\r\n      addStock: false,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      alertOptions: null,\r\n      listaBancos: [],\r\n      transportista: {}\r\n    };\r\n  }\r\n  IrEnvio = async () => {\r\n    this.props.history.push('/carrito-envio');\r\n  }\r\n  showCarrito = () => {\r\n    this.setState({ addStock: false, loading: false }, () => {\r\n      this.props.history.push({ pathname: '/carrito', params: { datosBuscador: { localId: 0 } } });\r\n    });\r\n  }\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    if (state != undefined) {\r\n      let _datosTotal = state.datosTotal;\r\n      let _datosLocal = state.datosLocal;\r\n      console.log(\"MedioPago====>\", state);\r\n      this.setState({\r\n        datosTotal: _datosTotal,\r\n        datosLocal: _datosLocal,\r\n        medioPago: data.MedioPago.Deposito,\r\n        // pedidoId: state.pedidoId,\r\n        localId: state.localId,\r\n        transportista: state.transportista\r\n      });\r\n\r\n    }\r\n  }\r\n  load = async (carritoProdctos, setcarritoProdctos) => {\r\n    let result = localStorageCustom.prototype.getUsuario();\r\n    this.setState({\r\n      medioPago: data.MedioPago.Deposito,\r\n      loading: true,\r\n      dealer: result.dealer,\r\n      linea: result.linea,\r\n      asociado: result.asociado,\r\n      addStock: false\r\n    }, () => {\r\n      this.postBuscarCarritoPedido(carritoProdctos, setcarritoProdctos);\r\n    });\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0);\r\n      const auth = this.context;\r\n      this.load(auth.carritoProdctos, auth.setcarritoProdctos);\r\n      this.checkParams();\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { medioPago, datosTotal, alertas, loading } = this.state;\r\n    const auth = this.context;\r\n    console.log(\"Medio Pago auth\", auth.mostrarOfertas);\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1><SvgAssets icon=\"icon-pago\" fill='#fff' />Medio de Pago</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard' className=\"active\">Dashboard</Link></li>\r\n              <li><Link to='/carrito'>Carrito de compras</Link></li>\r\n              {(auth.mostrarOfertas) ?\r\n                <li><Link to={{ pathname: '/carrito/ofertas', state: { datosTotal: this.state.datosTotal, datosProductos: this.state.productos, localId: this.state.localId } }}>Ofertas</Link></li>\r\n                : null}\r\n              <li><Link to='/carrito/envio'>Envío</Link></li>\r\n              <li><Link to='/carrito/transportistas'>Transportista</Link></li>\r\n              <li>Medio de Pago</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            <SvgAssets icon=\"icon-pago\" fill=\"#fff\" />Medio de pago\r\n          </h6>\r\n          <div className=\"card container_1000\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <div className=\"cards-wrap\" style={{ maxWidth: 680, margin: 'auto' }}>\r\n              <div className=\"card_medio_pago\">\r\n                <div className=\"custom-control custom-radio\">\r\n                  {(medioPago == data.MedioPago.Deposito) ?\r\n                    <input type=\"radio\" id=\"radio1\" name=\"radio_mp\" className=\"custom-control-input\"\r\n                      checked=\"checked\"\r\n                      onClick={() => this.seleccionarMedioPago(data.MedioPago.Deposito)}\r\n                    /> :\r\n                    <input type=\"radio\" id=\"radio1\" name=\"radio_mp\" className=\"custom-control-input\"\r\n                      onClick={() => this.seleccionarMedioPago(data.MedioPago.Deposito)}\r\n                    />}\r\n                  <label className=\"custom-control-label\" htmlFor=\"radio1\"></label>\r\n                </div>\r\n                <div className=\"cphTextCenter\">\r\n                  <h6 className=\"paragraph-2 bold\" style={{ color: c.azulClaro }}>Pago - DEPÓSITO</h6>\r\n                  <p>Puedes realizar tu pago en los siguientes bancos: </p>\r\n                  <div className=\"banco-img\" >\r\n                    <img src={require('../../assets/img/Bcp_logo.png')} />\r\n                    <img src={require('../../assets/img/Scotiabank_logo.png')} />\r\n                    <img src={require('../../assets/img/BBVA_logo.png')} />\r\n                  </div>\r\n                  <p>Recuerda realizar el pago con el número de pedido y hasta la fecha estimada que te brindaremos en la siguiente página.</p>\r\n                </div>\r\n              </div>\r\n              <div className=\"card_medio_pago\">\r\n                <div className=\"custom-control custom-radio\">\r\n                  {(medioPago == data.MedioPago.PrePedido) ?\r\n                    <input type=\"radio\" id=\"radio2\" name=\"radio_mp\" className=\"custom-control-input\"\r\n                      checked=\"checked\"\r\n                      onClick={() => this.seleccionarMedioPago(data.MedioPago.PrePedido)}\r\n                    /> :\r\n                    <input type=\"radio\" id=\"radio2\" name=\"radio_mp\" className=\"custom-control-input\"\r\n                      onClick={() => this.seleccionarMedioPago(data.MedioPago.PrePedido)}\r\n                    />}\r\n                  <label className=\"custom-control-label\" htmlFor=\"radio2\"></label>\r\n                </div>\r\n                <div className=\"cphTextCenter\">\r\n                  <h6 className=\"paragraph-2 bold\" style={{ color: c.azulClaro }}>Guardar Pre-Pedido</h6>\r\n                  <p>Tu Pre-Pedido quedará guardado por 2 días hábiles, luego será eliminado.</p>\r\n                  <p>Recuerda que este pre-pedido podrás encontrarlo en el menú “Pre-Pedidos”</p>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            {datosTotal.moneda == null || datosTotal.moneda == undefined ? null :\r\n              <p className=\"total-price\">TOTAL: {datosTotal.moneda} {(Number(datosTotal.total)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</p>\r\n            }\r\n\r\n            {/* <Link to=\"/carrito-resumen-pedido\" style={{ textDecoration: 'none' }}> */}\r\n            <button className={`btn-block mobile${(medioPago == null || datosTotal.total <= 0 ? \" disabled\" : \"\")}`}\r\n              type=\"button\"\r\n              disabled={medioPago == null || datosTotal.total <= 0}\r\n              onClick={() => this.postMedioPago(auth.setcarritoProdctos)}\r\n            >siguiente</button>\r\n            {/* </Link> */}\r\n          </div>\r\n          <div className=\"text-center desktop mt-5\">\r\n            <button className={`btn-block${(medioPago == null || datosTotal.total <= 0 ? \" disabled\" : \"\")}`}\r\n              type=\"button\"\r\n              disabled={medioPago == null || datosTotal.total <= 0}\r\n              onClick={() => this.postMedioPago(auth.setcarritoProdctos)}\r\n            >siguiente</button>\r\n          </div>\r\n          <ModalSinStock dadComponent={this} />\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  notificacion = async (alertTitulo = \"\", alertMensaje = \"\", alertOptions = null) => {\r\n    this.setState({ alertTitulo, alertMensaje, alertOptions });\r\n    this.toggleModalAlert();\r\n  }\r\n  toggleModalAlert = () => {\r\n    this.setState(prevState => ({\r\n      showAlert: !prevState.showAlert,\r\n    }));\r\n  }\r\n\r\n  postBuscarCarritoPedido = async (carritoProdctos, setcarritoProdctos) => {\r\n    BuscarCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado,\r\n      this.state.datosLocal.localId, this.state.pedidoId)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          let productosSinStock = result.dto.repuestos.filter(t => !t.validaStok).length;\r\n          let _total = (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0;\r\n          if (productosSinStock > 0) {\r\n            this.setState({\r\n              addStock: true,\r\n              loading: false\r\n            });\r\n          } else {\r\n            this.setState({\r\n              loading: false,\r\n              listaBancos: result.dto.listaBancos,\r\n              productos: result.dto.repuestos,\r\n              alertas: result.dto.alertas,\r\n              locales: result.dto.perfil.locales,\r\n              datosTotal: {\r\n                total: _total,\r\n                moneda: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].sWaers : \"\",\r\n              }\r\n            })\r\n\r\n            if (_total == 0)\r\n              notificacion(\"Carrito\", data.MensajeSinProducto);\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postMedioPago = async (setcarritoProdctos) => {\r\n    if (this.state.medioPago == data.MedioPago.Deposito) {\r\n      // this.setState({ loading: true })\r\n      // BuscarCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado,\r\n      //   this.state.datosLocal.localId, this.state.pedidoId)\r\n      //   .then(result => {\r\n      //     if (result.mo.type == \"success\") {\r\n      //       this.setState({ loading: false })\r\n      //       var dataSinStock = result.dto.repuestos.filter(x => !x.validaStok)\r\n      //       if (dataSinStock.length == 0) {\r\n      //         this.props.history.push({\r\n      //           pathname: '/carrito-resumen-pedido',\r\n      //           state: {\r\n      //             datosTotal: this.state.datosTotal,\r\n      //             localId: this.state.localId,\r\n      //             pedidoId: this.state.pedidoId,\r\n      //             datosLocal: this.state.datosLocal,\r\n      //           }\r\n      //         });\r\n      //         setcarritoProdctos(0);\r\n      //       } else {\r\n      //         // this.notificacion(\"Aviso\", \"Alguno de tus productos ya no cuenta con stock.\");\r\n      //         this.setState({ addStock: true, loading: false }, () => {\r\n      //           Alert.fire({\r\n      //             // title: alertTitulo,\r\n      //             html: \"<p class='text-danger'>Alguno de tus productos<br><strong>ya no cuenta con stock</strong></p>\",\r\n      //             icon: 'warning',\r\n      //             showCancelButton: false,\r\n      //             confirmButtonColor: c.azul,\r\n      //             confirmButtonText: 'Entendido'\r\n      //           }).then((result) => {\r\n      //             if (result.value) {\r\n      //               this.props.history.push('/carrito');\r\n      //             }\r\n      //           })\r\n      //         });\r\n      //       }\r\n      //     } else {\r\n      //       throw new Error(result.mo.listMessage.join(\", \"));\r\n      //     }\r\n      //   }).catch((error) => {\r\n      //     this.setState({ loading: false }, async () => {\r\n      //       await this.notificacion(\"Carrito\", error.message ?? null);\r\n      //     });\r\n      //   });\r\n\r\n      this.props.history.push({\r\n        pathname: 'resumen-pedido',\r\n        state: {\r\n          datosTotal: this.state.datosTotal,\r\n          localId: this.state.localId,\r\n          pedidoId: this.state.pedidoId,\r\n          datosLocal: this.state.datosLocal,\r\n          transportista: this.state.transportista\r\n        }\r\n      });\r\n\r\n    } else if (this.state.medioPago == data.MedioPago.PrePedido) {\r\n      this.postCrearPrePedido(setcarritoProdctos)\r\n    }\r\n  }\r\n\r\n\r\n  postCrearPrePedido = async (setcarritoProdctos) => {\r\n    this.setState({ loading: true })\r\n    CrearPrePedido(this.state.dealer, this.state.linea, this.state.asociado, this.state.datosLocal.localId,\r\n      this.state.transportista.transporte, this.state.transportista.contacto, this.state.transportista.recojo)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          setcarritoProdctos(0);\r\n          this.setState({\r\n            loading: false,\r\n            datosTotal: {\r\n              total: 0\r\n            }\r\n          }, async () => {\r\n            notificacion(\"Aviso\", \"El pre-pedido se registró con éxito.\", () => {\r\n              this.toggleModalAlert();\r\n              this.setState({ loading: false });\r\n              // setrouterScreen({ from: data.Router.MedioPago, to: data.Router.PrePedidos });\r\n              this.props.history.push('/pre-pedidos');\r\n            });\r\n          });\r\n          // this.props.navigation.navigate('PrePedidos');\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n        this.setState({ loading: false }, async () => {\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n    // }\r\n  }\r\n  seleccionarMedioPago = (value) => {\r\n    this.setState({ medioPago: value })\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { UncontrolledCollapse, Collapse, Container, Col, Row, ListGroup, ListGroupItem } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { CrearPedido, BuscarCarritoPedido } from '../../store/sagas/carritoApi';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\nimport ModalSinStock from '../reusable/modals/SinStock';\r\n\r\nexport class ResumenPedido extends Component {\r\n  static displayName = ResumenPedido.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      collapse1: false,\r\n      loading: false,\r\n      locales: [],\r\n      alertas: [],\r\n      local: {},\r\n      datosTotal: { total: 0, acumulado: 0, total: 0 },\r\n      productos: [],\r\n      datosLocal: {},\r\n      localId: 0,\r\n      pedidoId: 0,\r\n      UrlTyC: '',\r\n      FechaEstimadoPago: '',\r\n      FechaEstimadoEntrega: '',\r\n      addStock: false,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      transportista: {\r\n        transporte: {},\r\n        contacto: {},\r\n        recojo: {}\r\n      }\r\n    };\r\n  }\r\n\r\n  load = (carritoProdctos, setcarritoProdctos) => {\r\n    let result = localStorageCustom.prototype.getUsuario();\r\n    this.setState({\r\n      loading: true,\r\n      dealer: result.dealer,\r\n      linea: result.linea,\r\n      asociado: result.asociado,\r\n      addStock: false\r\n    }, () => {\r\n      this.postBuscarCarritoPedido(carritoProdctos, setcarritoProdctos);\r\n    });\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    if (state != undefined) {\r\n      let _datosTotal = state.datosTotal;\r\n      let _datosLocal = state.datosLocal;\r\n      console.log(\"ResumenPedido====>\", state);\r\n      console.log(_datosLocal);\r\n      this.setState({\r\n        datosTotal: _datosTotal,\r\n        datosLocal: _datosLocal,\r\n        pedidoId: state.pedidoId,\r\n        localId: state.localId,\r\n        transportista: state.transportista\r\n      });\r\n    }\r\n  }\r\n\r\n  IrMedioPago = () => {\r\n    this.props.history.push({\r\n      pathname: '/carrito-medio-pago',\r\n      state: {\r\n        datosTotal: this.state.datosTotal,\r\n        datosProductos: this.state.productos,\r\n        localId: this.state.localId,\r\n        //pedidoId: this.state.pedidoId\r\n      }\r\n    });\r\n  }\r\n\r\n  IrEnvio = () => {\r\n    this.props.history.push({\r\n      pathname: '/carrito/envio',\r\n      state: {\r\n        datosTotal: this.state.datosTotal,\r\n        datosProductos: this.state.productos,\r\n        localId: this.state.localId,\r\n        //pedidoId: this.state.pedidoId\r\n      }\r\n    });\r\n  }\r\n  IrPago = () => {\r\n    this.props.history.push({\r\n      pathname: '/carrito/medio-pago',\r\n      state: {\r\n        datosTotal: this.state.datosTotal,\r\n        datosProductos: this.state.productos,\r\n        localId: this.state.localId,\r\n        datosLocal: this.state.datosLocal\r\n        //pedidoId: this.state.pedidoId\r\n      }\r\n    });\r\n  }\r\n\r\n  IrTransportista = () => {\r\n    this.props.history.push({\r\n      pathname: '/carrito/transportistas',\r\n      state: {\r\n        datosTotal: this.state.datosTotal,\r\n        datosProductos: this.state.productos,\r\n        localId: this.state.localId,\r\n        datosLocal: this.state.datosLocal,\r\n        recojoOtro: false\r\n        //pedidoId: this.state.pedidoId\r\n      }\r\n    });\r\n  }\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0);\r\n      const auth = this.context;\r\n      this.load(auth.carritoProdctos, auth.setcarritoProdctos);\r\n      this.checkParams();\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { collapse1, productos, alertas, datosTotal, UrlTyC, datosLocal, FechaEstimadoPago, loading, FechaEstimadoEntrega, transportista } = this.state;\r\n    const auth = this.context;\r\n    console.log(\"Medio Pago auth\", auth.mostrarOfertas);\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Resumen de pedido</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard' className=\"active\">Dashboard</Link></li>\r\n              <li><Link to='/carrito'>Carrito de compras</Link></li>\r\n              {(auth.mostrarOfertas) ?\r\n                <li><Link to={{ pathname: '/carrito/ofertas', state: { datosTotal: this.state.datosTotal, datosProductos: this.state.productos, localId: this.state.localId } }}>Ofertas</Link></li>\r\n                : null}\r\n              <li><Link to='/carrito/envio'>Envío</Link></li>\r\n              <li><Link to='/carrito/transportistas'>Transportista</Link></li>\r\n              <li><Link to='/carrito/medio-pago'>Medio de Pago</Link></li>\r\n              <li>Resumen de Pedido</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            Resumen de pedido</h6>\r\n          <div className=\"card container_1000\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <div className=\"card_collapse w-100\" style={{ maxWidth: 360, margin: 'auto' }}>\r\n              <div className=\"header_collapse\" id=\"toggler\" onClick={() => { this.ToggleCollapse1() }}>\r\n                <h6 className=\"paragraph-1\" style={{ color: c.verdeClaro }}>Productos en tu pedido</h6>\r\n                <div className=\"arrow\" style={{ background: c.verdeClaro }}>\r\n                  <SvgAssets icon={collapse1 ? \"icon-top\" : \"icon-bottom\"} fill=\"#fff\" />\r\n                </div>\r\n              </div>\r\n              <Collapse isOpen={collapse1} toggler=\"#toggler\">\r\n                <div className=\"body_collapse\">\r\n                  <ListGroup flush>\r\n                    <ListGroupItem className=\"px-0\">\r\n                      <Row form>\r\n                        <Col xs={5}></Col>\r\n                        <Col xs={5}>\r\n                          <span className='paragraph-3 bold text-left' style={{ color: c.verdeClaro }}>Precio Uni.</span>\r\n                        </Col>\r\n                        <Col xs={2}>\r\n                          <span className='paragraph-3 bold text-left' style={{ color: c.verdeClaro }}>Can.</span>\r\n                        </Col>\r\n                      </Row>\r\n                    </ListGroupItem>\r\n                    {productos.map((item, index) => {\r\n                      return (\r\n                        <ListGroupItem key={index} className=\"px-0\">\r\n                          <Row form>\r\n                            <Col xs={5}>\r\n                              <span className='paragraph-2 bold' style={{ color: c.azulClaro }}>{item.maktx}</span>\r\n                              <span className='paragraph-3' style={{ color: c.azulClaro }}>SKU: {item.matnr}</span>\r\n                            </Col>\r\n                            <Col xs={5}>\r\n                              <span className='paragraph-3 bold' style={{ color: c.azulClaro }}>{item.precioPVD}</span>\r\n                              {/* <span className='paragraph-3' style={{color:c.azulClaro}}>{item.precioPVP}</span> */}\r\n                            </Col>\r\n                            <Col xs={2}><span className='paragraph-2 bold' style={{ color: c.azulClaro }}>{item.cantidad}</span></Col>\r\n                          </Row>\r\n                        </ListGroupItem>\r\n                      )\r\n                    })}\r\n                  </ListGroup>\r\n                </div>\r\n              </Collapse>\r\n            </div>\r\n            <hr className=\"mobile\" style={{ borderColor: c.celeste, marginLeft: '-5%', marginRight: '-5%' }} />\r\n            <hr className=\"desktop my-5\" style={{ borderColor: c.celeste }} />\r\n            <div className=\"container_680\">\r\n              <Row>\r\n                <Col md={6} className=\"cards-wrap\">\r\n                  <div className=\"card_resumen_pedido\">\r\n                    <div className=\"card-header\">\r\n                      <h6 className=\"paragraph-1\" style={{ color: '#fff' }}>Tu Pedido</h6>\r\n                      <Link to=\"/carrito\">\r\n                        <button className='btn-icon'>\r\n                          <SvgAssets icon=\"icon-edit\" fill=\"#fff\" />\r\n                        </button>\r\n                      </Link>\r\n                    </div>\r\n                    <div className=\"card-body\">\r\n                      <div className=\"costos\">\r\n                        <span className=\"light\" style={{ color: c.verdeClaro }}>{datosTotal.cantidad} Productos:</span>\r\n                        <span className=\"light\" style={{ color: c.verdeClaro }}>{datosTotal.moneda} {(Number(datosTotal.total)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n                      </div>\r\n                      <div className=\"costos\">\r\n                        <span className=\"light\" style={{ color: c.naranja }}>Ahorro acumulado</span>\r\n                        <span className=\"light\" style={{ color: c.naranja }}>{datosTotal.moneda} {datosTotal.acumulado == undefined ? datosTotal.acumulado : (Number(datosTotal.acumulado)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n                      </div>\r\n                      <div className=\"costos\">\r\n                        <span className=\"bold\" style={{ color: c.azulClaro }}>Monto total a pagar:</span>\r\n                        <span className=\"bold\" style={{ color: c.azulClaro }}>{datosTotal.moneda} {(Number(datosTotal.total)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n                      </div>\r\n                      <div className=\"content-fecha\">\r\n                        <div className=\"fecha\">\r\n                          <SvgAssets icon=\"icon-pago\" fill={c.verdeClaro} />\r\n                          <div>\r\n                            <span className=\"paragraph-3\" style={{ color: c.azulClaro }}>Fecha máxima de pago:</span>\r\n                            <span className=\"paragraph-3 bold\" style={{ color: c.azulClaro }}>{FechaEstimadoPago}</span>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <p className=\"terminos\" style={{ color: c.grisMedio }}\r\n                        disabled={UrlTyC == \"\" || UrlTyC == null}\r\n                        onClick={() => this.loadInBrowser()}\r\n                      >Al finalizar el pedido estarás de acuerdo con los <a href=\"javascript:void(0)\">Términos y Condiciones.</a></p>\r\n                    </div>\r\n                  </div>\r\n                  <div className=\"card_resumen_pedido desktop\">\r\n                    <div className=\"card-header\">\r\n                      <h6 className=\"paragraph-1\" style={{ color: '#fff' }}>Transporte del pedido</h6>\r\n                      <button className='btn-icon'\r\n                        onClick={() => this.IrTransportista()}\r\n                      >\r\n                        <SvgAssets icon=\"icon-edit\" fill=\"#fff\" />\r\n                      </button>\r\n                    </div>\r\n                    <div className=\"card-body\">\r\n                      <h6 className=\"paragraph-2 bold mr-2\" style={{ color: c.azulClaro }}>{transportista.transporte.name1}</h6>\r\n                      <p className=\"paragraph-3\" style={{ color: c.azulClaro }}>Pedido lo recibe: {transportista.contacto.nombre}</p>\r\n                      <div className=\"content-fecha\">\r\n                        <div className=\"fecha mt-1\">\r\n                          <SvgAssets icon=\"icon-envio\" fill={c.verdeClaro} />\r\n                          <div>\r\n                            <span className=\"paragraph-3\" style={{ color: c.azulClaro }}>Envío a:</span>\r\n                            <span className=\"paragraph-3 bold\" style={{ color: c.azulClaro }}>{transportista.recojo.desrec}</span>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </Col>\r\n                <Col md={6} className=\"cards-wrap\">\r\n                  <div className=\"card_resumen_pedido\">\r\n                    <div className=\"card-header\">\r\n                      <h6 className=\"paragraph-1\" style={{ color: '#fff' }}>Envío</h6>\r\n                      <button className='btn-icon'\r\n                        onClick={() => this.IrEnvio()}\r\n                      >\r\n                        <SvgAssets icon=\"icon-edit\" fill=\"#fff\" />\r\n                      </button>\r\n                    </div>\r\n                    <div className=\"card-body\">\r\n                      {(datosLocal.alias != \"\") ?\r\n                        <h6 className=\"paragraph-2 bold\" style={{ color: c.azulClaro }}>Envío {datosLocal.alias}</h6>\r\n                        : null}\r\n                      <p className=\"paragraph-3\" style={{ color: c.azulClaro }}>{datosLocal.direccion}</p>\r\n                      <div className=\"content-fecha\">\r\n                        <div className=\"fecha\">\r\n                          <SvgAssets icon=\"icon-envio\" fill={c.verdeClaro} />\r\n                          <div>\r\n                            {/* <span className=\"paragraph-3\" style={{color:c.azulClaro}}>Fecha estimada de entrega: </span> */}\r\n                            <span className=\"paragraph-3\" style={{ color: c.azulClaro }}>{FechaEstimadoEntrega}</span>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                  <div className=\"card_resumen_pedido mobile\">\r\n                    <div className=\"card-header\">\r\n                      <h6 className=\"paragraph-1\" style={{ color: '#fff' }}>Transporte del pedido</h6>\r\n                      <button className='btn-icon'\r\n                        onClick={() => this.IrTransportista()}\r\n                      >\r\n                        <SvgAssets icon=\"icon-edit\" fill=\"#fff\" />\r\n                      </button>\r\n                    </div>\r\n                    <div className=\"card-body\">\r\n                      <h6 className=\"paragraph-2 bold mr-2\" style={{ color: c.azulClaro }}>{transportista.transporte.name1}</h6>\r\n                      <p className=\"paragraph-3\" style={{ color: c.azulClaro }}>Pedido lo recibe: {transportista.contacto.nombre}</p>\r\n                      <div className=\"content-fecha\">\r\n                        <div className=\"fecha mt-1\">\r\n                          <SvgAssets icon=\"icon-envio\" fill={c.verdeClaro} />\r\n                          <div>\r\n                            <span className=\"paragraph-3\" style={{ color: c.azulClaro }}>Envío a:</span>\r\n                            <span className=\"paragraph-3 bold\" style={{ color: c.azulClaro }}>{transportista.recojo.desrec}</span>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                  <div className=\"card_resumen_pedido\">\r\n                    <div className=\"card-header\">\r\n                      <h6 className=\"paragraph-1\" style={{ color: '#fff' }}>Pago</h6>\r\n                      <button className='btn-icon'\r\n                        onClick={() => this.IrPago()}\r\n                      >\r\n                        <SvgAssets icon=\"icon-edit\" fill=\"#fff\" />\r\n                      </button>\r\n                    </div>\r\n                    <div className=\"card-body\">\r\n                      {/* <div className=\"d-flex\" style={{justifyContent:'space-between'}}> */}\r\n                      <span className=\"paragraph-2 bold mr-2\" style={{ color: c.azulClaro }}>Depósito</span>\r\n                      <div className=\"content-fecha\">\r\n                        <div className=\"fecha mt-1\">\r\n                          <SvgAssets icon=\"icon-pago\" fill={c.verdeClaro} />\r\n                          <div>\r\n                            <span className=\"paragraph-3\" style={{ color: c.azulClaro }}>Fecha máxima de pago:</span>\r\n                            <span className=\"paragraph-3 bold\" style={{ color: c.azulClaro }}>{FechaEstimadoPago}</span>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      {/* </div> */}\r\n                    </div>\r\n                  </div>\r\n                  <div className='ml-auto mr-3 desktop'>\r\n                    <p className=\"total-price\">TOTAL: {datosTotal.moneda} {(Number(datosTotal.total)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</p>\r\n                  </div>\r\n                </Col>\r\n              </Row>\r\n            </div>\r\n            <p className=\"total-price mobile\">TOTAL: {datosTotal.moneda} {(Number(datosTotal.total)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</p>\r\n            <div className=\"mobile\">\r\n              <button className='btn-block'\r\n                type=\"button\"\r\n                onClick={() => this.postResumenPedido(auth.carritoProdctos, auth.setcarritoProdctos)}\r\n              >finalizar pedido</button>\r\n            </div>\r\n          </div>\r\n          <div className=\"desktop mt-5\">\r\n            <button className={`btn-block${(datosTotal.total <= 0 ? \" disabled\" : \"\")}`}\r\n              type=\"button\"\r\n              disabled={datosTotal.total <= 0}\r\n              onClick={() => this.postResumenPedido(auth.carritoProdctos, auth.setcarritoProdctos)}\r\n            >finalizar pedido</button>\r\n          </div>\r\n        </Container>\r\n        <ModalSinStock dadComponent={this} />\r\n      </div>\r\n    );\r\n  }\r\n  notificacion = async (alertTitulo = \"\", alertMensaje = \"\") => {\r\n    this.setState({ alertTitulo, alertMensaje });\r\n    this.toggleModalAlert();\r\n  }\r\n  toggleModalAlert = () => {\r\n    this.setState(prevState => ({\r\n      showAlert: !prevState.showAlert,\r\n    }));\r\n  }\r\n  showCarrito = () => {\r\n    this.setState({ addStock: false, loading: false }, () => {\r\n      this.props.history.push({ pathname: '/carrito', state: { datosBuscador: { localId: 0 } } })\r\n    })\r\n  }\r\n  ToggleCollapse1 = () => {\r\n    this.setState(prevState => ({ collapse1: !prevState.collapse1 }))\r\n  }\r\n  loadInBrowser = () => {\r\n    window.open(this.state.UrlTyC, '_blank');\r\n    // Linking.openURL(this.state.UrlTyC).catch(err => console.log(\"Couldn't load page\", err));\r\n  };\r\n  postBuscarCarritoPedido = (carritoProdctos, setcarritoProdctos) => {\r\n    BuscarCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado,\r\n      this.state.datosLocal.localId, this.state.pedidoId)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          let productosSinStock = result.dto.repuestos.filter(t => !t.validaStok).length;\r\n          let _total = (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0;\r\n\r\n          if (productosSinStock > 0) {\r\n            this.setState({\r\n              addStock: true,\r\n              loading: false\r\n            });\r\n          } else {\r\n            this.setState({\r\n              loading: false,\r\n              productos: result.dto.repuestos,\r\n              alertas: result.dto.alertas,\r\n              locales: result.dto.perfil.locales,\r\n              UrlTyC: result.dto.urlTyC,\r\n              FechaEstimadoPago: result.dto.fechaEstimadoPago,\r\n              FechaEstimadoEntrega: result.dto.fechaEstimadoEntrega,\r\n              datosTotal: {\r\n                acumulado: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].ahorroAcumulado : 0,\r\n                total: _total,\r\n                moneda: (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].sWaers : \"\",\r\n                cantidad: result.dto.repuestos.reduce(function (acc, obj) { return acc + obj.cantidad; }, 0)\r\n              }\r\n            })\r\n\r\n            if (_total == 0)\r\n              notificacion(\"Carrito\", data.MensajeSinProducto);\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postResumenPedido = (carritoProdctos, setcarritoProdctos) => {\r\n    this.setState({ loading: true })\r\n    BuscarCarritoPedido(this.state.dealer, this.state.linea, this.state.asociado,\r\n      this.state.datosLocal.localId, this.state.pedidoId)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          var dataSinStock = result.dto.repuestos.filter(x => !x.validaStok)\r\n          let _total = (result.dto.repuestos.length > 0) ? result.dto.repuestos[0].total : 0;\r\n\r\n          if (_total == 0) {\r\n            notificacion(\"Carrito\", data.MensajeSinProducto);\r\n            this.setState({ loading: false });\r\n          }\r\n          else {\r\n            if (dataSinStock.length == 0) {\r\n              this.CrearPedido(carritoProdctos, setcarritoProdctos);\r\n            } else {\r\n              this.setState({ addStock: true, loading: false });\r\n            }\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  CrearPedido = (carritoProdctos, setcarritoProdctos) => {\r\n    CrearPedido(this.state.dealer, this.state.linea, this.state.asociado,\r\n      this.state.datosLocal.localId, this.state.pedidoId,\r\n      this.state.transportista.transporte, this.state.transportista.contacto, this.state.transportista.recojo)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          if (result.dto.pedido.eStPed) {\r\n            setcarritoProdctos(0);\r\n            this.setState({ loading: false }, () => {\r\n              let datosPedido = { datosPedido: result.dto.pedido }\r\n              this.props.history.push({\r\n                pathname: '/carrito/pedido-finalizado',\r\n                state: { datosPedido }\r\n              });\r\n            })\r\n          } else {\r\n            this.setState({ addStock: true, loading: false });\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { UncontrolledCollapse, Container, Col, Row, ListGroup, ListGroupItem } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport { getStatePage } from '../../utilitarios/util';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nexport class PedidoFinalizado extends Component {\r\n  static displayName = PedidoFinalizado.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: false,\r\n      pedido: {\r\n        pedidos: []\r\n      }\r\n    };\r\n  }\r\n  IrDashboard = async () => {\r\n    this.props.history.push('/generar-pedido');\r\n  }\r\n  IrListado = async () => {\r\n    this.props.history.push('/carrito');\r\n  }\r\n  checkParams() {\r\n\r\n    const { state } = this.props.location;\r\n    if (state != undefined) {\r\n      let _datosPedido = state.datosPedido;\r\n      console.log(\"_datosPedido====>\", _datosPedido);\r\n      this.setState({\r\n        pedido: _datosPedido.datosPedido\r\n      });\r\n    }\r\n  }\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0);\r\n      this.checkParams();\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { loading, pedido } = this.state;\r\n\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Pedido Finalizado</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\">\r\n            <a onClick={() => this.props.history.push('/generar-pedido')} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            Pedido finalizado</h6>\r\n          <div className=\"card container_1000\">\r\n            <div className=\"pedido_finalizado\">\r\n              <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n              <SvgAssets icon=\"icon-check\" className='icon-block' fill={c.verdeClaro} />\r\n              <h4 className=\"mb-4 title-4 verde desktop_parrafo1\">Gracias! Tu pedido ha sido reservado con éxito.</h4>\r\n              <p className=\"paragraph-3 desktop_parrafo2 light\" style={{ color: c.grisMedio }}>\r\n                Tu pedido con <span className=\"bold\" style={{ color: c.azulClaro }}> N° {pedido.pedidosStr}</span> ha sido generado con éxito. Estará reservado hasta las {pedido.horaStr} del {pedido.diaStr} de {pedido.mesStr} del {pedido.anioStr}. De no realizar el pago antes de dicho momento, el pedido se cancelará.\r\n              </p>\r\n              <div className=\"card_pedido_finalizado\">\r\n                {pedido.pedidos.map((item, index) => {\r\n                  return (\r\n                    <Row key={\"item_pedido_\" + index} form>\r\n                      <Col xs={6}>\r\n                        <span className='paragraph-3' style={{ color: c.azulClaro }}>Código de pedido:</span>\r\n                        <span className='paragraph-3 bold' style={{ color: c.azulClaro }}>{item.vbeln}</span>\r\n                      </Col>\r\n                      <Col xs={6}>\r\n                        <span className='paragraph-3' style={{ color: c.azulClaro }}>Fecha máxima de pago: </span>\r\n                        <span className='paragraph-3 bold' style={{ color: c.azulClaro }}>{item.fecmpStr} {item.hormpStr}</span>\r\n                      </Col>\r\n                    </Row>\r\n                  )\r\n                })}\r\n\r\n                <p className=\"importe light\" style={{ color: c.azulClaro }}>Importe a pagar: <span className=\"bold\" style={{ color: c.verdeClaro }}>\r\n                  {pedido.importeStr}</span></p>\r\n              </div>\r\n              <p className=\"paragraph-3 desktop_parrafo2 light\" style={{ color: c.grisMedio }}>\r\n                Realizado el pago iniciará el proceso de atención. Visualizar el proceso en <strong>“Historial de pedidos”</strong>\r\n              </p>\r\n              <div className=\"mobile\">\r\n                <button className='btn-block bg_verde'\r\n                  type=\"button\"\r\n                  onClick={() => this.IrDashboard()}\r\n                >SEGUIR COMPRANDO</button>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div className=\"desktop mt-5\">\r\n            <button className='btn-block bg_verde'\r\n              type=\"button\"\r\n              onClick={() => this.IrDashboard()}\r\n            >SEGUIR COMPRANDO</button>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Alert, Row, Col, Badge, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { getData } from '../../store/sagas/perfilApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class Perfil extends Component {\r\n  static displayName = Perfil.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      perfil: {},\r\n      locales: [],\r\n      loading: true,\r\n      dealer: null,\r\n      linea: null,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      asociado: {}\r\n    };\r\n  }\r\n\r\n  postContraseniaActual = async (_correoElectronico) => {\r\n    this.props.history.push({\r\n      pathname: '/cambiar-contrasenia',\r\n      state: { correoElectronico: _correoElectronico }\r\n    });\r\n  }\r\n\r\n  postLocales = async (_locales) => {\r\n    this.props.history.push({\r\n      pathname: '/locales',\r\n      state: { locales: _locales }\r\n    });\r\n  }\r\n  postTransportista = async (_locales) => {\r\n    this.props.history.push({\r\n      pathname: '/transportistas',\r\n      state: { locales: _locales }\r\n    });\r\n  }\r\n\r\n  postDispositivos = async (_dispositivos) => {\r\n    this.props.history.push({\r\n      pathname: '/dispositivos',\r\n      state: {\r\n        dispositivos: _dispositivos,\r\n        dealer: this.state.dealer,\r\n        linea: this.state.linea,\r\n        asociado: this.state.asociado\r\n      }\r\n    });\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    let result = localStorageCustom.prototype.getUsuario();\r\n    this.setState({\r\n      dealer: result.dealer,\r\n      linea: result.linea,\r\n      asociado: result.asociado\r\n    }, () => {\r\n      this.postGetData(result.dealer.codcliente, result.dealer.correoElectronico,\r\n        result.linea.vkorg, result.asociado.poblacion, result.linea.canal, result.linea.sector, result.linea.linea);\r\n    })\r\n  }\r\n\r\n  render() {\r\n    const { loading, perfil, asociado } = this.state;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"desktop\">\r\n          <Alert color=\"danger\" className=\"alert-perfil\">\r\n            <div className=\"container_1080 w-100\">\r\n              <SvgAssets icon=\"icon-info\" fill=\"#fff\" />\r\n              Para modificar cualquier información de tu perfil contactar a su representante de venta\r\n            </div>\r\n          </Alert>\r\n        </div>\r\n        <div className=\"rs_container\">\r\n          <button className='btn-icon back mobile'\r\n            onClick={() => this.props.history.push('/dashboard')}\r\n          >\r\n            <SvgAssets icon=\"icon-arrow-left\" fill={c.azulClaro} />\r\n          </button>\r\n          <SvgAssets className=\"icon\" icon=\"icon-user\" fill={c.rojoClaro} />\r\n          <h6 className=\"title-2\">{asociado.razonsSocial}</h6>\r\n          <p className=\"paragraph-1 azul\">Repuestos</p>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/perfil' style={{ pointerEvents: 'none' }}>Mi Perfil</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-3\" style={{ backgroundColor: '#fff' }}>\r\n          <Alert color=\"danger\" className=\"alert-perfil mobile\">\r\n            <SvgAssets icon=\"icon-info\" fill=\"#fff\" />\r\n            {/* Para editar cualquier información de tu perfil contáctanos al {perfil.telefonoContactanos} */}\r\n            Para modificar cualquier información de tu perfil contactar a su representante de venta\r\n          </Alert>\r\n          <div className=\"card_desktop container_datos\">\r\n            <h6 className=\"title-3 text-center mb-4 desktop\">Datos Personales</h6>\r\n            <Row className='align-items-perfil'>\r\n              <Col md={6}>\r\n                <div className=\"campo-perfil\">\r\n                  <div className=\"icon\" style={{ backgroundColor: c.naranja }}>\r\n                    <SvgAssets icon=\"icon-cod-cli\" fill=\"#fff\" />\r\n                  </div>\r\n                  <div className=\"text\">\r\n                    <span className=\"paragraph-2 mb-1\" style={{ color: c.azulClaro }}>Código de cliente SAP</span>\r\n                    <span className=\"paragraph-1\" style={{ color: c.grisMedio }}>{asociado.codigoDealer}</span>\r\n                  </div>\r\n                </div>\r\n                <div className=\"campo-perfil\">\r\n                  <div className=\"icon\" style={{ backgroundColor: c.verdeClaro }}>\r\n                    <SvgAssets icon=\"icon-mail\" fill=\"#fff\" />\r\n                  </div>\r\n                  <div className=\"text\">\r\n                    <span className=\"paragraph-2 mb-1\" style={{ color: c.azulClaro }}>Email</span>\r\n                    <span className=\"paragraph-1\" style={{ color: c.grisMedio }}>{perfil.correoElectronico}</span>\r\n                  </div>\r\n                </div>\r\n              </Col>\r\n              <Col md={6}>\r\n                <div className=\"campo-perfil\">\r\n                  <div className=\"icon\" style={{ backgroundColor: c.rojoClaro }}>\r\n                    <SvgAssets icon=\"icon-user\" fill=\"#fff\" />\r\n                  </div>\r\n                  <div className=\"text\">\r\n                    <span className=\"paragraph-2 mb-1\" style={{ color: c.azulClaro }}>Nombre</span>\r\n                    <span className=\"paragraph-1\" style={{ color: c.grisMedio }}>{asociado.razonsSocial}</span>\r\n                  </div>\r\n                </div>\r\n                <div className=\"campo-perfil\">\r\n                  <div className=\"icon\" style={{ backgroundColor: c.morado }}>\r\n                    <SvgAssets icon=\"icon-phone\" fill=\"#fff\" />\r\n                  </div>\r\n                  <div className=\"text\">\r\n                    <span className=\"paragraph-2 mb-1\" style={{ color: c.azulClaro }}>Teléfono</span>\r\n                    <span className=\"paragraph-1\" style={{ color: c.grisMedio }}>9578852314</span>\r\n                  </div>\r\n                </div>\r\n              </Col>\r\n            </Row>\r\n          </div>\r\n\r\n          <ul className=\"options-perfil\">\r\n            <li className='mobile'>\r\n              {/* <Link to=\"/locales\"> */}\r\n              <a href=\"#\" style={{ color: c.naranja }}\r\n                onClick={(e) => { e.preventDefault(); this.postTransportista(perfil.traspor); }}\r\n              >\r\n                <SvgAssets icon=\"icon-local\" fill={c.naranja} />\r\n                Transportistas\r\n                <SvgAssets icon=\"icon-right\" className=\"arrow\" fill={c.naranja} />\r\n              </a>\r\n              {/* </Link> */}\r\n            </li>\r\n            <li>\r\n              {/* <Link to=\"/locales\"> */}\r\n              <a href=\"#\" style={{ color: c.verdeClaro }}\r\n                onClick={(e) => { e.preventDefault(); this.postLocales(perfil.locales); }}\r\n              >\r\n                <SvgAssets icon=\"icon-local\" fill={c.verdeClaro} />\r\n                Locales\r\n                <SvgAssets icon=\"icon-right\" className=\"arrow\" fill={c.verdeClaro} />\r\n              </a>\r\n              {/* </Link> */}\r\n            </li>\r\n            <li>\r\n              {/* <Link to=\"/dispositivos\"> */}\r\n              <a href=\"#\" style={{ color: c.morado }}\r\n                onClick={(e) => { e.preventDefault(); this.postDispositivos(perfil.dispositivos) }}\r\n              >\r\n                <SvgAssets icon=\"icon-phone\" fill={c.morado} />\r\n                Dispositivos\r\n                <SvgAssets icon=\"icon-right\" className=\"arrow\" fill={c.morado} />\r\n              </a>\r\n              {/* </Link> */}\r\n            </li>\r\n            <li>\r\n              {/* <Link to=\"/cambiar-contrasenia\"> */}\r\n              <a href=\"#\" style={{ color: c.azulClaro }}\r\n                onClick={(e) => { e.preventDefault(); this.postContraseniaActual(perfil.correoElectronico) }}\r\n              >\r\n                <SvgAssets icon=\"icon-lock\" fill={c.azulClaro} />\r\n                Cambiar contraseña\r\n                <SvgAssets icon=\"icon-right\" className=\"arrow\" fill={c.azulClaro} />\r\n              </a>\r\n              {/* </Link> */}\r\n            </li>\r\n            <li className='desktop'>\r\n              {/* <Link to=\"/locales\"> */}\r\n              <a href=\"#\" style={{ color: c.naranja }}\r\n                onClick={(e) => { e.preventDefault(); this.postTransportista(perfil.traspor); }}\r\n              >\r\n                <SvgAssets icon=\"icon-local\" fill={c.naranja} />\r\n                Transportistas\r\n                <SvgAssets icon=\"icon-right\" className=\"arrow\" fill={c.naranja} />\r\n              </a>\r\n              {/* </Link> */}\r\n            </li>\r\n          </ul>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  postGetData = async (CodigoDealer, CorreoElectronico, VKorg, Poblacion, Canal, Sector, linea) => {\r\n    getData(CodigoDealer, CorreoElectronico, VKorg, Poblacion, Canal, Sector, linea)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            locales: result.dto.locales,\r\n            perfil: result.dto.perfil\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Perfil\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n}\r\n","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\nexport function EliminarDispositivo(Codigo, CodigoDealer, CorreoElectronico, Id, VKorg, Poblacion, Canal, Sector) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/EliminarDispositivo\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.DispositivoDealer': Codigo, // DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.DispositivoId': Id,\r\n        'dto.VKorg': VKorg,\r\n        'dto.Poblacion': Poblacion,\r\n        'dto.Canal': Canal,\r\n        'dto.Sector': Sector,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"EliminarDispositivo====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function getData(CodigoDealer, CorreoElectronico, VKorg, Poblacion, Canal, Sector, Linea) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/perfil\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.VKorg': VKorg,\r\n        'dto.Poblacion': Poblacion,\r\n        'dto.Canal': Canal,\r\n        'dto.Linea': Linea,\r\n        'dto.Sector': Sector,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"getData params.data====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function setLocal(CodigoDealer, CorreoElectronico, Alias, LocalId, Canal, Sector) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ActualizaLocal\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.Alias': Alias,\r\n        'dto.LocalId': LocalId,\r\n        'dto.Canal': Canal,\r\n        'dto.Sector': Sector,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"SetLocal====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function ListarLocal(CodigoDealer, CorreoElectronico, Canal, Sector) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarLocal\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CodigoNuevoDealer': CodigoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.Canal': Canal,\r\n        'dto.Sector': Sector,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"ListarLocal====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}","import React, { Component } from 'react';\r\nimport { BrowserView, MobileView, isBrowser, isMobile } from \"react-device-detect\";\r\nimport { FormGroup, Input, Button, Container, FormFeedback } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport c from '../../constants/Colors';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport { login, cambiarContrasenia } from '../../store/sagas/authApi';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\nimport { notificacion } from '../../utilitarios/util';\r\n\r\nfunction CurrentPassword({ dadComponent }) {\r\n  const { showError, isMobile, currentPwd, viewPassword1, viewPassword2, showErrorConfirmar, showErrorConfirmarCurrent, errorValidacion, errorValidacionConfirmarCurrent, password, password1, password2 } = dadComponent.state;\r\n\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <h4 className=\"title-2 azul mobile\"><SvgAssets icon=\"icon-lock-eye\" className='icon-block' fill={c.azulClaro} />Contraseña<br /> actual</h4>\r\n        <h4 className=\"title-2 azul desktop\"><SvgAssets icon=\"icon-lock-eye\" className=\"mr-2\" fill={c.azulClaro} />Actualizar contraseña</h4>\r\n        <form>\r\n          <FormGroup className=\"icon\">\r\n            <Input className=\"azul\" type={currentPwd ? 'text' : 'password'} name=\"password\" placeholder=\"Confirmar contraseña\"\r\n              onKeyPress={(e) => { if (e.which == 13 || e.which == 10) e.preventDefault(); }}\r\n              onKeyUp={(e) => { if (e.keyCode == 13 || e.keyCode == 10) { e.preventDefault(); isMobile ? password == '' ? (() => { })() : dadComponent.validarContrasenia(isMobile) : password == '' || password1 == '' || password2 == '' ? (() => { })() : dadComponent.validarContrasenia(isMobile); } }}\r\n              onChange={(password) => dadComponent.setPassword(password)}\r\n            />\r\n            <Button color=\"link\" className=\"btn-icon\" onClick={dadComponent.toggleCurrentPassword}>\r\n              <SvgAssets icon={currentPwd ? 'icon-eye' : 'icon-eye-close'} fill={c.azulClaro} />\r\n            </Button>\r\n            {showErrorConfirmarCurrent ? <FormFeedback>{errorValidacionConfirmarCurrent}</FormFeedback> : null}\r\n          </FormGroup>\r\n        </form>\r\n        <hr className=\"desktop mb-4 mx-auto\" style={{ borderColor: '#E2E2E2', maxWidth: 358 }} />\r\n        {!isMobile ? <form>\r\n          <FormGroup className=\"icon\">\r\n            <Input className=\"naranja\" type={viewPassword1 ? 'text' : 'password'} name=\"password\" placeholder=\"Contraseña\"\r\n              onKeyPress={(e) => { if (e.which == 13 || e.which == 10) e.preventDefault(); }}\r\n              onKeyUp={(e) => { if (e.keyCode == 13 || e.keyCode == 10) { e.preventDefault(); password == '' || password1 == '' || password2 == '' ? (() => { })() : dadComponent.validarContrasenia(isMobile); } }}\r\n              onChange={(password) => dadComponent.setPassword1(password)}\r\n            />\r\n            <Button color=\"link\" className=\"btn-icon naranja\" onClick={dadComponent.togglePassword1}>\r\n              <SvgAssets icon={viewPassword1 ? 'icon-eye' : 'icon-eye-close'} fill={c.naranja} />\r\n            </Button>\r\n            {(showError) ? <FormFeedback>{errorValidacion}</FormFeedback> : null}\r\n          </FormGroup>\r\n          <FormGroup className=\"icon\">\r\n            <Input className=\"naranja\" type={viewPassword2 ? 'text' : 'password'} name=\"password\" placeholder=\"Confirmar contraseña\"\r\n              onKeyPress={(e) => { if (e.which == 13 || e.which == 10) e.preventDefault(); }}\r\n              onKeyUp={(e) => { if (e.keyCode == 13 || e.keyCode == 10) { e.preventDefault(); password == '' || password1 == '' || password2 == '' ? (() => { })() : dadComponent.validarContrasenia(isMobile); } }}\r\n              onChange={(password) => dadComponent.setPassword2(password)}\r\n            />\r\n            <Button color=\"link\" className=\"btn-icon naranja\" onClick={dadComponent.togglePassword2}>\r\n              <SvgAssets icon={viewPassword2 ? 'icon-eye' : 'icon-eye-close'} fill={c.naranja} />\r\n            </Button>\r\n            {(showErrorConfirmar) ? <FormFeedback>Las contraseñas no coinciden</FormFeedback> : null}\r\n          </FormGroup>\r\n          <p className=\"paragraph-2 desktop_parrafo3\" style={{ color: c.naranja }}>Debe contener al menos una letra mayúscula, una minúscula, un número y un símbolo. Mínimo 6 y máximo 20 caracteres.</p>\r\n        </form> : null}\r\n        <div className=\"text-center mt-5 mobile\">\r\n          <button className='btn-block red'\r\n            disabled={isMobile ? password == '' || showErrorConfirmarCurrent : password == '' || password1 == '' || password2 == '' || showErrorConfirmarCurrent || showError || showErrorConfirmar}\r\n            onClick={() => dadComponent.validarContrasenia(isMobile)}>\r\n            {/* onClick={() => isMobile ? dadComponent.validarContrasenia : dadComponent.updateContrasenia}> */}\r\n            {isMobile ? \"siguiente\" : \"actualizar\"}<SvgAssets icon=\"icon-arrow-right\" className='svg-right' fill=\"#fff\" />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <button className='btn-block red'\r\n          disabled={isMobile ? password == '' || showErrorConfirmarCurrent : password == '' || password1 == '' || password2 == '' || showErrorConfirmarCurrent || showError || showErrorConfirmar}\r\n          onClick={() => dadComponent.validarContrasenia(isMobile)}>\r\n          {/* onClick={() => isMobile ? dadComponent.validarContrasenia : dadComponent.updateContrasenia}> */}\r\n          {isMobile ? \"siguiente\" : \"actualizar\"}<SvgAssets icon=\"icon-arrow-right\" className='svg-right' fill=\"#fff\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction NuevaContraseña({ dadComponent }) {\r\n  const { password1, password2, viewPassword1, viewPassword2, showError, showErrorConfirmar, errorValidacion, loading } = dadComponent.state;\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <h4 className=\"text-center title-2 naranja\">\r\n          <SvgAssets icon=\"icon-lock\" className='icon-block' fill={c.naranja} />\r\n          Nueva<br className=\"mobile\" /> contraseña\r\n        </h4>\r\n        <form>\r\n          <FormGroup className=\"icon\">\r\n            <Input className=\"naranja\" type={viewPassword1 ? 'text' : 'password'} name=\"password\" placeholder=\"Contraseña\"\r\n              onChange={(password) => dadComponent.setPassword1(password)}\r\n            />\r\n            <Button color=\"link\" className=\"btn-icon naranja\" onClick={dadComponent.togglePassword1}>\r\n              <SvgAssets icon={viewPassword1 ? 'icon-eye' : 'icon-eye-close'} fill={c.naranja} />\r\n            </Button>\r\n            {(showError) ? <FormFeedback>{errorValidacion}</FormFeedback> : null}\r\n          </FormGroup>\r\n          <FormGroup className=\"icon\">\r\n            <Input className=\"naranja\" type={viewPassword2 ? 'text' : 'password'} name=\"password\" placeholder=\"Confirmar contraseña\"\r\n              onChange={(password) => dadComponent.setPassword2(password)}\r\n            />\r\n            <Button color=\"link\" className=\"btn-icon naranja\" onClick={dadComponent.togglePassword2}>\r\n              <SvgAssets icon={viewPassword2 ? 'icon-eye' : 'icon-eye-close'} fill={c.naranja} />\r\n            </Button>\r\n            {(showErrorConfirmar) ? <FormFeedback>Las contraseñas no coinciden</FormFeedback> : null}\r\n          </FormGroup>\r\n          <p className=\"paragraph-2 desktop_parrafo3\" style={{ color: c.naranja }}>Debe contener al menos una letra mayúscula, una minúscula, un número y un símbolo. Mínimo 6 y máximo 20 caracteres.</p>\r\n        </form>\r\n        <div className=\"text-center mt-5\">\r\n          <button className='btn-block red'\r\n            onClick={() => dadComponent.updateContrasenia()}\r\n          // onClick={dadComponent.nextStep}\r\n          >\r\n            Actualizar<SvgAssets icon=\"icon-arrow-right\" className='svg-right' fill=\"#fff\" />\r\n          </button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Message({ dadComponent }) {\r\n  const { } = dadComponent.state;\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <h4 className=\"title-2 mobile\" style={{ color: c.verdeClaro }}><SvgAssets icon=\"icon-eye\" className='icon-block' fill={c.verdeClaro} />Contraseña<br className=\"mobile\" /> actualizada</h4>\r\n        <h4 className=\"title-2 desktop\" style={{ color: c.verdeClaro }}><SvgAssets icon=\"icon-eye\" className='mr-2' fill={c.verdeClaro} />Contraseña actualizada</h4>\r\n        <p className=\"paragraph-1 text-center mb-text light mx-auto\" style={{ maxWidth: 438, color: c.verdeClaro }}>\r\n          Tu nueva contraseña ha sido actualizada, <strong>sigue disfrutando de la experiencia Asiri.</strong>\r\n        </p>\r\n        <div className=\"text-center mt-5 mobile\">\r\n          <Link to=\"/perfil\" style={{ textDecoration: 'none' }}>\r\n            <button className='btn-block red'>Entendido</button>\r\n          </Link>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <Link to=\"/perfil\" style={{ textDecoration: 'none' }}>\r\n          <button className='btn-block red'>Entendido</button>\r\n        </Link>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class CambiarContrasenia extends Component {\r\n  static displayName = CambiarContrasenia.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      isMobile: isMobile,\r\n      step: 0,\r\n      currentPwd: false,\r\n      correoElectronico: null,\r\n      email: null,\r\n      dispositivoDealer: null,\r\n      codigoDealer: null,\r\n      viewPassword1: false,\r\n      viewPassword2: false,\r\n      password1: false,\r\n      password2: false,\r\n      errorValidacionConfirmarCurrent: null,\r\n      errorValidacion: null,\r\n      showError: false,\r\n      showErrorConfirmar: false,\r\n      showErrorConfirmarCurrent: false,\r\n      loading: true\r\n    };\r\n    // this.nextStep = this.nextStep.bind(this);\r\n    this.backStep = this.backStep.bind(this);\r\n    this.toggleCurrentPassword = this.toggleCurrentPassword.bind(this);\r\n    this.togglePassword1 = this.togglePassword1.bind(this);\r\n    this.togglePassword2 = this.togglePassword2.bind(this);\r\n  }\r\n\r\n  nextStep(step = null) {\r\n    this.setState({ step: step == null ? this.state.step + 1 : step })\r\n  }\r\n\r\n  backStep() {\r\n    console.log(\"this.state.step===>\", this.state.step);\r\n    if (this.state.step == 0) { \r\n        this.props.history.push({\r\n          pathname: '/perfil', \r\n          state: {  }\r\n        }); \r\n    } else\r\n      this.setState({ step: this.state.step - 1 })\r\n  }\r\n  toggleCurrentPassword() {\r\n    this.setState({ currentPwd: !this.state.currentPwd })\r\n  }\r\n  togglePassword1() {\r\n    this.setState({ viewPassword1: !this.state.viewPassword1 })\r\n  }\r\n  togglePassword2() {\r\n    this.setState({ viewPassword2: !this.state.viewPassword2 })\r\n  }\r\n\r\n  setPassword1 = (e) => {\r\n    let value = e.currentTarget.value;\r\n    var re = new RegExp(/(?=.*[A-Z]){1}/);\r\n    this.setState({ showError: !re.test(value), password1: value, errorValidacion: !re.test(value) ? \"Debe ingresar al menos una letra Mayúscula\" : null });\r\n    // (re.test(value)) ? \r\n    // this.setState({ showError:false,password1: value}) : \r\n    // this.setState({ showError:true,password1: value});\r\n  }\r\n  setPassword2 = (e) => {\r\n    let value = e.currentTarget.value;\r\n    this.setState({ showErrorConfirmar: this.state.password1 != value, password2: value });\r\n    // (this.state.password1!=value) ? \r\n    // this.setState({ showErrorConfirmar:true,password2: value }) : \r\n    // this.setState({ showErrorConfirmar:false,password2: value });\r\n  }\r\n\r\n  validarContrasenias = () => {\r\n    this.setState({ loading: true });\r\n    let valido = true;\r\n    var re = new RegExp(/(?=.*[A-Z]){1}/);\r\n    if ((this.state.password1 == '' || this.state.password1 == null) || (re.test(this.state.password1)) == false) {\r\n      valido = false;\r\n      this.setState({ showError: true, loading: false });\r\n    }\r\n    if ((this.state.password2 == '' || this.state.password2 == null) || (this.state.password1 != this.state.password2)) {\r\n      valido = false;\r\n      this.setState({ showErrorConfirmar: true, loading: false });\r\n    }\r\n    return valido;\r\n  }\r\n\r\n  updateContrasenia = async (step = null) => {\r\n    this.setState({ showErrorConfirmar: false, showError: false, loading: true });\r\n\r\n    if (this.validarContrasenias()) {\r\n      let CorreoElectronico = this.state.email;\r\n      let Contrasenia = this.state.password1;\r\n      let DispositivoDealer = this.state.dispositivoDealer;\r\n      let CodigoDealer = this.state.codigoDealer;\r\n\r\n      cambiarContrasenia(CorreoElectronico, Contrasenia, DispositivoDealer, CodigoDealer)\r\n        .then(result => {\r\n          if (result.mo.type == \"success\") {\r\n            this.setState({ loading: false });\r\n            this.nextStep(step);\r\n          } else {\r\n            this.setState({ loading: false, showError: true, errorValidacion: result.mo.listMessage.join(\", \") });\r\n\r\n            // throw new Error(result.mo.listMessage.join(\", \"));\r\n          }\r\n        }).catch((error) => {\r\n          this.setState({ loading: false });\r\n          console.log(\"updateContrasenia \", error);\r\n        });\r\n    }\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    this.setState({ correoElectronico: state.correoElectronico, loading: false });\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n  setPassword = (e) => {\r\n    let value = e.currentTarget.value;\r\n    this.setState({ password: value, showErrorConfirmarCurrent: (value == '' || value == null), loading: false, errorValidacionConfirmarCurrent: (value == '' || value == null) ? 'Debe ingresar la contraseña actual' : '' });\r\n  }\r\n\r\n  validarContrasenia(isMobile) {\r\n    let Contrasenia = this.state.password;\r\n    let CorreoElectronico = this.state.correoElectronico;\r\n    this.setState({ loading: true, showErrorConfirmarCurrent: false, errorValidacionConfirmarCurrent: '' });\r\n    login({ CorreoElectronico, Contrasenia })\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ email: result.dto.correoElectronico, dispositivoDealer: result.dto.codigoDispositivo, codigoDealer: result.dto.codcliente }, isMobile ? this.nextStep : () => this.updateContrasenia(2))\r\n          // this.nextStep();\r\n          // this.props.navigation.navigate('PerfilNuevaContrasenia', { email: result.dto.correoElectronico, \r\n          //   dispositivoDealer: result.dto.codigoDispositivo, codigoDealer: result.dto.codcliente });\r\n          this.setState({ loading: false });\r\n        } else {\r\n          this.setState({ showErrorConfirmarCurrent: true, errorValidacionConfirmarCurrent: 'La contraseña ingresada es incorrecta', loading: false });\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false });\r\n        error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n        notificacion(\"Perfil\", error.message ?? null);\r\n      });\r\n  }\r\n\r\n  renderStep() {\r\n    switch (this.state.step) {\r\n      case 0:\r\n        return <CurrentPassword dadComponent={this} />\r\n      case 1:\r\n        return <NuevaContraseña dadComponent={this} />\r\n      case 2:\r\n        return <Message dadComponent={this} />\r\n      default:\r\n        return <Message dadComponent={this} />\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { loading, step } = this.state;\r\n    const auth = this.context;\r\n    console.log('step', step === 1)\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"rs_container desktop\">\r\n          <button className='btn-icon back mobile'>\r\n            <SvgAssets icon=\"icon-arrow-left\" fill={c.azulClaro} />\r\n          </button>\r\n          <SvgAssets className=\"icon\" icon=\"icon-user\" fill={c.rojoClaro} />\r\n          <h6 className=\"title-2\">{auth.userRazonSocial}</h6>\r\n          <p className=\"paragraph-1 azul\">Repuestos</p>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/perfil'>Mi Perfil</Link></li>\r\n              <li>Cambiar Contraseña</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <Spinner visible={loading} />\r\n          {/* <Button color=\"link\" className=\"btn-back mobile\" onClick={this.backStep}><SvgAssets icon=\"icon-arrow-left\" fill=\"#fff\" /></Button> */}\r\n          {step != 1 ?\r\n            <Button color=\"link\" className=\"btn-back mobile\" onClick={this.backStep}>\r\n              <SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} />\r\n            </Button> : null}\r\n          {this.renderStep()}\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Modal, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport c from '../../constants/Colors';\r\nimport { setLocal, ListarLocal } from '../../store/sagas/perfilApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst ModalEdit = ({ dadComponent }) => {\r\n  let visible = dadComponent.state.modalEdit;\r\n  let local = dadComponent.state.local;\r\n  let alias = dadComponent.state.alias;\r\n  return (\r\n    <Modal isOpen={visible} toggle={() => { dadComponent.ShowModalEdit(local) }} className=\"modal_edit\" centered>\r\n      <button className=\"btn-icon modal-close\" onClick={() => { dadComponent.ShowModalEdit(local) }}><SvgAssets icon=\"icon-close\" fill={c.azulClaro} /></button>\r\n      <h6 className=\"paragraph-2 bold\" style={{ color: c.azulClaro }}>{local.direccion}</h6>\r\n      <FormGroup>\r\n        <Input type='text' name=\"alias\" placeholder=\"Alias\" \r\n            value={alias}\r\n            onChange={(alias) => dadComponent.setAlias(alias)}\r\n            />\r\n      </FormGroup>\r\n      <div className=\"text-center\">\r\n        <button className='btn-block mt-0' \r\n        type=\"button\"\r\n        onClick={() => {\r\n          dadComponent.ActualizaLocal()\r\n        }}\r\n        style={{ backgroundColor: c.verdeClaro }}>Actualizar</button>\r\n      </div>\r\n    </Modal>\r\n  );\r\n}\r\n\r\nexport class Locales extends Component {\r\n  static displayName = Locales.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      modalEdit: false,\r\n      loading: true,\r\n      locales: [],\r\n      localesFiltrados: [],\r\n      local: {},\r\n      alias: null,\r\n      search: '',\r\n      asociado: {}\r\n    };\r\n    // this.toggleModal = this.toggleModal.bind(this);\r\n  }\r\n\r\n  setAlias = (e) => {\r\n    let value = e.currentTarget.value;\r\n    this.setState({ alias: value, errorValidacion: null })\r\n  }\r\n\r\n  searchLocal = (e) => {\r\n    let text = e.currentTarget.value;\r\n    this.setState({ loading: true });\r\n    if (text) {\r\n      let textData = text.toUpperCase();\r\n\r\n      let newData = this.state.locales.filter(function (item) {\r\n        const itemData = item.alias ? item.alias.toUpperCase() : ''.toUpperCase();\r\n        const itemDireccion = item.direccion ? item.direccion.toUpperCase() : ''.toUpperCase();\r\n        const itemReferencia1 = item.referencia1 ? item.referencia1.toUpperCase() : ''.toUpperCase();\r\n        const itemReferencia2 = item.referencia2 ? item.referencia2.toUpperCase() : ''.toUpperCase();\r\n\r\n        if (itemData.indexOf(textData) > -1) return item;\r\n        if (itemDireccion.indexOf(textData) > -1) return item;\r\n        if (itemReferencia1.indexOf(textData) > -1) return item;\r\n        if (itemReferencia2.indexOf(textData) > -1) return item;\r\n\r\n      });\r\n\r\n      this.setState({ localesFiltrados: newData, search: text, loading: false });\r\n    } else {\r\n      this.setState({ localesFiltrados: this.state.locales, search: '', loading: false });\r\n    }\r\n  }\r\n  ActualizaLocal = () => {\r\n    let storageGeneral = localStorageCustom.prototype.getUsuario();\r\n    this.postLocal(storageGeneral.dealer.codcliente,\r\n      storageGeneral.dealer.correoElectronico,\r\n      this.state.alias, this.state.local.localId,\r\n      storageGeneral.linea.canal, storageGeneral.linea.sector);\r\n  }\r\n\r\n  checkParams() {\r\n    // const { state } = this.props.location;\r\n    this.setState({\r\n      // locales: params.locales,\r\n      // localesFiltrados: params.locales,\r\n      loading: false\r\n    });\r\n  }\r\n\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    this.setState({\r\n      asociado: data.asociado\r\n    }, () => {\r\n      this.postListarLocal(data.dealer.codcliente, data.dealer.correoElectronico,\r\n        data.linea.canal, data.linea.sector);\r\n    })\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { modalEdit, localesFiltrados, asociado, loading } = this.state;\r\n    console.log(localesFiltrados);\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"rs_container desktop\">\r\n          <button className='btn-icon back mobile'>\r\n            <SvgAssets icon=\"icon-arrow-left\" fill={c.azulClaro} />\r\n          </button>\r\n          <SvgAssets className=\"icon\" icon=\"icon-user\" fill={c.rojoClaro} />\r\n          <h6 className=\"title-2\">{asociado.razonsSocial}</h6>\r\n          <p className=\"paragraph-1 azul\">Repuestos</p>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/perfil'>Mi Perfil</Link></li>\r\n              <li><Link to='/locales' style={{ pointerEvents: 'none' }}>Locales</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\"><Link to='/perfil' className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link><SvgAssets icon=\"icon-local\" fill=\"#fff\" />Locales</h6>\r\n          <div className=\"card container_1080\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <div className=\"content_locales\">\r\n              <h6 className=\"title desktop\"><SvgAssets icon=\"icon-local\" fill={c.azulClaro} />Locales</h6>\r\n              <FormGroup className=\"icon mb-5\">\r\n                <Input className=\"\"\r\n                  type='text'\r\n                  placeholder=\"Dirección o Alias\"\r\n                  onChange={(text) => this.searchLocal(text)} />\r\n                <Button color=\"link\" className=\"btn-icon\">\r\n                  <SvgAssets icon='icon-lupa' fill={c.azulClaro} />\r\n                </Button>\r\n              </FormGroup>\r\n            </div>\r\n            {localesFiltrados.map((data, index) => {\r\n              return (\r\n                <div className=\"card_product_horizontal card_local\" key={index}>\r\n                  <div className=\"cphCounterInput\" style={{ backgroundColor: c.verdeClaro }}>\r\n                    <button className=\"btn-icon\"\r\n                      onClick={() => { this.ShowModalEdit(data) }}>\r\n                      <SvgAssets icon=\"icon-edit\" fill=\"#fff\" />\r\n                    </button>\r\n                  </div>\r\n                  {(data.alias == null || data.alias == \"\") ?\r\n                    <div className=\"cphTextCenter\">\r\n                      \r\n                      <span className=\"paragraph-3 light\"><SvgAssets icon=\"icon-local\" fill={c.azulClaro} className=\"mr-1\" />{data.direccion}</span>                    \r\n                    </div>\r\n                    :\r\n                    <div className=\"cphTextCenter\">\r\n                      <span className=\"paragraph-3 light\">{data.direccion}</span>\r\n                      <h6 className=\"paragraph-2 bold mb-0\" style={{ color: c.verdeClaro }}><SvgAssets icon=\"icon-local\" fill={c.azulClaro} className=\"mr-1\" />{data.alias}</h6>\r\n                    </div>\r\n                  }\r\n                </div>\r\n              )\r\n            })}\r\n            {/* <div className=\"card_product_horizontal\">\r\n              <div className=\"cphCounterInput\" style={{ backgroundColor: c.verdeClaro }}>\r\n                <button className=\"btn-icon\" onClick={this.toggleModal}><SvgAssets icon=\"icon-edit\" fill=\"#fff\" /></button>\r\n              </div>\r\n              <div className=\"cphTextCenter\">\r\n                <span className=\"paragraph-3\">Calle las begonias N° 2322</span>\r\n                <h6 className=\"paragraph-2 bold mb-0\" style={{ color: c.verdeClaro }}><SvgAssets icon=\"icon-local\" fill={c.azulClaro} className=\"mr-1\" />San Isidro - Begonias</h6>\r\n              </div>\r\n            </div>\r\n            <div className=\"card_product_horizontal\">\r\n              <div className=\"cphCounterInput\" style={{ backgroundColor: c.verdeClaro }}>\r\n                <button className=\"btn-icon\" onClick={this.toggleModal}><SvgAssets icon=\"icon-edit\" fill=\"#fff\" /></button>\r\n              </div>\r\n              <div className=\"cphTextCenter\">\r\n                <span className=\"paragraph-3\">Calle las begonias N° 2322</span>\r\n                <h6 className=\"paragraph-2 bold mb-0\" style={{ color: c.verdeClaro }}><SvgAssets icon=\"icon-local\" fill={c.azulClaro} className=\"mr-1\" />San Isidro - Begonias</h6>\r\n              </div>\r\n            </div>\r\n            <div className=\"card_product_horizontal\">\r\n              <div className=\"cphCounterInput\" style={{ backgroundColor: c.verdeClaro }}>\r\n                <button className=\"btn-icon\" onClick={this.toggleModal}><SvgAssets icon=\"icon-edit\" fill=\"#fff\" /></button>\r\n              </div>\r\n              <div className=\"cphTextCenter\">\r\n                <h6 className=\"paragraph-2 bold mb-0\" style={{ color: c.verdeClaro }}>\r\n                  <SvgAssets icon=\"icon-local\" fill={c.azulClaro} className=\"mr-1\" />\r\n                  Avenida Paseo de la república 3195\r\n                </h6>\r\n              </div>\r\n            </div> */}\r\n          </div>\r\n        </Container>\r\n        <ModalEdit dadComponent={this} />\r\n      </div>\r\n    );\r\n  }\r\n\r\n  postListarLocal = async (CodigoDealer, CorreoElectronico, Canal, Sector) => {\r\n    this.setState({ loading: true });\r\n    ListarLocal(CodigoDealer, CorreoElectronico, Canal, Sector)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n\r\n\r\n          this.setState({\r\n            loading: false,\r\n            alias: null,\r\n            modalEdit: false,\r\n            locales: result.dto.locales,\r\n            localesFiltrados: result.dto.locales\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Perfil\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n\r\n  postLocal = async (CodigoDealer, CorreoElectronico, Alias, LocalId, Canal, Sector) => {\r\n    this.setState({ loading: true });\r\n    setLocal(CodigoDealer, CorreoElectronico, Alias, LocalId, Canal, Sector)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let _locales = result.dto.locales;\r\n          let ids = this.state.localesFiltrados.map(x => x.localId);\r\n          let newData = _locales.filter(f => ids.includes(f.localId));\r\n          let _localesFiltrados = newData;\r\n          this.setState({\r\n            loading: false,\r\n            alias: null,\r\n            modalEdit: false,\r\n            locales: _locales,\r\n            localesFiltrados: _localesFiltrados\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Perfil\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n\r\n  ShowModalEdit = (data) => {\r\n    console.log(this.state.modalEdit);\r\n    this.setState(prevState => ({\r\n      modalEdit: !prevState.modalEdit,\r\n      local: data,\r\n      alias: prevState.modalEdit ? '' : data.alias\r\n    }));\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { UncontrolledTooltip, Tooltip, Button, Badge, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport device from '../../utilitarios/device';\r\nimport { EliminarDispositivo, getData } from '../../store/sagas/perfilApi';\r\nimport Platform from 'react-platform-js'\r\nimport { getDevice } from '../../store/sagas/utilApi';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class Dispositivos extends Component {\r\n  static displayName = Dispositivos.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      modalEdit: false,\r\n      loading: true,\r\n      dispositivos: [],\r\n      dispositivoActual: device.prototype.getMacCookie(),\r\n      showTooltip: null\r\n    };\r\n  }\r\n\r\n  toggleTooltip = (index) => {\r\n    // this.setState(prevState => ({\r\n    //   showTooltip: !prevState.showTooltip\r\n    // }));\r\n    this.setState({ showTooltip: index === this.state.showTooltip ? null : index })\r\n  }\r\n\r\n  checkParams() {\r\n    const DispositivoId = getDevice();\r\n    const { state } = this.props.location;\r\n    this.setState({\r\n      dispositivos: state.dispositivos == null ? [] : state.dispositivos, \r\n      dealer: state.dealer,\r\n      asociado: state.asociado,\r\n      linea: state.linea,\r\n      loading: false,\r\n      MI_DISPOSITIVO: DispositivoId\r\n    })\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { dispositivoActual, dispositivos, loading, showTooltip } = this.state;\r\n    const navigation = this.props.navigation\r\n    const auth = this.context;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"rs_container desktop\">\r\n          <button className='btn-icon back mobile'\r\n          >\r\n            <SvgAssets icon=\"icon-arrow-left\" fill={c.azulClaro} />\r\n          </button>\r\n          <SvgAssets className=\"icon\" icon=\"icon-user\" fill={c.rojoClaro} />\r\n          <h6 className=\"title-2\">{auth.userRazonSocial}</h6>\r\n          <p className=\"paragraph-1 azul\">Repuestos</p>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/perfil'>Mi Perfil</Link></li>\r\n              <li><Link to='/dispositivos' style={{ pointerEvents: 'none' }}>Dispositivos</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"pt-4 pb-2 mobile\">\r\n          <Button color=\"link\" className=\"btn-back\"   onClick={() => this.props.history.goBack()}>\r\n            <SvgAssets icon=\"icon-arrow-left\" fill=\"#fff\" />\r\n            </Button>\r\n          <h6 className=\"title-2 white text-center mb-0\">{auth.userRazonSocial}</h6>\r\n        </Container>\r\n        <hr className=\"mobile\" style={{ borderColor: c.celeste }} />\r\n        <Container className=\"pt-2 pb-5\">\r\n          <h6 className=\"title white mobile\"><SvgAssets icon=\"icon-phone\" fill={'#fff'} />Tus Dispositivos</h6>\r\n          <div className=\"card container_1080 content_dispositivos\">\r\n            <SvgAssets icon=\"curve-top\" className='curve-out' fill=\"#fff\" />\r\n            <h6 className=\"title desktop_parrafo1 desktop\"><SvgAssets icon=\"icon-phone\" fill={c.azulClaro} />Tus Dispositivos</h6>\r\n            <p className=\"paragraph-2 light\" style={{ color: c.azulClaro }}>Accediste a tu cuenta de Crosland en estos dispositivos</p>\r\n            <div className=\"content_cards\">\r\n            {dispositivos.map((data, index) => {\r\n              return (\r\n                <div className=\"card_product_horizontal card_dispositivo\" key={index}>\r\n                  <div className=\"cphCounterInput\">\r\n                    <SvgAssets icon={data.codigo.length < 22 ? \"icon-desktop\" :\"icon-phone\"} fill={c.morado} />\r\n                  </div>\r\n                  <div className=\"cphTextCenter\">\r\n                    <h6 className=\"paragraph-2 bold mb-0\" style={{ color: c.azulClaro }}>{data.descripcion}</h6>\r\n                    <span className=\"paragraph-3 light mt-1\" style={{ color: c.azulClaro }}>{data.codigo}</span>\r\n                    {(data.fechaAccesoStr != \"\") ?\r\n                      <span className=\"paragraph-3 light mt-3\" style={{ color: c.grisMedio }}>Última sesión:</span>\r\n                      : null}\r\n                    {(data.fechaAccesoStr != \"\") ?\r\n                      <span className=\"paragraph-3 light\" style={{ color: c.grisMedio }}>{data.fechaAccesoStr}</span>\r\n                      : null}\r\n                    {(data.codigo == dispositivoActual) ?\r\n                      <span className=\"paragraph-3 mt-3 \" style={{ color: c.verdeClaro }}>\r\n                        <SvgAssets icon=\"icon-check\" fill={c.verde} className=\"check\" />Este dispositivo</span>\r\n                      : null}\r\n                  </div>\r\n                  <div className={`cphCounterInput p-0 ${(data.codigo == dispositivoActual) ? \" disabled\" : \"\"}`} \r\n                    id={`tooltip-eliminar${index}`} style={{ backgroundColor: c.morado }}>\r\n\r\n                    <SvgAssets icon=\"icon-dots\" fill=\"#fff\" />\r\n                    {/* <UncontrolledTooltip                     \r\n                     trigger=\"legacy\" placement=\"left\" target={`tooltip-eliminar${index}`} className=\"tooltip-salir\">\r\n                      <div onClick={() => this.postEliminar(data.dispositivoId, data.codigo)}>\r\n                        Salir\r\n                      </div>\r\n                    </UncontrolledTooltip> */}\r\n                    <Tooltip \r\n                      trigger=\"legacy\" \r\n                      placement=\"left\" \r\n                      isOpen={showTooltip === index} target={`tooltip-eliminar${index}`} \r\n                      toggle={() => { this.toggleTooltip(index) }} \r\n                      className=\"tooltip-salir\"\r\n                    >\r\n                      <div onClick={() => this.postEliminar(data.dispositivoId, data.codigo)}>\r\n                        Salir\r\n                      </div>\r\n                    </Tooltip>\r\n                  </div>\r\n                </div>\r\n              )\r\n            })}\r\n            </div>\r\n            <div className=\"text-center mt-3 mobile\">\r\n              <Link to=\"/perfil\" style={{ textDecoration: 'none' }}>\r\n                <button className='btn-block btn-regresar'><SvgAssets icon=\"icon-arrow-left\" fill=\"#fff\" />REGRESAR</button>\r\n              </Link>\r\n            </div>\r\n          </div>\r\n          <div className=\"text-center mt-5 desktop\">\r\n              <Link to=\"/perfil\" style={{ textDecoration: 'none' }}>\r\n                <button className='btn-block btn-regresar'><SvgAssets icon=\"icon-arrow-left\" fill=\"#fff\" />REGRESAR</button>\r\n              </Link>\r\n            </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  postEliminar = async (Id, Codigo) => {\r\n    // this.setState({ loading: true })\r\n    this.setState({showTooltip: null});\r\n    EliminarDispositivo(Codigo, this.state.dealer.codcliente, this.state.dealer.correoElectronico, Id,\r\n      this.state.linea.vkorg, this.state.asociado.poblacion, this.state.linea.canal,\r\n      this.state.linea.sector)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          console.log(\"result.dto==>\", result.dto);\r\n          this.setState({\r\n            loading: false,\r\n            dispositivos: result.dto.perfil.dispositivos\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Perfil\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { FormGroup, Input, Button, Badge, Container } from 'reactstrap';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\r\nimport c from '../../constants/Colors';\r\n\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { getTransportista } from '../../../src/store/sagas/transportistaApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class TransportistasPerfil extends Component {\r\n  static displayName = TransportistasPerfil.name;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: false,\r\n      showModal: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      showAlert: false,\r\n      isActiveModal: false,\r\n      isActiveModal2: false,\r\n      transportes: []\r\n    };\r\n  }\r\n  toggleModal = () => {\r\n    this.setState(prevState => ({\r\n      isActiveModal: !prevState.isActiveModal,\r\n    }));\r\n  }\r\n\r\n\r\n  notificacion = async (alertTitulo = \"\", alertMensaje = \"\") => {\r\n    this.setState({ alertTitulo, alertMensaje });\r\n    this.toggleModalAlert();\r\n  }\r\n  toggleModalAlert = () => {\r\n    this.setState(prevState => ({\r\n      showAlert: !prevState.showAlert,\r\n    }));\r\n  }\r\n\r\n\r\n  load = (carritoProdctos, setcarritoProdctos) => {\r\n\r\n    let storage = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ loading: true });\r\n    getTransportista(storage.dealer.codcliente,\r\n      storage.dealer.correoElectronico,\r\n      storage.linea.vkorg,\r\n      storage.asociado.poblacion)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          console.log(\"result.dto==>\", result.dto);\r\n          this.setState({\r\n            transportes: result.dto.transportista.transportes,\r\n\r\n          });\r\n          console.log(\"result.dto.transportista.transporte===>\", result.dto.transportista.transporte);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n        this.setState({ loading: false });\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await this.notificacion(\"Transportista\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n\r\n  }\r\n\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0);\r\n      const auth = this.context;\r\n      this.load(auth.carritoProdctos, auth.setcarritoProdctos);\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n  render() {\r\n    const { loading, transportes } = this.state;\r\n\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1><SvgAssets icon=\"icon-envio\" fill='#fff' />Transportistas</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/perfil' >Mi Perfil</Link></li>\r\n              <li><Link to='/perfil' style={{ pointerEvents: 'none' }}>Transportista</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"pt-5 pb-float\">\r\n          <h6 className=\"title white mobile\">\r\n            <Link to={{ pathname: '/carrito/ofertas' }} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link>\r\n            <SvgAssets icon=\"icon-envio\" fill=\"#fff\" />Transportistas\r\n          </h6>\r\n          <div style={{ position: 'relative' }}>\r\n            <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n          </div>\r\n          <div className='content_container_transport one'>\r\n            <div className=\"card container_1080\">\r\n              <div className=\"card_desktop container_datos\">\r\n                <h6 className=\"title-3 text-center mb-4 desktop\"><SvgAssets icon=\"icon-envio\" fill=\"#316ACD\" />Transportistas</h6>\r\n              </div>\r\n              <div>\r\n                <ul className='option_transportista'>\r\n                  {transportes.map((item, index) => {\r\n                    return (\r\n                      <li key={\"key_\" + index}>\r\n                        {item.name1}\r\n                      </li>\r\n                    )\r\n                  })}\r\n                  {/* <li>\r\n                    TRANSPORTE MARVISUR S.A.C\r\n                  </li>\r\n                  <li>\r\n                    TRANSPORTE NUEVO ORIENTE\r\n                  </li>\r\n                  <li>\r\n                    TRANSPORTE CRUCERO DEL SUR\r\n                  </li>\r\n                  <li>\r\n                    TRANSPORTE MARVISUR DE LA CARRETERA CENTRAL S.A.C\r\n                  </li>\r\n                  <li>\r\n                    TRANSPORTE NUEVO ORIENTE\r\n                  </li> */}\r\n                </ul>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    )\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Col, Row, ListGroup, ListGroupItem, Container, FormGroup, Input } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport { IconLocation, IconList, IconBottom, IconFolder, ArrowBack } from '../../assets/icons/svgIcon';\r\nimport { data } from '../../constants/Constants';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport { FiltroBuscarPedidoSugerido, BuscarPedidoSugerido } from '../../store/sagas/pedidoApi';\r\nimport { AgregarNuevoProductoPedidoMasivo } from '../../store/sagas/carritoApi';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\nimport c from '../../constants/Colors';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport FormFeedback from 'reactstrap/lib/FormFeedback';\r\n\r\nexport class PedidoSugerido extends Component {\r\n  static displayName = PedidoSugerido.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      collapse1: false,\r\n      loading: true,\r\n      filtroLocal: [],\r\n      page: 1,\r\n      size: data.PageSizePedidoSugeridoMax,\r\n      currentPage: 1,\r\n      dealer: {},\r\n      linea: {},\r\n      selectedLocal: null,\r\n      pedidosSugerido: [],\r\n      pedidosSugeridoAgregar: [],\r\n      pedidosSugeridoEliminados: [],\r\n      TotalRows: 0,\r\n      asociado: {}\r\n    };\r\n  }\r\n\r\n  load = () => {\r\n    let dato = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ dealer: dato.dealer, linea: dato.linea, asociado: dato.asociado }, () => {\r\n      this.postFiltroBuscarPedidoSugerido(dato.linea.vkorg, dato.linea.linea, dato.dealer.codcliente, dato.dealer.correoElectronico);\r\n    } );\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      this.load();\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  render() {\r\n    const { collapse1, page, size, currentPage, loading, filtroLocal, selectedLocal, pedidosSugerido, Total } = this.state;\r\n    const navigation = this.props.navigation\r\n    // const auth = React.useContext(AuthContext);\r\n    const auth = this.context;\r\n\r\n    let obj = filtroLocal.length == 0 ? null : filtroLocal.find(x => x.id == selectedLocal);\r\n\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Pedido Sugerido</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Pedidos</li>\r\n              <li>Pedidos Sugeridos</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            Pedido Sugerido</h6>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" fill={'#1B52B2'} className='curve-top mobile' />\r\n            {/* <div className=\"card-razon-social\">\r\n              <div>\r\n                <div className=\"header-collapse\">{(obj) == null ? \"[Seleccione...]\" : obj.descripcion}</div>\r\n                <UncontrolledCollapse toggler=\"#toggler\">\r\n                  {(filtroLocal.length > 0) ? filtroLocal.map((item, index) => {\r\n                    return (\r\n                      <div key={index + 1} className=\"body-collapse\" onClick={() => this.setSelectedValue(item.id, data.Sistema)}>\r\n                        {item.descripcion}\r\n                      </div>\r\n                    )\r\n                  }) : null\r\n                  }\r\n                </UncontrolledCollapse>\r\n              </div>\r\n              <div className=\"arrow-collapse\" id=\"toggler\" style={{ background: '#2DB997' }}>\r\n                <IconBottom />\r\n              </div>\r\n            </div> */}\r\n            <FormGroup className=\"icon mb-4 w-100\" style={{ maxWidth: 360, margin: 'auto' }}>\r\n              <Input className=\"verde\" type=\"select\" onChange={(itemValue) => this.setSelectedValue(itemValue, data.Sistema)}>\r\n                <option value=\"\">Direcciones</option>\r\n                {(filtroLocal.length > 0) ? filtroLocal.map((item, index) => {\r\n                  return (\r\n                    // <div key={index + 1} className=\"body-collapse\" onClick={() => this.setSelectedValue(item.id, data.Sistema)}>\r\n                    //   {item.descripcion}\r\n                    // </div>\r\n                    <option key={index + 1} value={item.id} >{item.descripcion}</option>\r\n                  )\r\n                }) : null\r\n                }\r\n              </Input>\r\n            </FormGroup>\r\n\r\n            <hr className=\"desktop mb-5\" style={{ borderColor: '#E2E2E2' }} />\r\n            {(pedidosSugerido.length == 0) ?\r\n              <p className=\"error-1\">No se han encontrado resultados, por favor intente nuevamente</p> :\r\n              <ListGroup flush className=\"container_840\">\r\n                <ListGroupItem>\r\n                  <Row form>\r\n                    <Col xs={3} md={4} />\r\n                    <Col xs={2} md={2}>\r\n                      <span className='paragraph-3 bold' style={{ color: '#2DB997' }}>Can.</span>\r\n                    </Col>\r\n                    <Col xs={5} md={4}>\r\n                      <span className='paragraph-3 bold' style={{ color: '#7371FF' }}>Precio Uni.</span>\r\n                    </Col>\r\n                    <Col xs={2} md={2}>\r\n                      <span className='paragraph-3 bold' style={{ color: '#316ACD' }}>Total</span>\r\n                    </Col>\r\n                  </Row>\r\n                  <div className=\"desktop\">\r\n                    <TooltipLeyenda\r\n                      color={c.azulClaro}\r\n                      style={{ position: 'absolute', right: 0, top: 10 }}\r\n                    />\r\n                  </div>\r\n                </ListGroupItem>\r\n                {pedidosSugerido.map((item, index) => {\r\n                  return (\r\n                    (item.visible) ?\r\n                      <ListGroupItem key={index}>\r\n                        <Row form >\r\n                          <Col xs={3} md={4}>\r\n                            <span className='paragraph-3 bold desktop_parrafo2' style={{ color: c.azulClaro }}>{item.maktx}</span>\r\n                            <span className='paragraph-3 desktop_parrafo4' style={{ color: c.grisMedio }}>SKU: {item.matnr}</span>\r\n                          </Col>\r\n                          <Col xs={2} md={2}><span className='paragraph-2 bold' style={{ color: c.verdeClaro }}>{item.canti}</span></Col>\r\n                          <Col xs={5} md={4}>\r\n                            <span className='paragraph-3 bold desktop_parrafo2' style={{ color: c.morado }}>{item.precioPVD}</span>\r\n                            <span className='paragraph-3 light' style={{ color: c.morado }}>PVP S/ {item.precioPublico}</span>\r\n                          </Col>\r\n                          <Col xs={2} md={2} className=\"item-flex\">\r\n                            <span className='paragraph-3 bold desktop_parrafo2' style={{ color: '#316ACD' }}>{item.sWaers} {item.total}</span>\r\n                            <button className=\"btn-icon ml-auto\"\r\n                              onClick={() => { this.eliminarProducto(item, index) }} >\r\n                              <SvgAssets icon=\"icon-trash\" fill={'#9AC8FF'} />\r\n                            </button>\r\n                          </Col>\r\n                        </Row>\r\n                      </ListGroupItem>\r\n                      : null\r\n                  )\r\n                })}\r\n              </ListGroup>\r\n            }\r\n            {(pedidosSugerido.length > 0) ?\r\n              <span className='total-price mt-5' style={{}}>TOTAL: {pedidosSugerido[0].sTotalPagar}</span>\r\n              : null}\r\n            {pedidosSugerido.length > 0 ?\r\n              <div className=\"mobile\">\r\n                <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\r\n                  <button className={`m-0 btn-block ${(filtroLocal.length == 0 || pedidosSugerido.filter(x => x.visible).length == 0) ? ' disabled' : ''}`}\r\n                    disabled={filtroLocal.length == 0 || pedidosSugerido.filter(x => x.visible).length == 0}\r\n                    onClick={() => { this.addPedidos(auth.carritoProdctos, auth.setcarritoProdctos, data.Pantalla) }}\r\n                  ><SvgAssets icon=\"icon-cart\" fill=\"#fff\" className=\"mr-2\" />AGREGAR AL CARRITO</button>\r\n                  <TooltipLeyenda\r\n                    color={c.celeste}\r\n                    style={{ marginLeft: 10 }}\r\n                  />\r\n                </div>\r\n              </div>\r\n              : null}\r\n          </div>\r\n          <div className=\"text-center mt-5 desktop\">\r\n            <button className={`btn-block ${(filtroLocal.length == 0 || pedidosSugerido.filter(x => x.visible).length == 0) ? ' disabled' : ''}`}\r\n              disabled={filtroLocal.length == 0 || pedidosSugerido.filter(x => x.visible).length == 0}\r\n              onClick={() => { this.addPedidos(auth.carritoProdctos, auth.setcarritoProdctos, data.Pantalla) }}\r\n            ><SvgAssets icon=\"icon-cart\" fill=\"#fff\" className=\"mr-2\" />AGREGAR AL CARRITO</button>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  postFiltroBuscarPedidoSugerido(Vkorg, Linea, CodigoDealer, CorreoElectronicoDealer) {\r\n\r\n    FiltroBuscarPedidoSugerido(Vkorg, Linea, CodigoDealer, CorreoElectronicoDealer)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n\r\n          this.setState({\r\n            loading: false,\r\n            filtroLocal: result.dto.filtro,\r\n            selectedLocal: (result.dto.filtro.length > 0) ? result.dto.filtro[0].id : null\r\n          });\r\n\r\n          // this.setState({ pedidosSugerido: [], TotalRows: 0 })\r\n           this.postBuscarPedidoSugerido(this.state.linea, this.state.dealer, this.state.selectedLocal, this.state.asociado, this.state.page, this.state.size, data.Sistema);\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Pedidos Sugeridos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  ToggleCollapse1 = () => {\r\n    this.setState(prevState => ({ collapse1: !prevState.collapse1 }))\r\n  }\r\n\r\n  setSelectedValue(e, sistema) {\r\n    let value = e.currentTarget.value;\r\n    this.setState({ selectedLocal: value });\r\n    this.setFilter(value, sistema)\r\n  }\r\n\r\n  setFilter(value, sistema) {\r\n    if (value)\r\n      this.postBuscarPedidoSugerido(this.state.linea, this.state.dealer, value, this.state.asociado, this.state.page, this.state.size, sistema);\r\n    else this.setState({ pedidosSugerido: [], TotalRows: 0 });\r\n  }\r\n\r\n  postBuscarPedidoSugerido(linea, dealer, Dest, asociado, PageNumber, PageZise, Sistema) {\r\n    this.setState({ loading: true })\r\n\r\n    BuscarPedidoSugerido(linea.vkorg, linea.linea, dealer.codcliente, dealer.codcliente, Dest, asociado.poblacion, asociado.moneda, PageNumber, PageZise, Sistema)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          console.log(\"result.dto===>\", result.dto);\r\n          this.setState({\r\n            loading: false,\r\n            pedidosSugerido: result.dto.pedidosSugerido,\r\n            TotalRows: (result.dto.pedidosSugerido.length > 0) ? result.dto.pedidosSugerido[0].totalRows : 0\r\n          });\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Pedidos Sugeridos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postMostrarSoloVisibles(linea, dealer, Dest, asociado, PageNumber, PageZise, Sistema) {\r\n    this.setState({ loading: true })\r\n\r\n    BuscarPedidoSugerido(linea.vkorg, linea.linea, dealer.codcliente, dealer.codcliente, Dest, asociado.poblacion, asociado.moneda, PageNumber, PageZise, Sistema)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n\r\n          let nuevaLista = [];\r\n          result.dto.pedidosSugerido.map((item, index) => {\r\n            item.visible = this.buscarEliminado(item)\r\n            if (this.buscarEliminado(item)) {\r\n              nuevaLista.push(item);\r\n            }\r\n          });\r\n\r\n          if (nuevaLista.length > 0) {\r\n            nuevaLista[0].sTotalPagar = this.restarTotal(nuevaLista[0]);\r\n          }\r\n\r\n          this.setState({\r\n            loading: false,\r\n            pedidosSugerido: nuevaLista\r\n          });\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Pedidos Sugeridos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  setPage = (index, change, type) => {\r\n    this.setState({ loading: true });\r\n\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({\r\n        page: index,\r\n        currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1),\r\n        loading: false\r\n      });\r\n    }\r\n    else\r\n      this.setState({ page: index, loading: false })\r\n\r\n    this.postMostrarSoloVisibles(this.state.linea, this.state.dealer, this.state.selectedLocal, this.state.asociado, index, this.state.size, data.Sistema);\r\n\r\n  }\r\n\r\n  addPedidos(carritoProdctos, setcarritoProdctos, pantalla) {\r\n\r\n    this.setState({ loading: true });\r\n\r\n    BuscarPedidoSugerido(this.state.linea.vkorg, this.state.linea.linea, this.state.dealer.codcliente, this.state.dealer.correoElectronico,\r\n      this.state.selectedLocal, this.state.asociado.poblacion, this.state.asociado.moneda, this.state.page, this.state.TotalRows, data.Sistema)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n\r\n          let nuevaLista = [];\r\n          result.dto.pedidosSugerido.map((item, index) => {\r\n            item.visible = this.buscarEliminado(item)\r\n            if (this.buscarEliminado(item)) {\r\n              nuevaLista.push(item);\r\n            }\r\n          });\r\n\r\n          if (nuevaLista.length > 0) {\r\n            nuevaLista[0].sTotalPagar = this.restarTotal(nuevaLista[0]);\r\n          }\r\n\r\n          this.setState({\r\n            pedidosSugeridoAgregar: nuevaLista\r\n          });\r\n\r\n          const correoElectronico = this.state.dealer.correoElectronico\r\n          const codcliente = this.state.dealer.codcliente\r\n          const centro = this.state.linea.centro\r\n          const linea = this.state.linea.linea\r\n          const vkorg = this.state.linea.vkorg\r\n          const almacen = this.state.linea.almacen\r\n          const canal = this.state.linea.canal\r\n          const sector = this.state.linea.sector\r\n\r\n          let ListaProductos = [];\r\n          let data = this.state.pedidosSugerido.filter(x => x.visible);\r\n          data.filter(function (item) {\r\n            ListaProductos.push({\r\n              \"CorreoElectronicoDealer\": correoElectronico,\r\n              \"DispositivoDealer\": null,\r\n              \"Descripcion\": item.maktx,\r\n              \"CantidadOriginal\": item.canti,\r\n              \"Moneda\": item.waers,\r\n              \"Pantalla\": pantalla.General.PedidoSugerido,\r\n              \"Sustituto\": \"SI\",\r\n              \"UnidadMedida\": item.meins,\r\n              \"PrecioFinal\": item.pfin,\r\n              \"Codigo\": item.matnr,\r\n              \"CodigoDealer\": codcliente,\r\n              \"Centro\": centro,\r\n              \"Linea\": linea,\r\n              \"Vkorg\": vkorg,\r\n              'Almacen': almacen,\r\n              'Canal': canal,\r\n              'Sector': sector\r\n            });\r\n          });\r\n          AgregarNuevoProductoPedidoMasivo(ListaProductos)\r\n            .then(result => {\r\n              if (result.mo.type == \"success\") {\r\n                this.setState({ loading: false });\r\n                // setcarritoProdctos(carritoProdctos + ListaProductos.length);\r\n                setcarritoProdctos(result.dto.carritoProdctos);\r\n                notificacion(\"Aviso\", \"Se agregaron productos al carrito\");\r\n              } else {\r\n                throw new Error(result.mo.listMessage.join(\", \"));\r\n              }\r\n            }).catch((error) => {\r\n              this.setState({ loading: false }, async () => {\r\n                error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n                await notificacion(\"Detalle Pedidos\", error.message ?? null);\r\n              });\r\n            });\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Pedidos Sugeridos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  buscarEliminado = (item) => {\r\n    let eliminado = true;\r\n    this.state.pedidosSugeridoEliminados.map((pedido) => {\r\n      if (pedido.id == item.id) { eliminado = false; };\r\n    });\r\n    return eliminado;\r\n  }\r\n\r\n  restarTotal = (item) => {\r\n    let total = item.totalPagar;\r\n    this.state.pedidosSugeridoEliminados.map((pedido) => {\r\n      total = Number((item.totalPagar - pedido.total).toFixed(2));\r\n    });\r\n    return total;\r\n  }\r\n\r\n  eliminarProducto(item, index) {\r\n    this.setState({ loading: true });\r\n    item.visible = false;\r\n    var arr = this.state.pedidosSugeridoEliminados;\r\n    arr.push(item);\r\n    this.setState({\r\n      pedidosSugeridoEliminados: arr\r\n    });\r\n\r\n    let stotal = 0;\r\n    this.state.pedidosSugerido.filter(x => x.visible).map((item2) => {\r\n      stotal = stotal + item2.total;\r\n    });\r\n\r\n\r\n    this.state.pedidosSugerido[0].sTotalPagar = stotal; //this.restarTotal(item)\r\n    this.setState({\r\n      loading: false\r\n    });\r\n\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Badge, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { data } from '../../constants/Constants';\r\nimport { BuscarPrePedido, AbrirPrePedido } from '../../store/sagas/pedidoApi';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class PrePedidos extends Component {\r\n  static displayName = PrePedidos.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      loading: true,\r\n      prepedidos: [],\r\n      prepedidosFiltrados: []\r\n    };\r\n  }\r\n\r\n  load = () => {\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ loading: true, dealer: data.dealer, linea: data.linea, asociado: data.asociado }, () => {\r\n      this.postBuscarPrePedido();\r\n    })\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      this.load();\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  render() {\r\n    const { loading, prepedidos, prepedidosFiltrados, alertas, search } = this.state;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>PRE -  Pedidos</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>PRE -  Pedidos</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile px-5\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            PRE-Pedidos\r\n          </h6>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <FormGroup className=\"icon mb-4 w-100\" style={{ maxWidth: 255, margin: 'auto' }}>\r\n              <Input className=\"\" type='text' placeholder=\"Descripción\"\r\n                value={search}\r\n                onChange={(text) => this.searchPedido(text)}\r\n              />\r\n              <Button color=\"link\" className=\"btn-icon\">\r\n                <SvgAssets icon='icon-lupa' fill={c.azulClaro} />\r\n              </Button>\r\n            </FormGroup>\r\n            <hr className=\"desktop my-4\" style={{ borderColor: '#E2E2E2' }} />\r\n            <h6 className=\"paragraph-2 text-left w-100 mx-auto light mb-3\" style={{ maxWidth: 440 }}>Resultados ({prepedidosFiltrados.length})</h6>\r\n            {prepedidosFiltrados.map((item, index) => {\r\n              return (\r\n                <div className=\"card_product_horizontal card_local\" key={index}>\r\n                  <div className=\"cphCounterInput\" style={{ backgroundColor: c.verdeClaro }}>\r\n                    <button className=\"btn-icon\"\r\n                      type=\"button\"\r\n                      onClick={() => this.IrCarrito(item.pedidoId, item.localId)}\r\n                    >\r\n                      <SvgAssets icon=\"icon-edit\" fill=\"#fff\" />\r\n                    </button>\r\n                  </div>\r\n                  <div className=\"cphTextCenter\">\r\n                    <span className=\"paragraph-3 light\">Fecha de Pre-Pedido {item.fechaCorta}</span>\r\n                    <h6 className=\"paragraph-2 bold mb-0\" style={{ color: c.verdeClaro }}>Pedido a {item.direccion}</h6>\r\n                    {item.alias != \"\" && item.alias != null ?\r\n                      <h6 className=\"paragraph-2 bold mb-0\" style={{ color: c.azulClaro }}>\r\n                        {/* <SvgAssets icon=\"icon-local\" fill={c.azulClaro} className=\"mr-1\" /> */}\r\n                        {item.alias}\r\n                      </h6>\r\n                      : null}\r\n                    <span className='paragraph-2 bold' style={{ color: c.azulClaro }}>Transportista {item.transportista}</span>\r\n                    <span className='paragraph-2 light' style={{ color: c.azulClaro }}>Pedido lo recibe: {item.contacto}</span>\r\n                  </div>\r\n                </div>\r\n              )\r\n            })}\r\n            {/* <div className=\"card_product_horizontal\">\r\n              <div className=\"cphCounterInput\" style={{ backgroundColor: c.verdeClaro }}>\r\n                <button className=\"btn-icon\"><SvgAssets icon=\"icon-edit\" fill=\"#fff\" /></button>\r\n              </div>\r\n              <div className=\"cphTextCenter\">\r\n                <span className=\"paragraph-3\">Fecha de Pre-Pedido 18/08 - 08:00 am</span>\r\n                <h6 className=\"paragraph-2 bold mb-0\" style={{ color: c.verdeClaro }}>Pedido a San Isidro - Begonias</h6>\r\n              </div>\r\n            </div>\r\n            <div className=\"card_product_horizontal\">\r\n              <div className=\"cphCounterInput\" style={{ backgroundColor: c.verdeClaro }}>\r\n                <button className=\"btn-icon\"><SvgAssets icon=\"icon-edit\" fill=\"#fff\" /></button>\r\n              </div>\r\n              <div className=\"cphTextCenter\">\r\n                <span className=\"paragraph-3\">Fecha de Pre-Pedido 16/08 - 08:00 am</span>\r\n                <h6 className=\"paragraph-2 bold mb-0\" style={{ color: c.verdeClaro }}>Pedido a Calle camilo carrillo N°218</h6>\r\n              </div>\r\n            </div> */}\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  searchPedido = (e) => {\r\n    let text = e.currentTarget.value;\r\n    let data = this.state.prepedidos;\r\n    if (text) {\r\n      let textData = text.toUpperCase();\r\n      let newData = data.filter(function (item) {\r\n        const itemData = (item.direccion == null ? \"\" : item.direccion).toUpperCase();\r\n        const itemAlias = (item.alias == null ? \"\" : item.alias).toUpperCase();\r\n        if (itemAlias.indexOf(textData) > -1) return item;\r\n        if (itemData.indexOf(textData) > -1) return item;\r\n      });\r\n      console.log(\"prepedidosFiltrados==>\", newData);\r\n      this.setState({ prepedidosFiltrados: newData });\r\n    } else {\r\n      console.log(\"data==>\", data);\r\n      this.setState({ prepedidosFiltrados: data });\r\n    }\r\n  }\r\n\r\n  IrCarrito = async (pedido, local) => {\r\n    AbrirPrePedido(this.state.dealer, pedido)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false\r\n          }, async () => {\r\n            let datosBuscador = { localId: local }\r\n            this.props.history.push({ pathname: 'carrito', state: { datosBuscador } });\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n  postBuscarPrePedido = async () => {\r\n    BuscarPrePedido(this.state.dealer, this.state.linea, this.state.asociado, this.state.localId)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            prepedidos: result.dto.prePedidos,\r\n            prepedidosFiltrados: result.dto.prePedidos,\r\n            alertas: result.dto.alertas\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Carrito\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Badge, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport c from '../../constants/Colors';\r\nimport Pagination from '../reusable/Pagination'\r\nimport { data } from '../../constants/Constants';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion, getStatePage } from '../../utilitarios/util';\r\nimport { AgregarProductoFavorito, ListarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport { AgregarProductoPedido } from '../../store/sagas/carritoApi';\r\nimport ModalAddCart from \"../reusable/modals/AddCart\";\r\nimport ModalImageZoom2 from '../reusable/modals/ImageZoom2';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport CardPrecios from '../reusable/CardPrecios';\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst Card = ({ item, event, eventCounter, eventFavorito, auth, zoom }) => {\r\n  return (\r\n    <div className=\"card_product_vertical card_deseo\">\r\n      <div style={{ cursor: 'pointer' }} onClick={() => zoom(item.fotos)}>\r\n        <img className=\"product-img\" src={item.pathImage} />\r\n      </div>\r\n      <h6 className=\"paragraph-2 bold\" style={{ color: c.naranja }}>{item.maktx}</h6>\r\n      <span className=\"paragraph-3 sku\">SKU: {item.matnr}</span>\r\n      <CardPrecios data={item.precios} escalas={item.escalas} cantidad={item.cantidad} className=\"cardPrice\" />\r\n      {/* <span className=\"paragraph-3 previousPrice\">{item.precioPublico}</span>\r\n      <span className=\"paragraph-3 bold\" style={{ color: c.naranja }}>{item.precioPVD}</span>\r\n      <span className=\"paragraph-3\">{item.precioPVP}</span> */}\r\n      <div className=\"counter\">\r\n        <CounterInput\r\n          IdInput={item.idInput}\r\n          background={\"#fff\"}\r\n          color={\"#316ACD\"}\r\n          borderColor={\"#E2E2E2\"}\r\n          data={item}\r\n          eventCounter={eventCounter}\r\n        />\r\n      </div>\r\n      <div className=\"options\">\r\n        <button className=\"btn-icon\"\r\n          type=\"button\"\r\n          onClick={() => eventFavorito({\r\n            codigo: item.matnr, descripcion: item.maktx,\r\n            moneda: item.waers, pantalla: data.Pantalla.Favoritos.Producto\r\n          }, item.favorito, item.indice)}\r\n        >\r\n          <SvgAssets icon=\"icon-star\" fill={item.favorito ? c.amarillo : c.celeste} />\r\n        </button>\r\n        <button className=\"btn-icon\"\r\n          type=\"button\"\r\n          disabled={item.cantidad == 0}\r\n          onClick={() => event(auth.carritoProdctos, auth.setcarritoProdctos, {\r\n            codigo: item.matnr,\r\n            descripcion: item.maktx,\r\n            precioOferta: item.poferta,\r\n            precioPublico: item.plista,\r\n            precioFinal: item.pfinal,\r\n            precioPVD: item.precioPVD,\r\n            precioPVP: item.precioPVP,\r\n            precioPublico: item.precioPublico,\r\n            unidadMedida: item.meins,\r\n            moneda: item.waers,\r\n            waersS: item.sWaers,\r\n            cantidadOriginal: item.cantidad,\r\n            cantidad: item.cantidad,\r\n            pathI: item.pathImage,\r\n            precios: item.precios,\r\n            indice: item.indice,\r\n            pantalla: data.Pantalla.Favoritos.Producto,\r\n            escalas: item.escalas\r\n          })}\r\n        >\r\n          <SvgAssets icon=\"icon-add-cart\" className=\"add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class ListaDeseos extends Component {\r\n  static displayName = ListaDeseos.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      page: 1,\r\n      size: data.PageSize,\r\n      currentPage: 1,\r\n      dataResult: [],\r\n      alertas: [],\r\n      addToCart: false,\r\n      dataToCard: {},\r\n      modalZoom: false,\r\n      imgZoom: \"\",\r\n      listImgZoom: [],\r\n    };\r\n  }\r\n  showModalCart = () => {\r\n    this.setState(prevState => ({\r\n      addToCart: !prevState.addToCart\r\n    }));\r\n  }\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: Array.isArray(img) ? \"\" : img,\r\n      listImgZoom: Array.isArray(img) ? img : [],\r\n    }));\r\n  }\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: true }, () => {\r\n      setTimeout(() => {\r\n        this.setState({ loading: false })\r\n        this.props.history.push('/carrito');\r\n      }, 1000);\r\n    });\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n\r\n  }\r\n\r\n  load = () => {\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ loading: true, dealer: data.dealer, linea: data.linea, asociado: data.asociado }, () => {\r\n      this.postListarProductoFavorito(data.dealer, data.linea, data.asociado, 1);\r\n    })\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (getStatePage(this.props)) {\r\n      window.scrollTo(0, 0)\r\n      this.load();\r\n    } else\r\n      window.location.href = \"/\";\r\n  }\r\n\r\n  render() {\r\n    const { page, size, currentPage, loading, dataResult, alertas } = this.state;\r\n    const auth = this.context;\r\n    return (\r\n      <div className=\"gradient_blue_white\" id=\"mhw\" style={{ minHeight: 'calc(100vh - 69px)' }}>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Lista de Deseos</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Lista de Deseos</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <div className=\"card_desktop\">\r\n            <div className=\"desktop\">\r\n              <TooltipLeyenda\r\n                color={c.azulClaro}\r\n                style={{ top: -15, position: 'relative', width: 32, marginLeft: 'auto' }}\r\n              />\r\n            </div>\r\n            <h6 className=\"title white mobile\">\r\n              <Link to='/dashboard' className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link>\r\n              Lista de deseos\r\n              <TooltipLeyenda\r\n                color={'#fff'}\r\n                style={{ position: 'absolute', right: 0, top: -2 }}\r\n              />\r\n            </h6>\r\n            <div className=\"cards-wrap container_1000\">\r\n              {dataResult.map((item, index) => {\r\n                return (\r\n                  <Card\r\n                    key={index}\r\n                    item={item}\r\n                    eventFavorito={this.postAgregarProductoFavorito}\r\n                    eventCounter={this.setCounter}\r\n                    event={this.postAgregarProductoPedido}\r\n                    auth={auth}\r\n                    zoom={this.toggleModalZoom} />\r\n                )\r\n              })}\r\n            </div>\r\n            {/* <Pagination /> */}\r\n            {(dataResult.length > 0) ? <Pagination event={this.setPage} current={page} currentPage={currentPage} totalPage={dataResult[0].totalPage} size={data.PageSizePaginator} /> : null}\r\n          </div>\r\n        </Container>\r\n        <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n        <ModalImageZoom2 dadComponent={this} />\r\n      </div>\r\n    );\r\n  }\r\n\r\n  setPage = (index, change, type) => {\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({ page: index, currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1) })\r\n    }\r\n    else\r\n      this.setState({ page: index })\r\n\r\n    // let selectedVehiculo = this.state.filtroVehiculo.filter(p => p.id == this.state.selectedVehiculoValue)[0];\r\n    // this.postBuscarSistema(this.state.dealer, this.state.linea, selectedVehiculo, index);\r\n    this.postListarProductoFavorito(this.state.dealer, this.state.linea, this.state.asociado, index);\r\n  }\r\n\r\n\r\n  postListarProductoFavorito = async (dealer, linea, asociado, pageindex) => {\r\n    this.setState({ loading: true })\r\n    ListarProductoFavorito(linea.centro, dealer.codcliente,\r\n      asociado.moneda, linea.vkorg,\r\n      asociado.poblacion, dealer.correoElectronico,\r\n      linea.linea, pageindex)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          console.log(result.dto.repuestos);\r\n          this.setState({\r\n            loading: false,\r\n            dataResult: result.dto.repuestos,\r\n            alertas: result.dto.alertas\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Lista de deseos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postAgregarProductoPedido = async (carritoProdctos, setcarritoProdctos, producto) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoPedido(this.state.dealer, producto, this.state.linea, this.state.asociado)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          this.setState({\r\n            loading: false,\r\n            addToCart: true,\r\n            dataToCard: producto\r\n          }, () => {\r\n            this.postAgregarProductoFavorito(producto, true, producto.indice)\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Alerta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  postAgregarProductoFavorito = async (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito)\r\n      .then(result => {\r\n        debugger;\r\n        if (result.mo.type == \"success\") {\r\n\r\n\r\n          if (this.state.dataResult.length == 1 && this.state.page == 1) {\r\n            this.setState({\r\n              loading: false,\r\n              dataResult: [],\r\n              page: 1\r\n            })\r\n          } else if (this.state.dataResult.length == 1 && this.state.page > 1) {\r\n            let _page = this.state.page;\r\n            this.setState({\r\n              page: _page - 1\r\n            })\r\n            this.postListarProductoFavorito(this.state.dealer, this.state.linea, this.state.asociado, this.state.page);\r\n          } else {\r\n            this.postListarProductoFavorito(this.state.dealer, this.state.linea, this.state.asociado, this.state.page);\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  setCounter = (counter, tab, index) => {\r\n    if (counter == \"\") return;\r\n    let _data = this.state.dataResult\r\n    _data[index].cantidad = counter;\r\n\r\n    this.setState({\r\n      dataResult: _data,\r\n    })\r\n\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Badge, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport c from '../../constants/Colors';\r\nimport product from '../../assets/img/product.png';\r\nimport Pagination from '../reusable/Pagination'\r\nimport { BuscarProductoMasComprado } from '../../store/sagas/pedidoApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { data } from '../../constants/Constants';\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport { AgregarProductoPedido } from '../../store/sagas/carritoApi';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport ModalAddCart from \"../reusable/modals/AddCart\";\r\nimport ModalImageZoom from '../reusable/modals/ImageZoom';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport CardPrecios from '../reusable/CardPrecios';\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\n\r\nconst CardProduct = ({ item, postAgregarProductoFavorito, postAgregarProductoPedido, setCounter, auth, zoom }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal mb-card-d\">\r\n      <div className=\"cphLeftImage\">\r\n        <img src={item.pathI} style={{ cursor: 'pointer' }} onClick={() => zoom(item.pathI)} />\r\n      </div>\r\n      <div className=\"cphTextCenter\">\r\n        <h6 className=\"paragraph-2 bold mb-1\" style={{ color: c.azulClaro }}>{item.maktx}</h6>\r\n        <span className=\"paragraph-3 mb-3\" style={{ color: c.azulClaro }}>SKU: {item.matnr}</span>\r\n        {/* <span className=\"paragraph-3 previousPrice\" style={{ color: c.grisOscuro }}>{item.precioPublico}</span> */}\r\n        {/* <strong className=\"paragraph-3 bold naranja\">{item.precioPVD}</strong>\r\n        <span className=\"paragraph-3\">{item.precioPVP}</span> */}\r\n        <CardPrecios data={item.precios} escalas={item.escalas} cantidad={item.cantidad} className=\"cardPrice\" />\r\n        <div className=\"text-left mt-3\">\r\n          <button className='btn-icon'\r\n            type=\"button\"\r\n            onClick={() => postAgregarProductoFavorito(item, item.favorito, item.indice)}\r\n          >\r\n            <SvgAssets icon=\"icon-star\" fill={item.favorito ? c.amarillo : c.celeste} />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput gradient_blue\" style={{ justifyContent: 'space-between' }}>\r\n        <CounterInput\r\n          vertical\r\n          background={'transparent'}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n          data={item}\r\n          eventCounter={setCounter}\r\n        />\r\n        <button className={`btn-icon mt-3${(item.cantidad == 0 ? \" disabled\" : \"\")}`}\r\n          disabled={item.cantidad == 0}\r\n          onClick={() => postAgregarProductoPedido(auth.carritoProdctos, auth.setcarritoProdctos, item, data.Pantalla.Catalogo.ProductosVendidos)}\r\n        >\r\n          <SvgAssets icon=\"icon-add-cart\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class ProductosVendidos extends Component {\r\n  static displayName = ProductosVendidos.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      productosMasComprados: [],\r\n      // page: 1,\r\n      // size: data.PageSize,\r\n      // currentPage: 1,\r\n      dataResult: [],\r\n      productosMasCompradosFiltrados: [],\r\n      addToCart: false,\r\n      dataToCard: {},\r\n      modalZoom: false,\r\n      imgZoom: \"\",\r\n    };\r\n  }\r\n\r\n  showModalCart = () => {\r\n    this.setState(prevState => ({\r\n      addToCart: !prevState.addToCart\r\n    }));\r\n  }\r\n\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: img\r\n    }));\r\n  }\r\n\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: true }, () => {\r\n      setTimeout(() => {\r\n        this.setState({ loading: false })\r\n        this.props.history.push('/carrito');\r\n      }, 1000);\r\n    });\r\n  }\r\n\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    let data = localStorageCustom.prototype.getUsuario()\r\n    this.setState({ dealer: data.dealer, linea: data.linea, asociado: data.asociado }, () => {\r\n      this.postBuscarProductoMasComprado(data.dealer, data.linea, data.asociado);\r\n    })\r\n  }\r\n\r\n  postBuscarProductoMasComprado(dealer, linea, asociado) {\r\n\r\n    BuscarProductoMasComprado(linea.vkorg, dealer.codcliente,\r\n      dealer.correoElectronico, asociado.poblacion,\r\n      asociado.moneda, linea.centro)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            productosMasComprados: result.dto.productosMasComprados,\r\n            productosMasCompradosFiltrados: result.dto.productosMasComprados\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  render() {\r\n    const { loading, productosMasCompradosFiltrados } = this.state;\r\n    const auth = this.context;\r\n    return (\r\n      <div>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Productos más comprados</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/dashboard' style={{ pointerEvents: 'none' }}>Catálogo de Repuestos</Link></li>\r\n              <li><Link to='/historial-pedidos' style={{ pointerEvents: 'none' }}>Productos más comprados</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <div className=\"card_desktop\">\r\n            <div className=\"desktop\">\r\n              <TooltipLeyenda\r\n                color={c.azulClaro}\r\n                style={{ marginLeft: 'auto', top: -15, position: 'relative', width: 'max-content' }}\r\n              />\r\n            </div>\r\n            <FormGroup className=\"icon mb-4\" style={{ maxWidth: 255, margin: 'auto' }}>\r\n              <Input className=\"\" type='text' placeholder=\"SKU o Descripción\"\r\n                onChange={(text) => this.searchProductos(text)}\r\n              />\r\n              <Button color=\"link\" className=\"btn-icon\">\r\n                <SvgAssets icon='icon-lupa' fill={c.azulClaro} />\r\n              </Button>\r\n            </FormGroup>\r\n            <hr className=\"desktop mb-5\" style={{ borderColor: '#E2E2E2' }} />\r\n            <h6 className=\"title white mobile\">\r\n              Productos más comprados\r\n              <TooltipLeyenda\r\n                color={'#fff'}\r\n                style={{ position: 'absolute', width: 'max-content', right: 0 }}\r\n              />\r\n            </h6>\r\n            <div className=\"cards-wrap\">\r\n              {\r\n                productosMasCompradosFiltrados.map((item, index) => {\r\n                  return (\r\n                    <CardProduct item={item} key={index} postAgregarProductoFavorito={this.postAgregarProductoFavorito} postAgregarProductoPedido={this.postAgregarProductoPedido} setCounter={this.setCounter} auth={auth} zoom={this.toggleModalZoom} />\r\n                  );\r\n                })\r\n              }\r\n            </div>\r\n          </div>\r\n          {/* {(productosMasCompradosFiltrados.length > 0) ? <Pagination event={this.setPage} current={page} currentPage={currentPage} totalPage={repuestos[0].totalPage} size={size} /> : null} */}\r\n          {/* <Pagination /> */}\r\n        </Container>\r\n        <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n        <ModalImageZoom dadComponent={this} />\r\n      </div>\r\n    );\r\n  }\r\n\r\n  setCounter = (counter, item, index) => {\r\n    let dataIndex = this.state.productosMasCompradosFiltrados.findIndex(x => x.indice == index);\r\n    let _destacados = this.state.productosMasCompradosFiltrados\r\n    if (counter == \"\") {\r\n      _destacados[dataIndex].cantidad = 0;\r\n    } else { _destacados[dataIndex].cantidad = counter; }\r\n\r\n    this.setState({\r\n      productosMasCompradosFiltrados: _destacados,\r\n      // productosMasComprados: _destacados\r\n    })\r\n  }\r\n\r\n  // setPage = (index, change, type) => {\r\n  //   if (change) {\r\n  //     let _currentPage = this.state.currentPage\r\n  //     this.setState({\r\n  //       page: index,\r\n  //       currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1)\r\n  //     })\r\n  //   }\r\n  //   else\r\n  //     this.setState({ page: index })\r\n\r\n\r\n  //   this.setState({\r\n  //     loading: true\r\n  //   })\r\n  //   this.postListarSistemaRepuestos(this.state.dealer, \r\n  //                                   this.state.linea, \r\n  //                                   this.state.asociado, \r\n  //                                   this.state.params, index);\r\n  // }\r\n\r\n  postAgregarProductoFavorito = async (item, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n\r\n    let producto = {\r\n      codigo: item.matnr,\r\n      descripcion: item.maktx,\r\n      moneda: item.waers,\r\n      pantalla: data.Pantalla.BuscarPedidoVehiculo.Destacado\r\n    };\r\n\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          let dataIndex = this.state.productosMasCompradosFiltrados.findIndex(x => x.indice == index);\r\n          let _destacados = this.state.productosMasCompradosFiltrados\r\n          _destacados[dataIndex].favorito = !AplicaFavorito;\r\n\r\n          this.setState({\r\n            productosMasCompradosFiltrados: _destacados,\r\n            // productosMasComprados: _destacados\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postAgregarProductoPedido = async (carritoProdctos, setcarritoProdctos, item, pantalla) => {\r\n\r\n    this.setState({ loading: true })\r\n    let producto = {\r\n      codigo: item.matnr,\r\n      descripcion: item.maktx,\r\n      precioOferta: item.pOfe,\r\n      precioPublico: item.pPub,\r\n      precioFinal: item.pFin,\r\n      meins: item.meins,\r\n      moneda: item.waers,\r\n      precioPVD: item.precioPVD,\r\n      precioPVP: item.precioPVP,\r\n      precioPublico: item.precioPublico,\r\n      cantidadOriginal: item.cantidad,\r\n      cantidad: item.cantidad,\r\n      pathI: item.pathI,\r\n      precios: item.precios,\r\n      pantalla: pantalla,\r\n      escalas: item.escalas\r\n    };\r\n    AgregarProductoPedido(this.state.dealer, producto, this.state.linea, this.state.asociado)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let _destacados = this.state.productosMasCompradosFiltrados\r\n          let dataIndex = this.state.productosMasCompradosFiltrados.findIndex(x => x.indice == item.indice);\r\n          _destacados[dataIndex].cantidad = 0;\r\n          this.setState({\r\n            productosMasCompradosFiltrados: _destacados,\r\n            // productosMasComprados: _destacados,\r\n            loading: false,\r\n            addToCart: true,\r\n            dataToCard: producto\r\n          })\r\n          // setcarritoProdctos(carritoProdctos + 1)\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  searchProductos = (e) => {\r\n    let text = e.currentTarget.value;\r\n\r\n    this.setState({ loading: true });\r\n    if (text) {\r\n      let textData = text.toUpperCase();\r\n      let newData = this.state.productosMasComprados.filter(function (item) {\r\n        const itemData = item.matnr ? item.matnr.toUpperCase() : ''.toUpperCase();\r\n        const itemDescripcion = item.maktx ? item.maktx.toUpperCase() : ''.toUpperCase();\r\n\r\n        if (itemData.indexOf(textData) > -1) return item;\r\n        if (itemDescripcion.indexOf(textData) > -1) return item;\r\n\r\n      });\r\n      this.setState({ productosMasCompradosFiltrados: newData, search: text, loading: false });\r\n    } else {\r\n      this.setState({ productosMasCompradosFiltrados: this.state.productosMasComprados, search: '', loading: false });\r\n    }\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Badge, Container, Col } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport CounterInput from '../../components/reusable/CounterInput';\r\nimport c from '../../constants/Colors';\r\nimport color from '../../constants/Colors';\r\nimport Pagination from '../reusable/Pagination'\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { BuscarProductoOfertas } from '../../store/sagas/pedidoApi';\r\nimport { AgregarProductoPedido } from '../../store/sagas/carritoApi';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { data } from '../../constants/Constants';\r\nimport ModalAddCart from \"../reusable/modals/AddCart\";\r\nimport ModalImageZoom from '../reusable/modals/ImageZoom';\r\nimport ModalCompatible from '../reusable/modals/Compatible';\r\nimport CardPrecioOferta from '../reusable/CardPrecioOferta';\r\nimport BtnCompatible from '../reusable/BtnCompatible';\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\nimport { AgregarProductoFavorito } from '../../store/sagas/favoritoApi';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst CardOferta = ({ item, postAgregarProductoPedido, postAgregarProductoFavorito, setCounter, auth, compatible }) => {\r\n  return (\r\n    <div className=\"card_product_horizontal card_oferta\" style={{ backgroundColor: c.morado }}>\r\n      <div className=\"cphTextLeft\">\r\n        <div className=\"tag\">\r\n          <SvgAssets icon=\"icon-oferta\" fill={c.rojoClaro} className=\"icon-oferta\" />\r\n          <SvgAssets icon=\"icon-tag\" />\r\n        </div>\r\n        <h6 className=\"paragraph-2 bold mb-1 mt-4\" style={{ color: '#fff', wordBreak: 'break-word' }}>{item.maktx}</h6>\r\n        <span className=\"paragraph-3 mb-3\" style={{ color: '#fff' }}>SKU: {item.matnr}</span>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>Total: {item.sWaers} {item.subTotal.toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n      </div>\r\n      <div className=\"cphTextCenter pl-0\">\r\n        <CardPrecioOferta data={item.precios} className=\"cardPrice mt-4\" />\r\n        <div className=\"options\">\r\n          {/* <BtnCompatible IdInput={item.idInput} texto={item.mensajeCompatible} /> */}\r\n          <button className='btn-icon'\r\n            type=\"button\"\r\n            onClick={() => compatible(item.mensajeCompatible)}\r\n          >\r\n            <SvgAssets icon=\"icon-compatible\" fill={c.azulClaro} />\r\n          </button>\r\n          <button className=\"btn-icon\"\r\n            onClick={() => postAgregarProductoFavorito({\r\n              codigo: item.matnr, descripcion: item.maktx,\r\n              moneda: item.waers, pantalla: data.Pantalla.Catalogo.Ofertas\r\n            }, item.favorito, item.indice)}\r\n          >\r\n            <SvgAssets icon=\"icon-star\" fill={item.favorito ? color.amarillo : color.celeste} />\r\n          </button>\r\n          <button className='btn-icon'\r\n            type=\"button\"\r\n            disabled={item.cantidad == 0}\r\n            onClick={() => postAgregarProductoPedido(auth.carritoProdctos, auth.setcarritoProdctos, item, data.Pantalla.Catalogo.Ofertas)}\r\n          >\r\n            <SvgAssets icon=\"icon-add-cart\" />\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"cphCounterInput\" style={{ backgroundColor: '#8886ff', justifyContent: 'space-between' }}>\r\n        <span className=\"paragraph-3\" style={{ color: '#fff' }}>Cantidad</span>\r\n        <CounterInput\r\n          vertical\r\n          background={'transparent'}\r\n          color={\"#fff\"}\r\n          borderColor={\"#fff\"}\r\n          data={item}\r\n          eventCounter={setCounter}\r\n        />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class Ofertas extends Component {\r\n  static displayName = Ofertas.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      productosOfertas: [],\r\n      // productosOfertasFiltrados: [],\r\n      page: 1,\r\n      size: data.PageSizeOfertas,\r\n      currentPage: 1,\r\n      totalPorCantidad: null,\r\n      addToCart: false,\r\n      dataToCard: {},\r\n      textBuscador: \"\",\r\n      errorCodigo: false,\r\n      modalZoom: false,\r\n      modalCompatible: false,\r\n      mensajeCompatible: '',\r\n      imgZoom: \"\",\r\n    };\r\n  }\r\n\r\n  load = async () => {\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ errorCodigo: false, textBuscador: \"\", page: 1, dealer: data.dealer, linea: data.linea, asociado: data.asociado }, async () => {\r\n      this.postListarOfertasTop(data.dealer, data.linea, data.asociado, 1);\r\n    })\r\n  }\r\n\r\n  showModalCart = () => {\r\n    this.setState(prevState => ({\r\n      addToCart: !prevState.addToCart\r\n    }));\r\n  }\r\n  toggleModalCompatible = (texto) => {\r\n    this.setState(prevState => ({\r\n      modalCompatible: !prevState.modalCompatible,\r\n      mensajeCompatible: texto\r\n    }));\r\n  }\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: img\r\n    }));\r\n  }\r\n  // showCarrito = () => {\r\n  //   this.setState({ addToCart: false, loading: false }, () => {\r\n  //     this.props.history.push('/carrito');\r\n  //   });\r\n  // }\r\n  showCarrito = () => {\r\n    this.setState({ addToCart: false, loading: true }, () => {\r\n      setTimeout(() => {\r\n        this.setState({ loading: false })\r\n        this.props.history.push('/carrito');\r\n      }, 1000);\r\n    });\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.load();\r\n    // let data = localStorageCustom.prototype.getUsuario();\r\n    // this.setState({ dealer: data.dealer, linea: data.linea, asociado: data.asociado }, () => {\r\n    //   this.postBuscarProductoOfertas(data.dealer, data.linea, data.asociado);\r\n    // })\r\n  }\r\n\r\n  IrBuscar = () => {\r\n    if (this.state.textBuscador == \"\" || this.state.textBuscador.length >= data.BuscadorCodigoLongitud) {\r\n      this.setState({\r\n        errorCodigo: false,\r\n        loading: true,\r\n        page: 1\r\n      }, async () => {\r\n        this.postListarOfertasTop(this.state.dealer, this.state.linea, this.state.asociado, 1);\r\n      })\r\n    } else {\r\n      this.setState({\r\n        errorCodigo: true\r\n      })\r\n    }\r\n  }\r\n\r\n  postAgregarProductoFavorito = async (producto, AplicaFavorito, index) => {\r\n    this.setState({ loading: true })\r\n    AgregarProductoFavorito(this.state.dealer, producto, this.state.linea, !AplicaFavorito\r\n    )\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false })\r\n          let _productosOfertas = this.state.productosOfertas\r\n          _productosOfertas[index].favorito = !AplicaFavorito;\r\n\r\n          this.setState({\r\n            productosOfertas: _productosOfertas\r\n          })\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Ofertas\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postListarOfertasTop(dealer, linea, asociado, index) {\r\n    this.setState({ loading: true })\r\n    BuscarProductoOfertas(linea.vkorg, dealer.codcliente,\r\n      dealer.correoElectronico, asociado.poblacion, asociado.moneda, linea.centro,\r\n      data.Sistema, this.state.size, index, this.state.textBuscador)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            productosOfertas: result.dto.repuestos,\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false, productosOfertas: [] }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  render() {\r\n    const { textBuscador, errorCodigo, loading, productosOfertas, page, size, currentPage } = this.state;\r\n    const auth = this.context;\r\n    return (\r\n      <div className=\"bg_white\" style={{ minHeight: 'calc(100vh - 69px)' }}>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Productos en oferta</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/dashboard' style={{ pointerEvents: 'none' }}>Catálogo de Repuestos</Link></li>\r\n              <li><Link to='/Ofertas' style={{ pointerEvents: 'none' }}>Ofertas</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <div className=\"card_desktop\">\r\n            <TooltipLeyenda\r\n              color={c.azulClaro}\r\n              style={{ marginLeft: 'auto', top: -15, position: 'relative', width: 'max-content' }}\r\n            />\r\n            <FormGroup className=\"icon mb-4\" style={{ maxWidth: 255, margin: 'auto' }}>\r\n              <Input className=\"\" type='text' placeholder=\"SKU o Descripción\" onChange={(text) => this.searchProductos(text)}\r\n                onKeyUp={(e) => { if (e.keyCode == 13 || e.keyCode == 10) { e.preventDefault(); this.IrBuscar() } }}\r\n              />\r\n              <Button color=\"link\" className=\"btn-icon\" onClick={() => { this.IrBuscar() }}>\r\n                <SvgAssets icon='icon-lupa' fill={c.azulClaro} />\r\n              </Button>\r\n            </FormGroup>\r\n            <hr className=\"desktop mb-5\" style={{ borderColor: '#E2E2E2' }} />\r\n            <h6 className=\"title white mobile\">Productos en oferta</h6>\r\n            <div className=\"cards-wrap\">\r\n              {productosOfertas != null ?\r\n                productosOfertas.map((item, index) => {\r\n                  return (\r\n                    <CardOferta item={item} key={index} postAgregarProductoPedido={this.postAgregarProductoPedido} postAgregarProductoFavorito={this.postAgregarProductoFavorito} setCounter={this.setCounter} auth={auth} compatible={this.toggleModalCompatible} />\r\n                  );\r\n                })\r\n                : null\r\n              }\r\n            </div>\r\n            {/* <Pagination /> */}\r\n            {(productosOfertas.length > 0) ?\r\n              <Pagination\r\n                event={this.setPage}\r\n                current={page}\r\n                currentPage={currentPage}\r\n                totalPage={productosOfertas[0].totalPage}\r\n                size={data.PageSizePaginator} /> : null}\r\n          </div>\r\n        </Container>\r\n        <ModalAddCart dadComponent={this} dataToCard={this.state.dataToCard} />\r\n        <ModalImageZoom dadComponent={this} />\r\n        <ModalCompatible dadComponent={this} texto={this.state.mensajeCompatible} />\r\n      </div>\r\n    );\r\n  }\r\n\r\n  searchProductos = (e) => {\r\n    let text = e.currentTarget.value;\r\n\r\n    this.setState({ textBuscador: text });\r\n  }\r\n\r\n  setPage = (index, change, type) => {\r\n    if (change) {\r\n      let _currentPage = this.state.currentPage\r\n      this.setState({ page: index, currentPage: type == \"add\" ? (_currentPage + 1) : (_currentPage - 1) })\r\n    }\r\n    else\r\n      this.setState({ page: index })\r\n\r\n    this.postListarOfertasTop(this.state.dealer, this.state.linea, this.state.asociado, index);\r\n  }\r\n\r\n  setCounter = (counter, item, index) => {\r\n\r\n    let _destacados = this.state.productosOfertas\r\n    if (counter == \"\") {\r\n      _destacados[index].cantidad = 0;\r\n    } else {\r\n      _destacados[index].cantidad = counter;\r\n      _destacados[index].subTotal = Number((_destacados[index].pfinal * counter).toFixed(2));\r\n    }\r\n\r\n    this.setState({\r\n      productosOfertas: _destacados\r\n    })\r\n  }\r\n\r\n  postAgregarProductoPedido = async (carritoProdctos, setcarritoProdctos, item, pantalla) => {\r\n    debugger;\r\n    this.setState({ loading: true })\r\n\r\n    let producto = {\r\n      codigo: item.matnr,\r\n      descripcion: item.maktx,\r\n      precioOferta: item.pOfe,\r\n      precioPublico: item.pPub,\r\n      precioFinal: item.pFin,\r\n      precioPVD: item.precioPVD,\r\n      precioPVP: item.precioPVP,\r\n      precioPublico: item.precioPublico,\r\n      meins: item.meins,\r\n      moneda: item.waers,\r\n      cantidadOriginal: item.cantidad,\r\n      cantidad: item.cantidad,\r\n      pantalla: pantalla,\r\n      pathI: item.pathImage,\r\n      precios: item.precios,\r\n      escalas: item.escalas\r\n    };\r\n\r\n    AgregarProductoPedido(this.state.dealer, producto, this.state.linea, this.state.asociado)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          let _destacados = this.state.productosOfertas\r\n          _destacados[item.indice].cantidad = 0;\r\n          _destacados[item.indice].subTotal = 0;\r\n          this.setState({\r\n            loading: false,\r\n            addToCart: true,\r\n            dataToCard: producto,\r\n            productosOfertas: _destacados,\r\n          })\r\n          // setcarritoProdctos(carritoProdctos + 1)\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Buscador\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Badge, Container, Progress } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { ListarEstadosPedido, ListarHistorialPedido, ListarHistorialPedidoTodos, ListarDetallePedido, ListarTrakingPedido } from '../../store/sagas/pedidoApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport FormFeedback from 'reactstrap/lib/FormFeedback'; \r\n\r\nconst CardPedido = ({ pedido, estadoPedido, estado, setDetallePedido, setTracking, colorCard }) => {\r\n \r\n  return (\r\n    <div className=\"card_pedido\">\r\n      <div className=\"card-body\">\r\n        <div className=\"status\">\r\n          <Badge style={{ backgroundColor: colorCard }}>{pedido.estad}</Badge>\r\n          <span className=\"precio\" style={{ color: colorCard }}>{pedido.sWaers} {pedido.impor.toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n        </div>\r\n        {(estadoPedido == data.EstadoPedido.PorPagar) ?\r\n          <span className=\"paragraph-3\" style={{ color: c.grisMedio }}>Fecha máxima de pago {pedido.fechaPedido}</span>\r\n          :\r\n          <span className=\"paragraph-3\" style={{ color: c.grisMedio }}>Fecha de Pedido {pedido.fechaPedido}</span>\r\n        }\r\n        <h6 className=\"paragraph-2 bold my-1\" style={{ color: c.azulClaro }}>Pedido a {pedido.street}</h6>\r\n        <span className=\"paragraph-3\" style={{ color: c.azulClaro }}>{pedido.vbeln}</span>\r\n      </div>\r\n      <div className=\"card-footer\" style={{ backgroundColor: colorCard }}>\r\n        <a href=\"#\"  \r\n          onClick={(e) => { e.preventDefault(); setTracking(pedido.vbeln, pedido.tipod, pedido.serie, pedido.numer) }}>\r\n          Tracking<SvgAssets icon=\"icon-right\" fill=\"#fff\" />\r\n        </a>\r\n        <a href=\"#\"\r\n          onClick={(e) => { e.preventDefault(); setDetallePedido(pedido.vbeln, pedido.tipod, pedido.serie, pedido.numer, estado) }}>\r\n          Ver detalle<SvgAssets icon=\"icon-right\" fill=\"#fff\" />\r\n        </a>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class HistorialPedidos extends Component {\r\n  static displayName = HistorialPedidos.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      tabIndex: 0,\r\n      dealer: {},\r\n      linea: {},\r\n      correoElectronico: null,\r\n      vkorg: null,\r\n      estados: [],\r\n      historialPedidos: [],\r\n      historialPedidosFiltrados: [],\r\n      Tipo: 'H',\r\n      estadoPedido: null,\r\n      search: '',\r\n      errorCodigo: false,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      isEmpty: false,\r\n    };\r\n  }\r\n\r\n  searchPedido = (e) => {\r\n    let text = e.currentTarget.value;\r\n    this.setState({ loading: true });\r\n    if (text) {\r\n      let textData = text.toUpperCase();\r\n      let newData = this.state.historialPedidos.filter(function (item) {\r\n        const itemData = item.vbeln.toUpperCase();\r\n        if (itemData.indexOf(textData) > -1) return item;\r\n      });\r\n      this.setState({ historialPedidosFiltrados: newData, search: text, loading: false });\r\n    } else {\r\n      this.setState({ historialPedidosFiltrados: this.state.historialPedidos, search: '', loading: false });\r\n    }\r\n  }\r\n\r\n  validEstado() {\r\n    if (this.props.location.state != null) {\r\n      let estado = this.props.location.state.estado;\r\n      if (estado != null) this.setState({ estado: estado }, () => {\r\n        this.props.history.replace();\r\n      });\r\n    }\r\n  }\r\n\r\n  checkParams() {\r\n    this.validEstado();\r\n  }\r\n\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    try {\r\n      this.checkParams();\r\n      this.setState(\r\n        { dealer: data.dealer, linea: data.linea, asociado: data.asociado, loading: false },\r\n        () => this.postListarEstadosPedido(data.dealer.codcliente, data.dealer.correoElectronico));\r\n    }\r\n    catch (error) {\r\n      this.setState({ loading: false }, async () => {\r\n        error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n        notificacion(\"Historial\", error.message ?? null);\r\n      });\r\n    };\r\n  }\r\n\r\n  postListarEstadosPedido = (cliente, correo) => {\r\n    this.setState({ loading: true });\r\n    console.log(cliente, correo, this.state.linea.vkorg, this.state.Tipo);\r\n    ListarEstadosPedido(cliente, correo, this.state.linea.vkorg, this.state.Tipo)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            estados: result.dto.listaEstados,\r\n          });\r\n          if (result.dto.listaEstados.length > 0) {\r\n            let index = 0;\r\n            let estado = result.dto.listaEstados[index].estad;\r\n\r\n            if (this.state.estado != null) {\r\n              debugger;\r\n              index = result.dto.listaEstados.findIndex(x => x.estad == this.state.estado.codigo);\r\n              estado = result.dto.listaEstados[index].estad;\r\n              this.setState({ estado: null });\r\n            }\r\n            this.setTabIndex(estado, index);\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Estados pedidos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postListarHistorialPedido = async (VKorg, Estado, CodigoDealer, CorreoElectronicoDealer, tipo) => {\r\n    this.setState({ loading: true });\r\n    ListarHistorialPedido(VKorg, Estado, CodigoDealer, CorreoElectronicoDealer, tipo)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            historialPedidos: result.dto.historialPedido,\r\n            historialPedidosFiltrados: result.dto.historialPedido,\r\n            isEmpty: false,\r\n            errorCodigo: false\r\n          });\r\n        } else {\r\n          this.setState({ isEmpty: true, errorCodigo: false })\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({\r\n          loading: false,\r\n          historialPedidos: [],\r\n          historialPedidosFiltrados: [],\r\n          errorCodigo: false\r\n        });\r\n      });\r\n  }\r\n\r\n  postListarHistorialPedidoTodos = async (VKorg, Pedido, CodigoDealer, CorreoElectronicoDealer, tipo) => {\r\n    this.setState({ loading: true });\r\n    ListarHistorialPedidoTodos(VKorg, Pedido, CodigoDealer, CorreoElectronicoDealer, tipo)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          console.log(\"historialPedidos==>\", result.dto.historialPedido);\r\n          this.setState({\r\n            isEmpty: false,\r\n            errorCodigo: false,\r\n            historialPedidos: result.dto.historialPedido,\r\n            historialPedidosFiltrados: result.dto.historialPedido,\r\n            loading: false\r\n          });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({\r\n          loading: false,\r\n          historialPedidos: [],\r\n          historialPedidosFiltrados: []\r\n        });\r\n      });\r\n  }\r\n\r\n  render() {\r\n    const { search, errorCodigo, tabIndex, estados, historialPedidos, historialPedidosFiltrados, loading, estadoPedido, isEmpty } = this.state;\r\n    const navigation = this.props.navigation;\r\n    \r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Historial de pedidos</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Pedidos</li>\r\n              <li><Link to='/historial-pedidos' style={{ pointerEvents: 'none' }}>Historial de pedidos</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>Historial de Pedidos\r\n          </h6>\r\n          <div className=\"pills-scroll-container\">\r\n            {\r\n              estados.map((pill, index) => {\r\n                let backgroundColorPill = this.getBackGroundColorForTab(pill.estad, data.EstadoPedido);\r\n                let colorPill = this.getColorForTab(pill.estad, data.EstadoPedido);\r\n                return (<button key={index + 1}\r\n                  className={tabIndex === index ? 'active' : ''} style={tabIndex === index ? { backgroundColor: backgroundColorPill, color: colorPill } : {}}\r\n                  onClick={() => this.setTabIndex(pill.estad, index)}\r\n                >{pill.nomEstad}\r\n                </button>\r\n                )\r\n              })\r\n            }\r\n          </div>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <div className=\"buscador_historial\">\r\n              <FormGroup className=\"icon mb-4\">\r\n                <Input className=\"\" type='text' placeholder=\"N° de Pedido\"\r\n                  value={search}\r\n                  onChange={(text) => this.searchPedido(text)}\r\n                />\r\n                <Button color=\"link\" className=\"btn-icon\"\r\n                  type=\"button\"\r\n                  onClick={() => { this.IrBuscar() }}\r\n                >\r\n                  <SvgAssets icon='icon-lupa' fill={c.azulClaro} />\r\n                </Button>\r\n                {(errorCodigo) ? <FormFeedback>Por favor ingrese un código (al menos 5 caracteres)</FormFeedback> : null}\r\n              </FormGroup>\r\n              <h6 className=\"paragraph-2 text-left light mb-4\" style={{ color: c.grisMedio }}>Resultados ({(historialPedidosFiltrados || []).length})</h6>\r\n            </div>\r\n            {\r\n              isEmpty ?\r\n                <div>\r\n                  <div className=\"empty\">\r\n                    <SvgAssets icon=\"icon-folder\" fill={c.celeste} />\r\n                    <h6 className=\"paragraph-1 text-center\" style={{ color: c.celeste }}>{tabIndex == 8 ? 'Mira tu pedido!' : 'No tienes pedidos'}</h6>\r\n                    {tabIndex == 8 ? <p className=\"paragraph-1 text-center\" style={{ color: c.grisMedio }}>Conoce el <strong>estado</strong> detallado de tu pedido ingresando el <strong>número de pedido</strong> en el buscador</p>\r\n                      : <p className=\"paragraph-1 text-center\" style={{ color: c.grisMedio }}>Aún no cuentas con pedidos generados, aquí encontrarás todos los pedidos realizados.</p>\r\n                    }\r\n                  </div>\r\n                  <div className=\"text-center mt-2 mobile\">\r\n                    <Link to=\"/generar-pedido\" style={{ textDecoration: 'none' }}>\r\n                      <button className='btn-block' style={{ backgroundColor: c.naranja }}>realizar pedido</button>\r\n                    </Link>\r\n                  </div>\r\n                </div>\r\n                :\r\n                <div className=\"cards-wrap\">\r\n                  {(historialPedidosFiltrados || []).map((pedido, index) => {\r\n                    let estado = (estados || []).find(x => x.estad == pedido.codEstad);\r\n                    let colorCard = this.getBackGroundColorForTab(pedido.codEstad, data.EstadoPedido);\r\n                    return (\r\n                      <CardPedido pedido={pedido} key={index} estadoPedido={estadoPedido} estado={estado} setDetallePedido={this.setDetallePedidoTracking} setTracking={this.setTracking} colorCard={colorCard} />\r\n                    )\r\n                  })}\r\n                </div>\r\n\r\n            }\r\n          </div>\r\n          {isEmpty ?\r\n            // <div className=\"text-center mt-5 desktop\" style={{ justifyContent: 'center' }} ref={(el) => { if (el) el.style.setProperty(\"display\", \"flex\", \"important\"); }}>\r\n            <div className=\"text-center mt-5 desktop\">\r\n              <Link to=\"/generar-pedido\" style={{ textDecoration: 'none' }}>\r\n                <button className='btn-block'>realizar pedido</button>\r\n              </Link>\r\n            </div> : null\r\n          }\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  addPedidos = async () => {\r\n    // this.props.navigation.navigate('GenerarPedido');\r\n    this.props.navigation.navigate('GenerarPedidoStack');\r\n  }\r\n  setTabIndex = (estado, index) => {\r\n    this.setState({ tabIndex: index, loading: false, estadoPedido: estado, search: '' });\r\n\r\n    this.postListarHistorialPedido(this.state.linea.vkorg, estado,\r\n      this.state.dealer.codcliente,\r\n      this.state.dealer.correoElectronico,\r\n      this.state.Tipo);\r\n\r\n  }\r\n\r\n  IrBuscar = () => {\r\n    if (this.state.estadoPedido == \"0\") {\r\n      if (this.state.search == \"\" || this.state.search.length < 5) {\r\n        this.setState({\r\n          errorCodigo: true\r\n        });\r\n      } else {\r\n        this.postListarHistorialPedidoTodos(this.state.linea.vkorg, this.state.search,\r\n          this.state.dealer.codcliente,\r\n          this.state.dealer.correoElectronico,\r\n          this.state.Tipo);\r\n      }\r\n    }\r\n  }\r\n\r\n  setDetallePedido = (kunnr) => {\r\n\r\n    this.setState({ loading: true });\r\n    ListarDetallePedido(kunnr, this.state.dealer.codcliente, this.state.dealer.correoElectronico)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false\r\n          });\r\n          this.props.history.push({\r\n            pathname: '/detalle-pedido',\r\n            state: {\r\n              detallePedido: result.dto.detallePedido,\r\n              detalle: result.dto.detallePedido.detalle, dealer: this.state.dealer, linea: this.state.linea\r\n            }\r\n          });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({\r\n          loading: false\r\n        });\r\n      });\r\n\r\n  }\r\n\r\n  setDetallePedidoTracking = async (kunnr, Tipo, serie, numer, estado) => {\r\n    this.setState({ loading: true });\r\n    let resultDetalle = await ListarDetallePedido(kunnr, this.state.dealer.codcliente, this.state.dealer.correoElectronico);\r\n    let resultTracking = await ListarTrakingPedido(kunnr, this.state.dealer.codcliente, this.state.dealer.correoElectronico, Tipo, serie, numer, this.state.linea.cdvped)\r\n\r\n    if (resultDetalle.mo.type == \"success\" && resultTracking.mo.type == \"success\") {\r\n      this.setState({\r\n        loading: false\r\n      });\r\n      this.props.history.push({\r\n        pathname: '/detalle-pedido',\r\n        state: {\r\n          detallePedido: resultDetalle.dto.detallePedido,\r\n          detalle: resultDetalle.dto.detallePedido.detalle,\r\n          trackingPedido: resultTracking.dto.trakingPedido,\r\n          trakingDetalle: resultTracking.dto.trakingPedido.trakingDetalle,\r\n          dealer: this.state.dealer,\r\n          linea: this.state.linea,\r\n          estado: estado\r\n        }\r\n      });\r\n    } else {\r\n      this.setState({\r\n        loading: false\r\n      });\r\n    }\r\n  }\r\n\r\n  setTracking = (kunnr, Tipo, serie, numer) => {\r\n    this.setState({ loading: true });\r\n    ListarTrakingPedido(kunnr, this.state.dealer.codcliente,\r\n      this.state.dealer.correoElectronico, Tipo, serie, numer,\r\n      this.state.linea.cdvped)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false });\r\n          this.props.history.push({\r\n            pathname: '/tracking',\r\n            state: {\r\n              trackingPedido: result.dto.trakingPedido,\r\n              trakingDetalle: result.dto.trakingPedido.trakingDetalle\r\n            }\r\n          });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({\r\n          loading: false\r\n        });\r\n      });\r\n\r\n  }\r\n\r\n  getBackGroundColorForTab = (estado, data) => {\r\n    switch (estado) {\r\n      case data.PorPagar:\r\n        return c.naranja;\r\n      case data.Entregado:\r\n        return c.verde;\r\n      case data.Expirado:\r\n        return c.rojoClaro;\r\n      case data.EnPreparacion:\r\n        return c.morado;\r\n      case data.Facturado:\r\n        return c.amarillo;\r\n      case data.Pagado:\r\n        return c.azul;\r\n      case data.Despachado:\r\n        return c.celeste;\r\n      case data.Anulado:\r\n        return c.grisMedio;\r\n      default:\r\n        return c.azulClaro;\r\n    }\r\n  }\r\n\r\n  getColorForTab = (estado, data) => {\r\n    switch (estado) {\r\n      case data.PorPagar:\r\n      case data.Entregado:\r\n      case data.Expirado:\r\n      case data.EnPreparacion:\r\n      case data.Facturado:\r\n      case data.Pagado:\r\n      case data.Despachado:\r\n      case data.Anulado:\r\n      case data.Procesado:\r\n      case data.Anulado:\r\n      case data.Todos:\r\n        return \"#fff\";\r\n      default:\r\n        return c.azulClaro;\r\n    }\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Col, Row, ListGroup, ListGroupItem, Container, Badge, UncontrolledTooltip } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { AgregarProductoPedidoMasivo, AgregarNuevoProductoPedidoMasivo } from '../../store/sagas/carritoApi';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport { data } from '../../constants/Constants';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport TooltipLeyenda from '../reusable/TooltipLeyenda';\r\n\r\nexport class DetallePedido extends Component {\r\n  static displayName = DetallePedido.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      detallePedido: {},\r\n      trakingDetalle: [],\r\n      detalle: [],\r\n      dealer: {},\r\n      linea: {},\r\n      estado: {}\r\n    };\r\n  }\r\n\r\n  checkParams(fn = () => { }) {\r\n    const { state } = this.props.location;\r\n    this.setState({\r\n      detallePedido: state.detallePedido,\r\n      loading: false,\r\n      detalle: state.detalle,\r\n      trakingDetalle: state.trakingDetalle || [],\r\n      dealer: state.dealer,\r\n      linea: state.linea,\r\n      estado: state.estado\r\n    }, fn);\r\n  }\r\n\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n  addPedidos(carritoProdctos, setcarritoProdctos, pantalla) {\r\n    this.setState({ loading: true });\r\n\r\n    const correo = this.state.dealer.correoElectronico\r\n    const codcliente = this.state.dealer.codcliente\r\n    const centro = this.state.linea.centro\r\n    const linea = this.state.linea.linea\r\n    const vkorg = this.state.linea.vkorg\r\n    const almacen = this.state.linea.almacen\r\n    const canal = this.state.linea.canal\r\n    const sector = this.state.linea.sector\r\n\r\n    let ListaProductos = [];\r\n    this.state.detalle.filter(function (item) {\r\n      ListaProductos.push({\r\n        \"CorreoElectronicoDealer\": correo,\r\n        \"DispositivoDealer\": null,\r\n        \"Descripcion\": item.maktx,\r\n        \"CantidadOriginal\": item.canti,\r\n        \"Moneda\": item.waers,\r\n        \"Pantalla\": pantalla.HistorialPedido.Detalle,\r\n        \"UnidadMedida\": item.meins,\r\n        \"PrecioFinal\": item.precio,\r\n        \"Codigo\": item.matnr,\r\n        \"CodigoDealer\": codcliente,\r\n        \"Centro\": centro,\r\n        \"Linea\": linea,\r\n        \"Vkorg\": vkorg,\r\n        'Almacen': almacen,\r\n        'Canal': canal,\r\n        'Sector': sector\r\n      });\r\n    });\r\n\r\n\r\n    AgregarNuevoProductoPedidoMasivo(ListaProductos)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false });\r\n          setcarritoProdctos(result.dto.carritoProdctos);\r\n          notificacion(\"Aviso\", \"Se agregaron productos al carrito\");\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Detalle Pedidos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  render() {\r\n    const { detallePedido, detalle, trakingDetalle, estado, loading } = this.state;\r\n    const navigation = this.props.navigation\r\n    const auth = this.context;\r\n    let backColor = this.getBackGroundColorForTab(estado.estad, data.EstadoPedido);\r\n    console.log(estado);\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Detalle del Pedido</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Pedidos</li>\r\n              <li><Link to='/historial-pedidos'>Historial de pedidos</Link></li>\r\n              <li>Detalle del Pedido</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\"><Link to='/historial-pedidos' className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link>Detalle del pedido</h6>\r\n          <div className=\"card\">\r\n            {estado == null ? null :\r\n              <Badge className=\"desktop light mb-4\" style={{ backgroundColor: backColor, alignSelf: 'flex-start', borderRadius: 15 }}>{estado.nomEstad}</Badge>\r\n              // <Badge className=\"desktop light mb-4\" style={{ backgroundColor: c.morado, alignSelf: 'flex-start', borderRadius: 15 }}>{estado.nomEstad}</Badge>\r\n            }\r\n            <div className=\"text-left detalle_servicio\">\r\n              <div>\r\n                <p className='paragraph-2 mb-1 light' style={{ color: c.azulClaro }}>Número de pedido: <strong>{detallePedido.vbeln}</strong></p>\r\n                <p className='paragraph-2 light' style={{ color: c.azulClaro }}>Total: <strong>{detallePedido.sWaers} {(Number(detallePedido.total)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</strong></p>\r\n                <p className='paragraph-3 light mb-0' style={{ color: c.grisMedio }}>Fecha de pedido: {detallePedido.fechaPedido}</p>\r\n              </div>\r\n              <div className=\"pedido-servicio desktop\"><h6>Servicio a {detallePedido.direc}</h6><span>Transportista {detallePedido.transportista}</span></div>\r\n              <div className=\"ml-auto desktop\">\r\n                <div className=\"d-flex align-items-center\">\r\n                  <button\r\n                    className='btn-block mt-0 mr-2'\r\n                    onClick={() => { this.addPedidos(auth.carritoProdctos, auth.setcarritoProdctos, data.Pantalla) }}\r\n                  >\r\n                    <SvgAssets className=\"mr-2\" icon=\"icon-carrito\" fill={'#fff'} />AGREGAR AL CARRITO\r\n                  </button>\r\n                  <div id=\"tooltip-info\" className=\"tooltip-leyenda\" style={{}}>\r\n                    <SvgAssets icon=\"icon-info\" fill={c.azulClaro} />\r\n                    <UncontrolledTooltip placement=\"left\" target=\"tooltip-info\" className=\"tooltip-leyenda\">\r\n                      <span className=\"light\">Al seleccionar <span style={{ display: 'inline-block' }}>agregar al carrito</span> podrás modificar las cantidades</span>\r\n                    </UncontrolledTooltip>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <hr />\r\n            {/* {\r\n              (trakingDetalle.length == 0) ? null :\r\n                <div className=\"desktop card_desktop my-5\">\r\n                  <ul className=\"tracking\">\r\n                    {trakingDetalle.map((traking, index) => {\r\n                      // let colorPill = this.getColorForTab(traking.codEstad, data.EstadoPedido, traking.color, traking.ultimo);\r\n                      let colorPill = this.getColorForTab(traking.codEstad, data.EstadoPedido, true, traking.ultimo);\r\n                      return (\r\n                        <li className={colorPill.class} key={index}>\r\n                          <Badge style={{ backgroundColor: colorPill.hex }}>{traking.estad}</Badge>\r\n                          <span className=\"fecha\">\r\n                            {\r\n                              (traking.tituloFecha == null) ?\r\n                                (traking.codEstad == data.EstadoPedido.PorPagar) ?\r\n                                  (<span>{traking.fechaPedido}<br/>Fecha máxima de pago<br></br>{traking.fechaVencimiento}</span>)\r\n                                  :\r\n                                  traking.fechaPedido\r\n                                :\r\n                                (<span>{traking.tituloFecha}<br></br>{traking.fechaPedido}</span>)\r\n                            }\r\n                          </span>\r\n                          {\r\n                            (traking.urlFactura == \"\" || traking.urlFactura == null || !traking.flagUrlFactura) ? null :\r\n                              <button\r\n                                className=\"btn-small\"\r\n                                onClick={() => this.loadFactura(traking.urlFactura)}\r\n                              >\r\n                                Factura n° {traking.nomFactura}<SvgAssets icon=\"icon-download-file\" fill={c.rojoClaro} />\r\n                              </button>\r\n                          }\r\n                        </li>\r\n                      )\r\n                    })}\r\n                  </ul>\r\n                </div>\r\n            } */}\r\n            <div className=\"pedido-servicio mobile text-center\"><h6>Servicio a {detallePedido.direc}</h6><span>Transportista MARVISUR S.A.C</span></div>\r\n            {(detalle.lenght == 0) ? null :\r\n              <ListGroup flush className=\"container_840\">\r\n                <ListGroupItem>\r\n                  <Row form>\r\n                    <Col xs={3} md={5}>\r\n                      <span className='paragraph-3 bold'></span>\r\n                    </Col>\r\n                    <Col xs={2} md={2}>\r\n                      <span className='paragraph-3 bold' style={{ color: c.verdeClaro }}>Can.</span>\r\n                    </Col>\r\n                    <Col xs={4} md={3}>\r\n                      <span className='paragraph-3 bold' style={{ color: c.morado }}>Precio Uni.</span>\r\n                    </Col>\r\n                    <Col xs={3} md={2}>\r\n                      <span className='paragraph-3 bold' style={{ color: c.azulClaro }}>Total</span>\r\n                      <div className=\"desktop\">\r\n                        {/* <TooltipLeyenda\r\n                          color={c.celeste}\r\n                          style={{ position: 'absolute', right: -30, top: -6 }}\r\n                        /> */}\r\n                        <div id=\"tooltip-info-2\" className=\"tooltip-leyenda\" style={{ position: 'absolute', right: -30, top: -6 }}>\r\n                          <SvgAssets icon=\"icon-info\" fill={c.azulClaro} />\r\n                          <UncontrolledTooltip placement=\"top\" target=\"tooltip-info-2\" className=\"tooltip-leyenda\">\r\n                            <span>PVD: Precio Venta Dealer</span>\r\n                          </UncontrolledTooltip>\r\n                        </div>\r\n                      </div>\r\n                    </Col>\r\n                  </Row>\r\n                </ListGroupItem>\r\n                {detalle.map((pedido, index) => {\r\n                  return (\r\n                    <ListGroupItem>\r\n                      <Row form>\r\n                        <Col xs={3} md={5}>\r\n                          <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: c.grisMedio }}>{pedido.maktx}</span>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>SKU: {pedido.matnr}</span>\r\n                        </Col>\r\n                        <Col xs={2} md={2}><span className='paragraph-2 bold' style={{ color: c.verdeClaro }}>{pedido.canti}</span></Col>\r\n                        <Col xs={4} md={3}>\r\n                          <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: c.morado }}>PVD {pedido.sWaers} {pedido.precio.toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n                          {/* <span className='paragraph-3' style={{ color: c.morado }}>PVP S/ 7.00</span> */}\r\n                        </Col>\r\n                        <Col xs={3} md={2}>\r\n                          <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: c.azulClaro }}>{pedido.sWaers} {pedido.subto.toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n                        </Col>\r\n                      </Row>\r\n                    </ListGroupItem>\r\n                  )\r\n                })}\r\n\r\n              </ListGroup>\r\n            }\r\n            {/* <div className=\"text-center mt-4 mobile\">\r\n              <button\r\n                className='btn-block'\r\n                onClick={() => { this.addPedidos(auth.carritoProdctos, auth.setcarritoProdctos, data.Pantalla) }}\r\n              >\r\n                <SvgAssets className=\"mr-2\" icon=\"icon-carrito\" fill={'#fff'} />AGREGAR AL CARRITO\r\n              </button>\r\n            </div> */}\r\n            <div className=\"text-center mt-4 mobile\">\r\n              <div className=\"d-flex align-items-center\">\r\n                <button\r\n                  className='btn-block mt-0'\r\n                  style={{ minWidth: 'auto' }}\r\n                  onClick={() => { this.addPedidos(auth.carritoProdctos, auth.setcarritoProdctos, data.Pantalla) }}\r\n                >\r\n                  <SvgAssets className=\"mr-2\" icon=\"icon-carrito\" fill={'#fff'} />AGREGAR AL CARRITO\r\n                </button>\r\n                <div id=\"tooltip-info-3\" className=\"tooltip-leyenda ml-2\" style={{}}>\r\n                  <SvgAssets icon=\"icon-info\" fill={c.azulClaro} />\r\n                  <UncontrolledTooltip placement=\"top\" target=\"tooltip-info-3\" className=\"tooltip-leyenda\" trigger=\"click\">\r\n                    <span className=\"light\" style={{ fontSize: 9 }}>Al seleccionar <strong>agregar al carrito</strong> podrás modificar las cantidades</span>\r\n                    <hr />\r\n                    <span className=\"bold\">PVD: Precio Venta Dealer</span>\r\n                  </UncontrolledTooltip>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  getColorForTab = (estado, data, colorestado, ultimo) => {\r\n    if (colorestado == true) {\r\n      // if (colorestado == true && ultimo == true) {\r\n      switch (estado) {\r\n        case data.PorPagar:\r\n          return { hex: c.naranja, class: \"naranja\" };\r\n        case data.Entregado:\r\n          return { hex: c.verde, class: \"verde\" };\r\n        case data.Expirado:\r\n          return { hex: c.rojoClaro, class: \"rojo\" };\r\n        case data.EnPreparacion:\r\n          return { hex: c.morado, class: \"morado\" };\r\n        case data.Facturado:\r\n          return { hex: c.amarillo, class: \"amarillo\" };\r\n        case data.Pagado:\r\n          return { hex: c.azul, class: \"azul\" };\r\n        case data.Despachado:\r\n          return { hex: c.celeste, class: \"celeste\" };\r\n        case data.Anulado:\r\n          return { hex: c.grisMedio, class: \"grisMedio\" };\r\n        default:\r\n          return { hex: c.azul, class: \"azul\" };\r\n      }\r\n    }\r\n    else if ((colorestado == true) && (ultimo == false)) {\r\n      return { hex: c.azul, class: \"azul\" };\r\n    }\r\n    else {\r\n      return { hex: c.grisMedio, class: \"grisMedio\" };\r\n    }\r\n  }\r\n\r\n  loadFactura = (url) => {\r\n    window.open(url, \"_blank\");\r\n    // Linking.openURL(url).catch(err => console.log(\"Couldn't load page\", err));\r\n  }\r\n\r\n  getBackGroundColorForTab = (estado, data) => {\r\n    switch (estado) {\r\n      case data.PorPagar:\r\n        return c.naranja;\r\n      case data.Entregado:\r\n        return c.verde;\r\n      case data.Expirado:\r\n        return c.rojoClaro;\r\n      case data.EnPreparacion:\r\n        return c.morado;\r\n      case data.Facturado:\r\n        return c.amarillo;\r\n      case data.Pagado:\r\n        return c.azul;\r\n      case data.Despachado:\r\n        return c.celeste;\r\n      case data.Anulado:\r\n        return c.grisMedio;\r\n      default:\r\n        return c.azulClaro;\r\n    }\r\n  }\r\n}","import React, { Component } from 'react';\r\nimport { Col, Row, ListGroup, ListGroupItem, Container, Badge } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { GetPdfFilePedidoPedido } from '../../store/sagas/pedidoApi';\r\nexport class Tracking extends Component {\r\n  static displayName = Tracking.name;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      trackingPedido: {},\r\n      trakingDetalle: []\r\n    };\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n\r\n    this.setState({ trackingPedido: state.trackingPedido, trakingDetalle: state.trakingDetalle, loading: false });\r\n  }\r\n\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  postGetPdfPedido = (codigoPedido) => {\r\n    this.setState({ loading: true });\r\n    GetPdfFilePedidoPedido(codigoPedido)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n          });\r\n          window.open(result.dto.urlPdf, \"_blank\");\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Tracking pedidos\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  render() {\r\n    const { loading, trackingPedido, trakingDetalle } = this.state;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Pedidos</li>\r\n              <li><Link to='/historial-pedidos'>Historial de pedidos</Link></li>\r\n              <li>Traking</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\"><Link to='/historial-pedidos' className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link>Traking</h6>\r\n          <div className=\"card\">\r\n            <div className=\"text-left\">\r\n\r\n\r\n              <p className='paragraph-2 mb-1' style={{ color: c.azulClaro, cursor: 'pointer' }}>Número de pedido: <strong>{trackingPedido.vbeln}\r\n              </strong></p>\r\n\r\n              <p className='paragraph-2' style={{ color: c.azulClaro }}>Total: <strong>{trackingPedido.sWaers}{(Number(trackingPedido.total)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</strong></p>\r\n              <p className='paragraph-3 mb-0' style={{ color: c.grisMedio }}>Fecha de pedido: {trackingPedido.fechaPedido}</p>\r\n            </div>\r\n            <hr />\r\n            <div className=\"card_desktop my-5\">\r\n              <ul className=\"tracking\">\r\n                {\r\n                  (trakingDetalle.length == 0) ? null :\r\n                    trakingDetalle.map((traking, index) => {\r\n                      let colorPill = this.getColorForTab(traking.codEstad, data.EstadoPedido, traking.color, traking.ultimo);\r\n                      return (\r\n                        <li className=\"azul\" key={index}>\r\n                          <Badge>{traking.estad}</Badge>\r\n                          <span className=\"fecha\">{\r\n                            (traking.tituloFecha == null) ?\r\n                              (traking.codEstad == data.EstadoPedido.PorPagar) ?\r\n                                (\r\n                                  <div><span>{traking.fechaPedido}</span><br />\r\n                                    <span>Fecha máxima de pago<br></br>{traking.fechaVencimiento}</span>\r\n                                    <button\r\n                                      className=\"btn-small\"\r\n                                      onClick={() => this.postGetPdfPedido(trackingPedido.vbeln)}\r\n                                    >\r\n                                      Pedido n° {trackingPedido.vbeln}<SvgAssets icon=\"icon-download-file\" fill={c.rojoClaro} />\r\n                                    </button>\r\n                                  </div>\r\n                                )\r\n                                : traking.fechaPedido\r\n                              : (<span>{traking.tituloFecha}<br></br>{traking.fechaPedido}</span>)}</span>\r\n\r\n\r\n\r\n\r\n                          {\r\n                            (traking.urlFactura == \"\" || traking.urlFactura == null || !traking.flagUrlFactura) ? null :\r\n                              <button\r\n                                className=\"btn-small\"\r\n                                onClick={() => this.loadFactura(traking.urlFactura)}\r\n                              >\r\n                                Factura n° {traking.nomFactura}<SvgAssets icon=\"icon-download-file\" fill={c.rojoClaro} />\r\n                              </button>\r\n                          }\r\n                        </li>\r\n                      )\r\n                    })\r\n                }\r\n              </ul>\r\n            </div>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  loadFactura = (url) => {\r\n    window.open(url, \"_blank\");\r\n    // Linking.openURL(url).catch(err => console.log(\"Couldn't load page\", err));\r\n  }\r\n\r\n  getColorForTab = (estado, data, colorestado, ultimo) => {\r\n    if (colorestado == true && ultimo == true) {\r\n      switch (estado) {\r\n        case data.PorPagar:\r\n          return c.naranja;\r\n        case data.Entregado:\r\n          return c.verde;\r\n        case data.Expirado:\r\n          return c.rojoClaro;\r\n        case data.EnPreparacion:\r\n          return c.morado;\r\n        case data.Facturado:\r\n          return c.amarillo;\r\n        case data.Pagado:\r\n          return c.azul;\r\n        case data.Despachado:\r\n          return c.celeste;\r\n        case data.Anulado:\r\n          return c.grisMedio;\r\n        default:\r\n          return c.azul;\r\n      }\r\n    }\r\n    else if ((colorestado == true) && (ultimo == false)) {\r\n      return c.azul;\r\n    }\r\n    else {\r\n      return c.grisMedio;\r\n    }\r\n  }\r\n}\r\n","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\nexport function FiltroEstadoCuenta(CodigoDealer, CorreoElectronicoDealer, Gjahr, Bukrs, Vkorg) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/FiltroEstadoCuenta\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Gjahr': Gjahr,\r\n        'dto.Bukrs': Bukrs,\r\n        'dto.VKorg': Vkorg,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function BuscarEstadoCuenta(CodigoDealer, CorreoElectronicoDealer, Gjahr, Monat, Bukrs, Vkorg) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarEstadoCuenta\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Gjahr': Gjahr,\r\n        'dto.Monat': Monat,\r\n        'dto.Bukrs': Bukrs,\r\n        'dto.VKorg': Vkorg,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function PdfEstadoCuenta(CodigoDealer, CorreoElectronicoDealer, Gjahr, Bukrs, Vkorg, Monat) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/PdfEstadoCuenta\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Gjahr': Gjahr,\r\n        'dto.Bukrs': Bukrs,\r\n        'dto.VKorg': Vkorg,\r\n        'dto.Monat': Monat,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Badge, Container, ListGroup, ListGroupItem, Row, Col } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { FiltroEstadoCuenta, BuscarEstadoCuenta, PdfEstadoCuenta } from '../../store/sagas/estadoCuentaApi';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class EstadoCuenta extends Component {\r\n  static displayName = EstadoCuenta.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      isEmpty: false,\r\n      collapse1: false,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      filtroAnio: [],\r\n      selectedAnio: \"\",\r\n      etPeriodo: [],\r\n      etAnios: [],\r\n      saludo: null,\r\n      anioActual: new Date().getFullYear(),\r\n      mesActual: new Date().getMonth() + 1\r\n    };\r\n  }\r\n  checkParams() {\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ dealer: data.dealer, linea: data.linea, asociado: data.asociado }, () => {\r\n      this.postFiltroEstadoCuenta(\r\n        data.dealer.codcliente,\r\n        data.dealer.correoElectronico,\r\n        this.state.selectedAnio,\r\n        data.linea.vkorg,\r\n        data.linea.vkorg);\r\n    });\r\n  }\r\n\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  postFiltroEstadoCuenta = (CodigoDealer, CorreoElectronicoDealer, Gjahr, Bukrs, Vkorg) => {\r\n\r\n    FiltroEstadoCuenta(CodigoDealer, CorreoElectronicoDealer, Gjahr, Bukrs, Vkorg)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            saludo: result.dto.filtroEstadoCuenta.saludo,\r\n            filtroAnio: result.dto.filtroEstadoCuenta.etAnios,\r\n            etPeriodo: result.dto.filtroEstadoCuenta.etPeriodo,\r\n            isEmpty: (result.dto.filtroEstadoCuenta.etPeriodo.length > 0) ? false : true\r\n          });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Estados cuenta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postBuscarEstadoCuenta = async (CodigoDealer, CorreoElectronicoDealer, item, Bukrs, Vkorg) => {\r\n    this.setState({ loading: true });\r\n\r\n    BuscarEstadoCuenta(CodigoDealer, CorreoElectronicoDealer, item.anio, item.id, Bukrs, Vkorg)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false });\r\n\r\n          this.props.history.push({\r\n            pathname: '/estado-cuenta-detalle',\r\n            state: {\r\n              estadoCuenta: result.dto.estadoCuenta.etResumen,\r\n              periodo: item,\r\n              dealer: this.state.dealer,\r\n              linea: this.state.linea\r\n            }\r\n          });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Estados cuenta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  render() {\r\n    const { isEmpty, collapse1, filtroAnio, selectedAnio, etPeriodo, loading, saludo } = this.state;\r\n    const auth = this.context;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Hola {auth.userRazonSocial}</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link className=\"active\" to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/estado-cuenta' style={{ pointerEvents: 'none' }}>Estado de Cuenta</Link></li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile px-5\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            Hola {auth.userRazonSocial}\r\n          </h6>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <p className=\"paragraph-2 light mb-4\" style={{ color: c.grisMedio }}>Queremos contarte todo lo que necesitas saber sobre tu Estado de Cuenta</p>\r\n            <FormGroup>\r\n              <Input type=\"select\" style={{ maxWidth: 360, margin: 'auto' }} name=\"select\" id=\"exampleSelect\" value={selectedAnio}\r\n                onChange={(itemValue, itemIndex) => this.setSelectedValue(itemValue, data.Sistema)}\r\n              >\r\n                <option value=\"\">Año</option>\r\n                {(filtroAnio.length > 0) ? filtroAnio.map((data, index) => {\r\n                  return (\r\n                    <option key={index + 1} value={data.value}>{data.text}</option>\r\n                  )\r\n                }) : null\r\n                }\r\n              </Input>\r\n            </FormGroup>\r\n            <hr />\r\n            {isEmpty ?\r\n              <div>\r\n                <div className=\"empty\">\r\n                  <SvgAssets icon=\"icon-list\" fill={c.celeste} />\r\n                  <h6 className=\"paragraph-1 bold\" style={{ color: c.celeste }}>No tienes detalle de estado de cuenta</h6>\r\n                  <p className=\"paragraph-1\" style={{ color: c.grisMedio }}>No cuentas con pedidos realizados, aquí encontrás tu estado de cuenta.</p>\r\n                </div>\r\n                <div className=\"text-center mt-2 mobile\">\r\n                  <Link to=\"/pedido-masivo\" style={{ textDecoration: 'none' }}>\r\n                    <button className='btn-block' style={{ backgroundColor: c.naranja }}>\r\n                      ir al buscador<SvgAssets icon=\"icon-lupa\" className='ml-2' fill=\"#fff\" />\r\n                    </button>\r\n                  </Link>\r\n                </div>\r\n              </div>\r\n              :\r\n              <ListGroup flush className=\"list-group-desktop\">\r\n                <ListGroupItem>\r\n                  <Row form>\r\n                    <Col xs={2}>\r\n                      <span className='paragraph-3 bold'></span>\r\n                    </Col>\r\n                    <Col xs={3}>\r\n                      <span className='paragraph-3 bold' style={{ color: c.grisMedio }}>Mes</span>\r\n                    </Col>\r\n                    <Col xs={3}>\r\n                      <span className='paragraph-3 bold' style={{ color: c.grisMedio }}>Fecha de Emisión</span>\r\n                    </Col>\r\n                    <Col xs={4}>\r\n                      <span className='paragraph-3 bold'></span>\r\n                    </Col>\r\n                  </Row>\r\n                </ListGroupItem>\r\n                {/* <ListGroupItem> */}\r\n                {etPeriodo.map((data, index) => {\r\n                  return (\r\n                    <ListGroupItem key={index + 1}>\r\n                      <Row form >\r\n                        <Col xs={2}>\r\n                          <button className=\"btn-icon\"\r\n                            type=\"button\"\r\n                            onClick={() => this.downloadPDF(data)}>\r\n                            <SvgAssets icon=\"icon-download-file\" fill={c.verdeClaro} />\r\n                          </button>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: c.grisMedio }}>{data.mes}</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: c.grisMedio }}>{data.id}/{data.anio}</span>\r\n                        </Col>\r\n                        <Col xs={4} className=\"text-right\">\r\n                          <a className=\"paragraph-2\" style={{ cursor: 'pointer' }} onClick={(e) => { e.preventDefault(); this.setEstadoCuentaDetalle(data) }}>Ver Detalle</a>\r\n                          {/* <Link className='paragraph-2' to=\"/estado-cuenta-detalle\">Ver Detalle</Link> */}\r\n                        </Col>\r\n                      </Row>\r\n                    </ListGroupItem>\r\n                  )\r\n                })}\r\n                {/* </ListGroupItem> */}\r\n                {/* <ListGroupItem>\r\n                  <Row form>\r\n                    <Col xs={2}>\r\n                      <button className=\"btn-icon\">\r\n                        <SvgAssets icon=\"icon-download-file\" fill={c.verdeClaro} />\r\n                      </button>\r\n                    </Col>\r\n                    <Col xs={3}>\r\n                      <span className='paragraph-3 bold' style={{ color: c.grisMedio }}>Julio</span>\r\n                    </Col>\r\n                    <Col xs={3}>\r\n                      <span className='paragraph-3 bold' style={{ color: c.grisMedio }}>08/2020</span>\r\n                    </Col>\r\n                    <Col xs={4}>\r\n                      <Link className='paragraph-2' to=\"/estado-cuenta-detalle\">Ver Detalle</Link>\r\n                    </Col>\r\n                  </Row>\r\n                </ListGroupItem> */}\r\n              </ListGroup>\r\n            }\r\n          </div>\r\n          {isEmpty ?\r\n            <div className=\"text-center mt-5 desktop\">\r\n              <Link to=\"/generar-pedido\" style={{ textDecoration: 'none' }}>\r\n                <button className='btn-block' style={{ backgroundColor: c.naranja }}>\r\n                  ir al buscador<SvgAssets icon=\"icon-lupa\" className='ml-2' fill=\"#fff\" />\r\n                </button>\r\n              </Link>\r\n            </div>\r\n            : null\r\n          }\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n  ToggleCollapse1 = () => {\r\n    this.setState(prevState => ({ collapse1: !prevState.collapse1 }))\r\n  }\r\n\r\n  setSelectedValue(e, sistema) {\r\n    let value = e.currentTarget.value;\r\n\r\n    this.setState({ selectedAnio: value }, () => {\r\n      this.postFiltroEstadoCuenta(\r\n        this.state.dealer.codcliente,\r\n        this.state.dealer.correoElectronico,\r\n        value,\r\n        this.state.linea.vkorg,\r\n        this.state.linea.vkorg);\r\n    });\r\n  }\r\n\r\n  setEstadoCuentaDetalle(value, sistema) {\r\n\r\n    this.postBuscarEstadoCuenta(\r\n      this.state.dealer.codcliente,\r\n      this.state.dealer.correoElectronico,\r\n      value,\r\n      this.state.linea.vkorg,\r\n      this.state.linea.vkorg);\r\n  }\r\n\r\n  downloadPDF = (periodo) => {\r\n    this.postPdfEstadoCuenta(\r\n      this.state.dealer.codcliente,\r\n      this.state.dealer.correoElectronico,\r\n      periodo,\r\n      this.state.linea.vkorg,\r\n      this.state.linea.vkorg\r\n    );\r\n  }\r\n\r\n  postPdfEstadoCuenta = async (CodigoDealer, CorreoElectronicoDealer, periodo, Bukrs, Vkorg) => {\r\n    this.setState({ loading: true });\r\n\r\n    PdfEstadoCuenta(CodigoDealer, CorreoElectronicoDealer, periodo.anio, Bukrs, Vkorg, periodo.id)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false });\r\n\r\n          if (result.dto.urlPdf == null || result.dto.urlPdf == \"\") {\r\n            notificacion(\"Estados cuenta Detalle\", \"No existe documento a descargar\" ?? null);\r\n          }\r\n          else {\r\n            window.open(result.dto.urlPdf, \"_blank\");\r\n            // Linking.openURL(result.dto.urlPdf).catch(err => console.log(\"Couldn't load page\", err));\r\n          }\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Estados cuenta Detalle\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { UncontrolledCollapse, Input, Badge, Container, ListGroup, ListGroupItem, Row, Col } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\nimport { PdfEstadoCuenta } from '../../store/sagas/estadoCuentaApi';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\n\r\nexport class EstadoCuentaDetalle extends Component {\r\n  static displayName = EstadoCuentaDetalle.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      isEmpty: false,\r\n      collapse1: false,\r\n      fillActive: 0,\r\n      estadoCuenta: [],\r\n      periodo: {},\r\n      dealer: {},\r\n      linea: {},\r\n      totalCuenta: 0\r\n    };\r\n  }\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    let estadoCuentaCollapse = [];\r\n    let total = 0;\r\n    state.estadoCuenta.map((item, index) => {\r\n      estadoCuentaCollapse.push({ cuenta: item, collapse: false });\r\n      total = total + Number((item.impor).toFixed(2));\r\n    })\r\n\r\n    this.setState(\r\n      {\r\n        estadoCuenta: estadoCuentaCollapse,//params.estadoCuenta,\r\n        totalCuenta: Number((total).toFixed(2)),\r\n        periodo: state.periodo,\r\n        dealer: state.dealer,\r\n        linea: state.linea,\r\n        isEmpty: (state.estadoCuenta.length > 0) ? false : true,\r\n        loading: false\r\n      });\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { isEmpty, fillActive, loading, periodo, estadoCuenta, collapse1, totalCuenta } = this.state;\r\n    return (\r\n      <div id=\"mhw\">\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Resumen de Estado de Cuenta</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link className=\"active\" to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/estado-cuenta'>Estado de Cuenta</Link></li>\r\n              <li>Resumen</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <button className='btn-icon back mb-4 mobile'>\r\n            <SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} />\r\n          </button>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <div className=\"estado-cuenta-date\" style={{minHeight:'initial'}}>\r\n              <div className=\"content-left\">\r\n                <h5 className='paragraph-1 bold'>ESTADO DE CUENTA<br />{periodo.mes} {periodo.anio}</h5>\r\n              </div>\r\n              <div className=\"date\">\r\n                <div>\r\n                  <span className='paragraph-2 azul light'>Fecha de emisión:</span>\r\n                  <span className='paragraph-2 azul bold'>28/08/2020 20:23:00</span>\r\n                </div>\r\n                <button className=\"btn-icon\"\r\n                  type=\"button\"\r\n                  onClick={() => this.downloadPDF(periodo)}\r\n                >\r\n                  <SvgAssets icon=\"icon-download-file\" fill={c.verdeClaro} />\r\n                </button>\r\n              </div>\r\n            </div>\r\n            <hr className=\"desktop\" />\r\n            <ListGroup flush className=\"list-group-desktop\">\r\n              <ListGroupItem>\r\n                <Row form>\r\n                  <Col xs={6}>\r\n                    <span className='paragraph-3 bold' style={{ color: c.grisMedio }}>Resumen</span>\r\n                  </Col>\r\n                  <Col xs={3}>\r\n                    <span className='paragraph-3 bold' style={{ color: c.grisMedio }}>Soles</span>\r\n                  </Col>\r\n                  <Col xs={3}></Col>\r\n                </Row>\r\n              </ListGroupItem>\r\n              {estadoCuenta.map((item, index) => {\r\n                let colorPill = this.getColorForTab(item.cuenta.codig, data.EstadoCuenta);\r\n                return (\r\n                  <ListGroupItem key={index}>\r\n                    <Row form>\r\n                      <Col xs={6}>\r\n                        <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: colorPill }}>{item.cuenta.glosa}</span>\r\n                      </Col>\r\n                      <Col xs={4}>\r\n                        <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: colorPill }}>{item.cuenta.importe}</span>\r\n                      </Col>\r\n                      <Col xs={2} className=\"text-right\">\r\n                        <button className=\"btn-icon\" id={`toggler-${index}`}>\r\n                          <SvgAssets icon=\"icon-bottom\" fill={colorPill} />\r\n                        </button>\r\n                      </Col>\r\n                    </Row>\r\n                    <UncontrolledCollapse toggler={`#toggler-${index}`}>\r\n                      <ListGroup flush>\r\n                        <ListGroupItem>\r\n                          <Row form>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: colorPill }}>Doc.</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: colorPill }}>Número</span>\r\n                            </Col>\r\n                            <Col xs={3} className=\"text-right\">\r\n                              <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: colorPill }}>Día</span>\r\n                            </Col>\r\n                            <Col xs={3} className=\"text-right\">\r\n                              <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: colorPill }}>Importe S/</span>\r\n                            </Col>\r\n                          </Row>\r\n                        </ListGroupItem>\r\n                        {item.cuenta.item.map((item, index) => {\r\n                          return (\r\n                            <ListGroupItem>\r\n                              <Row form>\r\n                                <Col xs={3} md={3}>\r\n                                  <span className='paragraph-3' style={{ color: c.grisMedio }}>{item.docum}</span>\r\n                                </Col>\r\n                                <Col xs={4} md={3}>\r\n                                  <span className='paragraph-3' style={{ color: c.grisMedio }}>{item.xblnr}</span>\r\n                                </Col>\r\n                                <Col xs={2} md={3} className=\"text-right\">\r\n                                  <span className='paragraph-3' style={{ color: c.grisMedio }}>{item.dia}</span>\r\n                                </Col>\r\n                                <Col xs={3} className=\"text-right\">\r\n                                  <span className='paragraph-3' style={{ color: c.grisMedio }}>{(Number(item.impor)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</span>\r\n                                </Col>\r\n                              </Row>\r\n                            </ListGroupItem>\r\n                          )\r\n                        })\r\n                        }\r\n                        {/* <ListGroupItem>\r\n                          <Row form>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3 bold' style={{ color: c.rojoClaro }}>Documento</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3 bold' style={{ color: c.rojoClaro }}>Número</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3 bold' style={{ color: c.rojoClaro }}>F. Emisión</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3 bold' style={{ color: c.rojoClaro }}>Importe S/</span>\r\n                            </Col>\r\n                          </Row>\r\n                        </ListGroupItem>\r\n                        <ListGroupItem>\r\n                          <Row form>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3' style={{ color: c.grisMedio }}>Factura de Detracción</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3' style={{ color: c.grisMedio }}>3100028148</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3' style={{ color: c.grisMedio }}>21/08/2019</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3' style={{ color: c.grisMedio }}>1,200.08</span>\r\n                            </Col>\r\n                          </Row>\r\n                        </ListGroupItem>\r\n                        <ListGroupItem>\r\n                          <Row form>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3' style={{ color: c.grisMedio }}>Factura de Detracción</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3' style={{ color: c.grisMedio }}>3100028148</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3' style={{ color: c.grisMedio }}>21/08/2019</span>\r\n                            </Col>\r\n                            <Col xs={3}>\r\n                              <span className='paragraph-3' style={{ color: c.grisMedio }}>1,200.08</span>\r\n                            </Col>\r\n                          </Row>\r\n                        </ListGroupItem> */}\r\n                      </ListGroup>\r\n                    </UncontrolledCollapse>\r\n                  </ListGroupItem>\r\n                );\r\n              })}\r\n              {/* <ListGroupItem>\r\n                <Row form>\r\n                  <Col xs={6}>\r\n                    <span className='paragraph-3 bold' style={{ color: c.morado }}>Depósito pendiente de aplicar</span>\r\n                  </Col>\r\n                  <Col xs={4}>\r\n                    <span className='paragraph-3 bold' style={{ color: c.morado }}>S/ 19,720.07</span>\r\n                  </Col>\r\n                  <Col xs={2}>\r\n                    <button className=\"btn-icon\" id=\"toggler-2\">\r\n                      <SvgAssets icon=\"icon-bottom\" fill={c.morado} />\r\n                    </button>\r\n                  </Col>\r\n                </Row>\r\n                <UncontrolledCollapse toggler=\"#toggler-2\">\r\n                  <ListGroup flush>\r\n                    <ListGroupItem>\r\n                      <Row form>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 bold' style={{ color: c.morado }}>Doc. Depósito</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 bold' style={{ color: c.morado }}>Operación</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 bold' style={{ color: c.morado }}>F. Depósito</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 bold' style={{ color: c.morado }}>Importe S/</span>\r\n                        </Col>\r\n                      </Row>\r\n                    </ListGroupItem>\r\n                    <ListGroupItem>\r\n                      <Row form>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>2018-1300-1100016709</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>op.03015824</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>23/03/2018</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>5.22</span>\r\n                        </Col>\r\n                      </Row>\r\n                    </ListGroupItem>\r\n                    <ListGroupItem>\r\n                      <Row form>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>2018-1300-1100016709</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>op.03015824</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>23/03/2018</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>5.22</span>\r\n                        </Col>\r\n                      </Row>\r\n                    </ListGroupItem>\r\n                  </ListGroup>\r\n                </UncontrolledCollapse>\r\n              </ListGroupItem>\r\n              <ListGroupItem>\r\n                <Row form>\r\n                  <Col xs={6}>\r\n                    <span className='paragraph-3 bold' style={{ color: c.verdeClaro }}>Facturas de anticipo</span>\r\n                  </Col>\r\n                  <Col xs={4}>\r\n                    <span className='paragraph-3 bold' style={{ color: c.verdeClaro }}>S/ 19,720.07</span>\r\n                  </Col>\r\n                  <Col xs={2}>\r\n                    <button className=\"btn-icon\" id=\"toggler-3\">\r\n                      <SvgAssets icon=\"icon-bottom\" fill={c.verdeClaro} />\r\n                    </button>\r\n                  </Col>\r\n                </Row>\r\n                <UncontrolledCollapse toggler=\"#toggler-3\">\r\n                  <ListGroup flush>\r\n                    <ListGroupItem>\r\n                      <Row form>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 bold' style={{ color: c.verdeClaro }}>Documento</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 bold' style={{ color: c.verdeClaro }}>Número</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 bold' style={{ color: c.verdeClaro }}>F. Emisión</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3 bold' style={{ color: c.verdeClaro }}>Importe S/</span>\r\n                        </Col>\r\n                      </Row>\r\n                    </ListGroupItem>\r\n                    <ListGroupItem>\r\n                      <Row form>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>Factura de Detracción</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>3100028148</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>23/03/2018</span>\r\n                        </Col>\r\n                        <Col xs={3}>\r\n                          <span className='paragraph-3' style={{ color: c.grisMedio }}>1,200.08</span>\r\n                        </Col>\r\n                      </Row>\r\n                    </ListGroupItem>\r\n                  </ListGroup>\r\n                </UncontrolledCollapse>\r\n              </ListGroupItem> */}\r\n            </ListGroup>\r\n            <p className=\"total-price\">TOTAL: S/ {(Number(totalCuenta)).toLocaleString(\"en-US\", { minimumFractionDigits: 2 })}</p>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n  ToggleCollapse1 = (index) => {\r\n    this.state.estadoCuenta[index].collapse = !this.state.estadoCuenta[index].collapse\r\n    this.setState({ estadoCuenta: this.state.estadoCuenta })\r\n  }\r\n\r\n  downloadPDF = (periodo) => {\r\n    this.postPdfEstadoCuenta(\r\n      this.state.dealer.codcliente,\r\n      this.state.dealer.correoElectronico,\r\n      periodo,\r\n      this.state.linea.vkorg,\r\n      this.state.linea.vkorg\r\n    );\r\n  }\r\n\r\n  postPdfEstadoCuenta = async (CodigoDealer, CorreoElectronicoDealer, periodo, Bukrs, Vkorg) => {\r\n    this.setState({ loading: true });\r\n\r\n    PdfEstadoCuenta(CodigoDealer, CorreoElectronicoDealer, periodo.anio, Bukrs, Vkorg, periodo.id)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false });\r\n\r\n          if (result.dto.urlPdf == null || result.dto.urlPdf == \"\") {\r\n            notificacion(\"Estados cuenta Detalle\", \"No existe documento a descargar\" ?? null);\r\n          }\r\n          else {\r\n            window.open(result.dto.urlPdf, '_blank');\r\n            // Linking.openURL(result.dto.urlPdf).catch(err => console.log(\"Couldn't load page\", err));\r\n          }\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Estados cuenta Detalle\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  getColorForTab = (codigo, estado) => {\r\n\r\n    switch (codigo) {\r\n      case estado.DocumentoPendientePago:\r\n        return c.rojoClaro;\r\n      case estado.DepositoPendienteAplicar:\r\n        return c.morado;\r\n      case estado.FacturaAnticipo:\r\n        return c.verde;\r\n      default:\r\n        return c.rojoClaro;\r\n    }\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { UncontrolledCollapse, Input, Badge, Container, ListGroup, ListGroupItem, Row, Col } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { BuscarMetaBonificacion, BuscarMaterialPromo } from '../../store/sagas/bonificacionApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { data } from '../../constants/Constants';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nexport class Bonificaciones extends Component {\r\n  static displayName = Bonificaciones.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      pillActive: 0,\r\n      loading: true,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      metasBonificaciones: [],\r\n      dataTab: {},\r\n      detalle: [],\r\n      anioActual: new Date().getFullYear(),\r\n      mesActual: new Date().getMonth() + 1\r\n    };\r\n  }\r\n  checkParams() {\r\n\r\n  }\r\n  load = async () => {\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ loading: true, dealer: data.dealer, linea: data.linea, asociado: data.asociado }, () => {\r\n      this.postBuscarMetaBonificacion(data.dealer, data.linea);\r\n    })\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.load();\r\n    this.checkParams();\r\n\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  postBuscarMetaBonificacion = async (dealer, linea) => {\r\n\r\n    BuscarMetaBonificacion(dealer.codcliente,\r\n      dealer.correoElectronico, this.state.anioActual, this.state.mesActual, linea.vkorg)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            dataTab: (result.dto.metasBonificaciones.length > 0) ? result.dto.metasBonificaciones[0] : [],\r\n            detalle: (result.dto.metasBonificaciones.length > 0) ? result.dto.metasBonificaciones[0].detalle : [],\r\n            metasBonificaciones: result.dto.metasBonificaciones\r\n            //titulo: result.dto.sistemaRepuestos[0].sistema,\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Metas y Bonificaciones\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  render() {\r\n    const { pillActive, loading, metasBonificaciones, dataTab, detalle } = this.state;\r\n\r\n    return (\r\n      <div>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Metas y Bonificaciones</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard' className=\"active\">Dashboard</Link></li>\r\n              <li>Metas y Bonificaciones</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile px-5\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            Metas y Bonificaciones\r\n          </h6>\r\n          <div className=\"tab-pills\">\r\n            {metasBonificaciones.map((data, index) => {\r\n              return (\r\n                <button\r\n                  key={index}\r\n                  className={`pill${(pillActive == index) ? \" active\" : \"\"}`}\r\n                  type=\"button\"\r\n                  disabled={metasBonificaciones.length == 1}\r\n                  onClick={() => this.switchPill(index)}\r\n                >\r\n                  Repuestos {data.linea}\r\n                </button>\r\n              )\r\n            })}\r\n          </div>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <div className=\"estado-cuenta-date\">\r\n              <div className=\"content-left\">\r\n                <h5 className='paragraph-1 bold'>{dataTab.tituloMeta}</h5>\r\n                <h1 className='title-2 bold mt-2' style={{ color: c.verdeClaro }}>{dataTab.sMontoM}</h1>\r\n              </div>\r\n              <div className=\"content-right\">\r\n                <span className='paragraph-2 light' style={{ color: c.azulClaro }}>{dataTab.sMontoR}</span>\r\n                <span className='paragraph-2 light' style={{ color: c.azulClaro }}>{dataTab.sPorCum}</span>\r\n                <button className=\"btn-icon rounded\"\r\n                  type=\"button\"\r\n                  onClick={() => this.setGraficoBarras(dataTab, detalle)}\r\n                >\r\n                  <SvgAssets icon=\"icon-chart\" fill={c.naranja} />\r\n                </button>\r\n              </div>\r\n            </div>\r\n            <ListGroup flush className=\"container_840\">\r\n              <ListGroupItem>\r\n                <Row form>\r\n                  <Col xs={2}></Col>\r\n                  <Col xs={3}>\r\n                    <span className='paragraph-3' style={{ color: c.grisMedio }}>Meta</span>\r\n                  </Col>\r\n                  <Col xs={3}>\r\n                    <span className='paragraph-3' style={{ color: c.grisMedio }}>Obtenidas</span>\r\n                  </Col>\r\n                  <Col xs={2}>\r\n                    <span className='paragraph-3' style={{ color: c.grisMedio }}>% de Cump.</span>\r\n                  </Col>\r\n                  <Col xs={1}></Col>\r\n                  <Col xs={1}></Col>\r\n                </Row>\r\n              </ListGroupItem>\r\n              {detalle.map((data, i) => {\r\n                return (\r\n                  <ListGroupItem key={i + 1}>\r\n                    <Row form>\r\n                      <Col xs={2} md={2}>\r\n                        <span className='paragraph-3 desktop_parrafo2 bold' style={{ color: c.azulClaro }}>{data.nomMes}.</span>\r\n                      </Col>\r\n                      <Col xs={3} md={3}>\r\n                        <span className='paragraph-3 desktop_parrafo2 light' style={{ color: c.azulClaro }}>{data.sMontoM}</span>\r\n                      </Col>\r\n                      <Col xs={3} md={3}>\r\n                        <span className='paragraph-3 desktop_parrafo2 light' style={{ color: c.azulClaro }}>{data.sMontoR}</span>\r\n                      </Col>\r\n                      <Col xs={2} md={2}>\r\n                        <span className='paragraph-3 bold desktop_parrafo2' style={{ color: c.azulClaro }}>{data.sPorCum}</span>\r\n                      </Col>\r\n                      <Col xs={1} md={1}>\r\n                        <span className=\"badge\" style={{ backgroundColor: (data.porCum >= 100) ? c.verdeClaro : c.rojoClaro }} />\r\n                      </Col>\r\n                      <Col xs={1} md={1}>\r\n                        {/* {\r\n                          (data.porCum >= 100) ?\r\n                            <button className=\"btn-icon\"\r\n                              type=\"button\"\r\n                              onClick={() => this.setBonificacion(data, dataTab)}\r\n                            >\r\n                              <SvgAssets icon=\"icon-right\" fill={c.verdeClaro} />\r\n                            </button>\r\n                            : null\r\n                        } */}\r\n                        <button className=\"btn-icon\"\r\n                          type=\"button\"\r\n                          onClick={() => this.setBonificacion(data, dataTab)}\r\n                        >\r\n                          <SvgAssets icon=\"icon-right\" fill={c[(data.porCum >= 100) ? \"verde\" : \"rojo\"]} />\r\n                        </button>\r\n                      </Col>\r\n                    </Row>\r\n                  </ListGroupItem>\r\n                )\r\n              })}\r\n            </ListGroup>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  switchPill = (index) => {\r\n    this.setState({ loading: true });\r\n    let _metasBonificaciones = this.state.metasBonificaciones;\r\n\r\n    this.setState({ pillActive: index, dataTab: _metasBonificaciones[index], detalle: _metasBonificaciones[index].detalle, loading: false })\r\n\r\n    // if (this.state.pillActive == 0) {\r\n    //   this.setState({ pillActive: 1, dataTab: _metasBonificaciones[1], detalle: _metasBonificaciones[1].detalle, loading: false })\r\n    // } else {\r\n    //   this.setState({ pillActive: 0, dataTab: _metasBonificaciones[0], detalle: _metasBonificaciones[0].detalle, loading: false })\r\n    // }\r\n\r\n  }\r\n  setBonificacion(item, dataTab) {\r\n    this.setState({ loading: true });\r\n    BuscarMaterialPromo(this.state.dealer.codcliente, this.state.dealer.correoElectronico, this.state.anioActual,\r\n      this.state.mesActual, this.state.linea.vkorg, item.linea)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false });\r\n          this.props.history.push({\r\n            pathname: 'Bonificacion',\r\n            state: {\r\n              materialPromo: result.dto.materialPromo,\r\n              detalle: item, dataTab: dataTab\r\n            }\r\n          });\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Metas y Bonificaciones\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  setGraficoBarras(dataTab, detalle) {\r\n    this.props.history.push({\r\n      pathname: '/bonificacion-grafico',\r\n      state: {\r\n        detalle: detalle, dataTab: dataTab\r\n      }\r\n    })\r\n    // this.props.navigation.navigate('BonificacionGrafico', { detalle: detalle, dataTab: dataTab });\r\n\r\n  }\r\n}\r\n","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\nexport function BuscarMetaBonificacion(CodigoDealer, CorreoElectronicoDealer, Gjahr, Monat, Vkorg) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarMetaBonificacion\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Gjahr': Gjahr,\r\n        'dto.Monat': Monat,\r\n        'dto.VKorg': Vkorg,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    console.log(\"params.data====>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function BuscarMaterialPromo(CodigoDealer, CorreoElectronicoDealer, Gjahr, Monat, Vkorg, Linea) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/BuscarMaterialPromo\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronicoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Gjahr': Gjahr,\r\n        'dto.Monat': Monat,\r\n        'dto.VKorg': Vkorg,\r\n        'dto.Linea': Linea,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}","import React, { Component } from 'react';\r\nimport { UncontrolledCollapse, Input, Badge, Container, ListGroup, ListGroupItem, Row, Col } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport product from '../../assets/img/product.png';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport ModalImageZoom from '../reusable/modals/ImageZoom';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\n\r\nexport class Bonificacion extends Component {\r\n  static displayName = Bonificacion.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      materialPromo: [],\r\n      materialPromoI: [],\r\n      materialPromoD: [],\r\n      detalle: {},\r\n      dataTab: {}\r\n    };\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n    if (state) {\r\n      console.log(\"materialPromo====>\", state.materialPromo);\r\n      if (state.materialPromo.length > 0) {\r\n        var tipo = (state.materialPromo.length % 2 == 0) ? \"Par\" : \"Impar\";\r\n        if (tipo == \"Impar\") {\r\n          state.materialPromo.push({\r\n            \"canti\": 0,\r\n            \"gjahr\": \"\",\r\n            \"glosa\": \"\",\r\n            \"kunnr\": \"\",\r\n            \"linea\": \"\",\r\n            \"meins\": \"\",\r\n            \"monat\": \"\",\r\n            \"pathI\": \"\",\r\n            \"vkorg\": \"\",\r\n          });\r\n        }\r\n      }\r\n      let medio = state.materialPromo.length / 2\r\n      let i = 1\r\n      let materialPromoI = []\r\n      let materialPromoD = []\r\n      // params.materialPromo.map((item, index) => {\r\n      for (var index = 0; index <= state.materialPromo.length - 1; index++) {\r\n        // console.log(\"Index===>\",i, medio);\r\n        if (i <= medio)\r\n          materialPromoI.push(state.materialPromo[index]);\r\n        else\r\n          materialPromoD.push(state.materialPromo[index]);\r\n\r\n        i = i + 1\r\n      }\r\n      this.setState({\r\n        materialPromo: state.materialPromo,\r\n        materialPromoI: materialPromoI,\r\n        materialPromoD: materialPromoD,\r\n        detalle: state.detalle,\r\n        dataTab: state.dataTab,\r\n        loading: false\r\n      });\r\n    }\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  toggleModalZoom = (img) => {\r\n    this.setState(prevState => ({\r\n      modalZoom: !prevState.modalZoom,\r\n      imgZoom: img\r\n    }));\r\n  }\r\n\r\n  render() {\r\n    const { loading, materialPromo, materialPromoI, materialPromoD, dataTab, detalle } = this.state;\r\n    const auth = this.context;\r\n    console.log(\"materialPromoI===>\", materialPromoI);\r\n    console.log(\"materialPromoD===>\", materialPromoD);\r\n    return (\r\n      <div>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Metas y Bonificaciones</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/bonificaciones'>Metas y Bonificaciones</Link></li>\r\n              <li>Detalle</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile px-5\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            Metas y Bonificaciones\r\n          </h6>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <div className=\"estado-cuenta-date\">\r\n              <div className=\"content-left\">\r\n                <h5 className='paragraph-1 bold'>{dataTab.tituloMeta}</h5>\r\n                <h1 className='title-2 mt-2 bold' style={{ color: c.verdeClaro }}>{detalle.sMontoM}</h1>\r\n              </div>\r\n              <div className=\"content-right\">\r\n                <span className='paragraph-2 light' style={{ color: c.azulClaro }}>{detalle.sMontoR}</span>\r\n                <span className='paragraph-2' style={{ color: c.verdeClaro }}>{detalle.sPorCum}</span>\r\n              </div>\r\n            </div>\r\n            <hr class=\"desktop mb-5\" style={{ borderColor: '#E2E2E2' }} />\r\n            <div style={{ maxWidth: 600, margin: 'auto', width: '100%' }}>\r\n              <h6 className='paragraph-1 bold'>Hola {auth.userRazonSocial},</h6>\r\n              <p className='paragraph-2'>{dataTab.mensaje}</p>\r\n              {materialPromoI.map((item, index) => {\r\n                return (\r\n                  <div className=\"bonificacion_container\" key={index}>\r\n                    <SvgAssets icon=\"curve-top\" className='curve-out' fill={c.rojoClaro} />\r\n\r\n                    <div className=\"card_bonificacion\">\r\n                      <img src={item.pathI} style={{ cursor: 'pointer' }} onClick={() => this.toggleModalZoom(item.pathI)} />\r\n                      {/* <h6 className='paragraph-2 bold'>25% de DSCTO.</h6> */}\r\n                      <h6 className=\"bold\">{item.glosa}</h6>\r\n                      <span><strong>{(item.glosa == \"\" || item.glosa == null) ? \"\" : item.canti}</strong> {item.meins}</span>\r\n                    </div>\r\n                    {(materialPromoD[index].glosa == \"\" || materialPromoD[index].glosa == null) ? null :\r\n                      <div className=\"card_bonificacion\">\r\n                        <img src={materialPromoD[index].pathI} style={{ cursor: 'pointer' }} onClick={() => this.toggleModalZoom(materialPromoD[index].pathI)} />\r\n                        {/* <h6 className='paragraph-2 bold'>25% de DSCTO.</h6> */}\r\n                        {/* <span>en repuestos de llantas</span> */}\r\n                        <h6 className=\"bold\">{materialPromoD[index].glosa}</h6>\r\n                        <span><strong>{(materialPromoD[index].glosa == \"\") ? \"\" : materialPromoD[index].canti}</strong> {materialPromoD[index].meins}</span>\r\n                      </div>}\r\n                  </div>\r\n                )\r\n              })}\r\n\r\n            </div>\r\n          </div>\r\n        </Container>\r\n        <ModalImageZoom dadComponent={this} />\r\n      </div>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { UncontrolledCollapse, Input, Badge, Container, ListGroup, ListGroupItem, Row, Col } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport product from '../../assets/img/product.png';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport { Bar, HorizontalBar } from 'react-chartjs-2';\r\nimport { Bubble } from 'react-chartjs-2';\r\nimport c from '../../constants/Colors';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport faker from 'faker';\r\n\r\n\r\nexport class BonificacionGrafico extends Component {\r\n  static displayName = BonificacionGrafico.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      loading: true,\r\n      dataTab: {},\r\n      detalle: [],\r\n      dataChart: {}\r\n    };\r\n  }\r\n\r\n  reverseArray(array) {\r\n    const arrayInverso = [];\r\n\r\n    for (let i = array.length - 1; i >= 0; i--) {\r\n      arrayInverso.push(array[i]);\r\n    }\r\n\r\n    return arrayInverso;\r\n  }\r\n\r\n  checkParams() {\r\n    const { state } = this.props.location;\r\n\r\n    const labels_char = [];\r\n    const data_char = [];\r\n    const data_char_montoM = [];\r\n    console.log(\"params.detalle==> 2\", state.detalle);\r\n\r\n    state.detalle.sort(function (a, b) {\r\n      if (a.monat > b.monat) {\r\n        return 1;\r\n      }\r\n      if (a.monat < b.monat) {\r\n        return -1;\r\n      }\r\n      return 0;\r\n    });\r\n\r\n\r\n    state.detalle.map((item, index) => {\r\n      labels_char.push(item.nomMes);\r\n      data_char.push(item.montoR);\r\n      data_char_montoM.push(item.montoM);\r\n    });\r\n\r\n    const CHAR_DATA = {\r\n      labels: labels_char,\r\n      datasets: [\r\n        {\r\n          type: \"line\",\r\n          label: 'Monto Meta',\r\n          backgroundColor: 'hsla(0, 0%, 0%, 0)',\r\n          borderColor: '#003591',\r\n          borderWidth: 1,\r\n          hoverBackgroundColor: '#003591',\r\n          hoverBorderColor: '#003591',\r\n          data: (data_char_montoM),\r\n          tension: 0,\r\n        },\r\n        {\r\n          type: \"bar\",\r\n          label: 'Monto Real',\r\n          backgroundColor: c.verdeClaro,\r\n          borderColor: c.verdeClaro,\r\n          borderWidth: 1,\r\n          hoverBackgroundColor: c.verdeClaro,\r\n          hoverBorderColor: c.verdeClaro,\r\n          data: data_char\r\n        }\r\n      ]\r\n    };\r\n\r\n    this.setState({ dataTab: state.dataTab, detalle: state.detalle, dataChart: CHAR_DATA, loading: false });\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    this.checkParams();\r\n  }\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (prevProps.location.state !== this.props.location.state) {\r\n      this.checkParams();\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { loading, dataChart, dataTab, detalle } = this.state;\r\n    // const dataBar = {\r\n    //   labels: ['Ene', 'Feb', 'Set', 'Oct', 'Nov'],\r\n    //   datasets: [\r\n    //     {\r\n    //       type: \"bar\",\r\n    //       label: 'My First dataset',\r\n    //       backgroundColor: '#EC932F',\r\n    //       borderColor: 'rgba(255,99,132,1)',\r\n    //       borderWidth: 1,\r\n    //       hoverBackgroundColor: 'rgba(255,99,132,0.4)',\r\n    //       hoverBorderColor: 'rgba(255,99,132,1)',\r\n    //       data: [8.83, -304.21, 6421.23, 8000, 0]\r\n    //     },\r\n    //     {\r\n    //       type: \"line\",\r\n    //       label: 'My First dataset 2',\r\n    //       backgroundColor: 'hsla(0, 0%, 0%, 0)',\r\n    //       borderColor: 'rgba(255,99,132,1)',\r\n    //       borderWidth: 1,\r\n    //       hoverBackgroundColor: 'rgba(255,99,132,0.4)',\r\n    //       hoverBorderColor: 'rgba(255,99,132,1)',\r\n    //       data: [102000, 102000, 5000, 7000, 10000],\r\n    //       fill: true\r\n    //     }\r\n    //   ]\r\n    // };\r\n    // debugger;\r\n\r\n\r\n\r\n    return (\r\n      <div>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Metas y Bonificaciones</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li><Link to='/bonificaciones'>Metas y Bonificaciones</Link></li>\r\n              <li>Detalle</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile px-5\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            Metas y Bonificaciones\r\n          </h6>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <div className=\"estado-cuenta-date\">\r\n              <div className=\"content-left\">\r\n                <h5 className='paragraph-1 bold'>{dataTab.tituloMeta}</h5>\r\n                <h1 className='title-2 bold mt-2' style={{ color: c.verdeClaro }}>{dataTab.sMontoM}</h1>\r\n              </div>\r\n              <div className=\"content-right\">\r\n                <span className='paragraph-2 light' style={{ color: c.azulClaro }}>{dataTab.sMontoR}</span>\r\n                <span className='paragraph-2 light' style={{ color: c.verdeClaro }}>{dataTab.sPorCum}</span>\r\n              </div>\r\n            </div>\r\n            <h6 className='paragraph-1 bold mb-5'>Gráfico de Barras</h6>\r\n            <div className=\"container_680 card_desktop\">\r\n              {(detalle.length > 0) ?\r\n                <>\r\n                  <Bar\r\n                    data={dataChart}\r\n                    type=\"bar\"\r\n                    width={100}\r\n                    height={60}\r\n                  />\r\n\r\n                  {/* <Bar\r\n                    data={dataBar}\r\n                    // data={dataChart}\r\n                    type=\"bar\"\r\n                    width={100}\r\n                    height={60}\r\n                  /> */}\r\n\r\n                </>\r\n\r\n\r\n\r\n                : null}\r\n            </div>\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n}\r\n","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\nexport function getCatalogo(TipoCatalogo,PerfilCodigo='') {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = `catalogo/ListarCatalogo?TipoCatalogo=${TipoCatalogo}&PerfilCodigo=${PerfilCodigo}`;\r\n    return ServiceManager.prototype.Get(params);\r\n}\r\nexport function setReclamo(CodigoDealer, CorreoElectronico, Alias, LocalId) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ActualizaLocal\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.Alias': Alias,\r\n        'dto.LocalId': LocalId,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function setIncidente(CodigoDealer, CorreoElectronico, Comentario, IncidenteId) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"catalogo/GrabarIncidente\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.Comentacio': Comentario,\r\n        'dto.IncidenteId': IncidenteId,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\nexport function setRequerimiento(CodigoDealer, CorreoElectronico, Reclamo) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"catalogo/GrabarRequerimiento\";\r\n    params.data = {\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.Reclamo': Reclamo,\r\n        'dto.Sistema': data.Sistema\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}","import React, { Component } from 'react';\r\nimport { UncontrolledTooltip, Collapse, Input, Badge, Container, ListGroup, ListGroupItem, Row, Col } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport product from '../../assets/img/product.png';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { getCatalogo } from '../../store/sagas/catalogoApi';\r\nimport { data } from '../../constants/Constants';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nconst Card = ({ item, index, dadComponent }) => {\r\n  const { collapseIndex } = dadComponent.state;\r\n  return (\r\n    <div className=\"card_pregunta\">\r\n        <div className=\"header-collapse\" onClick={() => dadComponent.ToggleCollapse(index)}>\r\n          <h6 className=\"bold\">{item.descripcion}</h6>\r\n          <div className=\"arrow-collapse\" style={{ background: '#FF9446' }}>\r\n            <SvgAssets icon={index === collapseIndex ? \"icon-top\" : \"icon-bottom\"} fill=\"#fff\" />\r\n          </div>\r\n        </div>\r\n        <Collapse isOpen={collapseIndex === index} >\r\n          <div className=\"body-collapse\">\r\n            <p>{item.respuesta}</p>\r\n          </div>\r\n        </Collapse>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class PreguntasFrecuentes extends Component {\r\n  static displayName = PreguntasFrecuentes.name;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      collapseIndex: null,\r\n      loading: true,\r\n      email: null,\r\n      telefono: null,\r\n      preguntas: []\r\n    };\r\n  }\r\n\r\n\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n\r\n    this.getPreguntas(data.PreguntasFrecuentes,data.PerfilLinea.Repuestos);\r\n  }\r\n\r\n  render() {\r\n    const { collapseIndex, preguntas, loading, email, telefono } = this.state;\r\n    return (\r\n      <div>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Preguntas frecuentes</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Ayuda</li>\r\n              <li>Preguntas frecuentes</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\">\r\n            <a onClick={() => this.props.history.goBack()} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a>\r\n            Preguntas Frecuentes</h6>\r\n          <div className=\"card\">\r\n            <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n            <p className='paragraph-2 light'>También puedes absolver tus dudas contactando a tu representante de venta </p>\r\n            {/* <p className='paragraph-2 light'>Correo Electrónico: <span className=\"light\" style={{ color: c.azulClaro }}>atencioncomercial_3r@crosland.com.pe</span></p> */}\r\n            <hr />\r\n            <br className=\"desktop\" />\r\n            {preguntas.map((item, i) => {\r\n              return (\r\n                <Card key={i} item={item} index={i} dadComponent={this}/>\r\n              )\r\n            })}\r\n            {/* <button className='btn-icon rounded btn_llamar'\r\n            type=\"button\"\r\n            onClick={() => this.dialCall()}\r\n            > */}\r\n            {this.state.telefono != null ? \r\n            <a id=\"tooltip_number\" className='btn-icon rounded btn_llamar' href={`tel:${this.state.telefono}`}>\r\n              <SvgAssets icon=\"icon-phone-2\" fill={'#fff'} />\r\n              <UncontrolledTooltip placement=\"top\" target=\"tooltip_number\">\r\n                <span>{this.state.telefono}</span>\r\n              </UncontrolledTooltip>\r\n            </a> : null}\r\n            {/* </button> */}\r\n          </div>\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n  ToggleCollapse = (index) => {\r\n    this.setState({ collapseIndex: index === this.state.collapseIndex ? null : index })\r\n  }\r\n\r\n  // dialCall = () => {\r\n  //   let phoneNumber = '';\r\n  //   phoneNumber = `tel:${this.state.telefono}`;\r\n  //   window.open(phoneNumber, \"_blank\");\r\n  // };\r\n\r\n  getPreguntas = (PreguntasFrecuentes,PerfilCodigo) => {\r\n    getCatalogo(PreguntasFrecuentes,PerfilCodigo)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            preguntas: result.listDto,\r\n            email: result.correoAtencionCliente,\r\n            telefono: result.telefonoAtencionCliente\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Preguntas\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\nimport { getCatalogo, setIncidente } from '../../store/sagas/catalogoApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nfunction Step1({ dadComponent }) {\r\n  const { } = dadComponent.state;\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n        <div className=\"m-auto\" style={{maxWidth:600}}>\r\n          <p className=\"paragraph-2 light\">Para asegurarte de estar en la opción correcta, te brindamos ejemplos de algunos escenarios que puedes registrar aquí:</p>\r\n          <ul className=\"list-incidente card_desktop\">\r\n            <li>¿Te hemos facturado un cobro del que no estás de acuerdo?</li>\r\n            <li>¿Tu Pedido nunca te llegó?</li>\r\n            <li>¿Tu Pedido llegó en mal estado?</li>\r\n          </ul>\r\n          <div className=\"text-center mt-5 mobile\">\r\n            <button className='btn-block red' onClick={() => dadComponent.nextStep()}>Reportar tu<br />indicente aquí</button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <button className='btn-block red' style={{maxWidth: 300}} onClick={() => dadComponent.nextStep()}>Reportar tu indicente aquí</button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Step2({ dadComponent }) {\r\n  let { email } = dadComponent.state;\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n        <div className=\"m-auto\" style={{maxWidth:750}}>\r\n          <p className=\"paragraph-2 light\">Estamos para ayudarte, cuéntanos tu inconveniente y te ayudaremos a resolverlo.</p>\r\n          <p className=\"paragraph-2 light\">Para completar tu incidente, ingresar el Email que usas para ingresar al app de Crosland.</p>\r\n          <form style={{maxWidth:280}} className=\"mx-auto\">\r\n            <FormGroup className=\"mt-5\">\r\n              <Input className=\"azul\" type='text' value={email} disabled={true} />\r\n            </FormGroup>\r\n          </form>\r\n          <div className=\"text-center mt-5 mobile\">\r\n            <button className={`btn-block red${(email==\"\" || email==null ? \" disabled\" : \"\")}`}  disabled={email==\"\" || email==null} onClick={() => { dadComponent.nextStep() }}>siguiente</button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <button className={`btn-block red${(email==\"\" || email==null ? \" disabled\" : \"\")}`}  disabled={email==\"\" || email==null} onClick={() => { dadComponent.nextStep() }}>siguiente</button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Step3({ dadComponent }) {\r\n  let { incidentes, text, id, errorValidacopn } = dadComponent.state;\r\n\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n        <div className=\"m-auto\" style={{maxWidth:440}}>\r\n          <p className=\"paragraph-2 light\">Por favor seleccione el Incidente.</p>\r\n          <ul className=\"select-incidente\">\r\n            {incidentes.map((item, index) => {\r\n              return (\r\n                <li key={index}>\r\n                  <div className=\"custom-control custom-radio custom-control-inline\">\r\n                    <input\r\n                      type=\"radio\"\r\n                      id={`radio${index}`}\r\n                      name=\"incidente\"\r\n                      className=\"custom-control-input\"\r\n                      checked={item.id == id}\r\n                      onChange={() => dadComponent.setIncidente(item)} />\r\n                    <label className=\"custom-control-label\" htmlFor={`radio${index}`}>{item.descripcion}</label>\r\n                  </div>\r\n                </li>\r\n              )\r\n            })}\r\n          </ul>\r\n          <FormGroup className=\"mt-5\">\r\n            <Input type='textarea' rows=\"4\" placeholder=\"Otros\" value={text} onChange={(e) => {let text = e.currentTarget.value;dadComponent.setText(text);}} />\r\n          </FormGroup>\r\n          <div className=\"text-center mt-5 mobile\">\r\n            <button style={{backgroundColor:c.verde}} className={`btn-block ${(id==0 || text==\"\" || text==null ? \" disabled\" : \"\")}`} onClick={() => dadComponent.RegistrarIncidente()} disabled={id==0 || text==\"\" || text==null}>Enviar</button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <button style={{backgroundColor:c.verde}} className={`btn-block ${(id==0 || text==\"\" || text==null ? \" disabled\" : \"\")}`} onClick={() => dadComponent.RegistrarIncidente()} disabled={id==0 || text==\"\" || text==null}>Enviar</button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Step4({ dadComponent, auth }) {\r\n  const { } = dadComponent.state;\r\n  \r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n          <div className=\"empty\" style={{maxWidth:560}}>\r\n            <SvgAssets icon=\"icon-like\" fill={c.celeste} />\r\n            <h6 className=\"paragraph-1 mb-2\" style={{ color: c.azulClaro }}>MUCHAS GRACIAS</h6>\r\n            <p className=\"paragraph-2 text-center\">Hola {auth.userRazonSocial}, muchas gracias por registrar tu incidente, en un máximo de 72 horas nos comunicaremos contigo.</p>\r\n            <div className=\"text-center mt-5 mobile\">\r\n              <Link to=\"/dashboard\">\r\n              <button className='btn-block' style={{ backgroundColor: c.azulClaro }}>ENTENDIDO</button>\r\n              </Link>\r\n            </div>\r\n          </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\" style={{ justifyContent: 'center' }}>\r\n        <Link to=\"/dashboard\">\r\n          <button className='btn-block' style={{ backgroundColor: c.azulClaro }}>ENTENDIDO</button>\r\n        </Link>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class Incidente extends Component {\r\n  static displayName = Incidente.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      step: 0,\r\n      loading: true,\r\n      incidentes: [],\r\n      id: 0,\r\n      text: \"\",\r\n      errorValidacopn: null,\r\n      email: null\r\n    };\r\n    // this.nextStep = this.nextStep.bind(this);\r\n    this.backStep = this.backStep.bind(this);\r\n  }\r\n  \r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    let result = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ email: result.dealer.correoElectronico }, () => {\r\n      this.getIncidentes(data.Incidentes);\r\n    });\r\n  }\r\n\r\n  nextStep() {\r\n    this.setState({ step: this.state.step + 1 })\r\n  }\r\n  \r\n  backStep() {\r\n    this.setState({ step: this.state.step - 1 })\r\n  }\r\n\r\n  renderStep() {\r\n    const auth = this.context;\r\n    switch (this.state.step) {\r\n      case 0:\r\n        return <Step1 dadComponent={this} />\r\n        case 1:\r\n          return <Step2 dadComponent={this} />\r\n          case 2:\r\n        return <Step3 dadComponent={this} />\r\n      case 3:\r\n        return <Step4 dadComponent={this} auth={auth} />\r\n        default:\r\n        return <Step1 dadComponent={this} />\r\n      }\r\n    }\r\n    \r\n    render() {\r\n      const { loading, step } = this.state;\r\n    return (\r\n      <div>\r\n        <div className=\"title_banner\">\r\n            <Container>\r\n              <h1>Incidente</h1>\r\n            </Container>\r\n            <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n          </div>\r\n          <div className=\"breadcrumb\">\r\n            <Container>\r\n              <ul>\r\n                <li><Link to='/dashboard'>Dashboard</Link></li>\r\n                <li>Ayuda</li>\r\n                <li>Incidente</li>\r\n              </ul>\r\n            </Container>\r\n          </div>\r\n        <Container className=\"py-5\">\r\n          <Spinner visible={loading} />\r\n          <h6 className=\"title white mobile\">\r\n            {step != 3?\r\n              <a onClick={this.backStep} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a> : null\r\n            }\r\n            INCIDENTE\r\n          </h6>\r\n          {this.renderStep()}\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  setIncidente = (item) => {\r\n    this.setState({ id: item.id, errorValidacopn: \"\" })\r\n  }\r\n\r\n  setText = (value) => {\r\n    this.setState({ text: value, errorValidacopn: \"\" })\r\n  }\r\n\r\n  RegistrarIncidente = () => {\r\n    if (this.state.id == 0)\r\n      this.setState({ errorValidacopn: \"Debe seleccionar el incidente\" })\r\n    else if (this.state.text == null || this.state.text == \"\")\r\n      this.setState({ errorValidacopn: \"Debe ingresar el incidente\" })\r\n    else {\r\n      this.setState({ errorValidacopn: \"\" })\r\n      let storageGeneral = localStorageCustom.prototype.getUsuario();\r\n      this.postIncidentes(storageGeneral.dealer.codcliente, storageGeneral.dealer.correoElectronico,\r\n        this.state.text, this.state.id\r\n      )\r\n    }\r\n\r\n  }\r\n\r\n  getIncidentes = (Incidentes) => {\r\n    getCatalogo(Incidentes,data.PerfilLinea.Repuestos)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ loading: false, incidentes: result.listDto })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Incidentes\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n  postIncidentes = (CodigoDealer, CorreoElectronico, Comentario, IncidenteId) => {\r\n    this.setState({\r\n      loading: true,\r\n      data: { id: 0, text: null, errorValidacopn: null }\r\n    })\r\n    setIncidente(CodigoDealer, CorreoElectronico, Comentario, IncidenteId)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            id: 0, text: null, errorValidacopn: null\r\n          })\r\n\r\n          this.nextStep();\r\n          // this.props.navigation.navigate('AyudaGracias');\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Incidentes\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { setRequerimiento } from '../../store/sagas/catalogoApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\nimport Spinner from \"../reusable/Loader\";\r\n\r\nfunction Step1({ dadComponent }) {\r\n  let { email } = dadComponent.state;\r\n\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n        <p className=\"paragraph-2 light\">Para completar tu requerimiento, ingresar el Email que usas para ingresar al app de Crosland.</p>\r\n        <FormGroup className=\"mt-5 mx-auto\" style={{maxWidth:280}}>\r\n          <Input className=\"azul\" type='text' value={email} disabled={true} />\r\n        </FormGroup>\r\n        <div className=\"text-center mt-5 mobile\">\r\n          <button type=\"button\" className='btn-block red' onClick={() => { dadComponent.nextStep() }}>siguiente</button>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <button type=\"button\" className='btn-block red' onClick={() => { dadComponent.nextStep() }}>siguiente</button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Step2({ dadComponent }) {\r\n  let { text, errorValidacopn } = dadComponent.state;\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n        <p className=\"paragraph-2 light\">Por favor ingrese el requerimiento.</p>\r\n        <FormGroup className=\"mt-5 mx-auto w-100\" style={{maxWidth:440}}>\r\n          <Input type='textarea' placeholder=\"Requerimiento\" rows='5' value={text} onChange={(e) => { let text = e.currentTarget.value; dadComponent.setText(text); }} />\r\n        </FormGroup>\r\n        <div className=\"text-center mt-5 mobile\">\r\n          <button type=\"button\" disabled={text == '' || text == null} className='btn-block' style={{ backgroundColor: c.verdeClaro }} onClick={() => dadComponent.RegistrarRequerimiento()}>ENVIAR</button>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n              <button type=\"button\" disabled={text == '' || text == null} className='btn-block' style={{ backgroundColor: c.verdeClaro }} onClick={() => dadComponent.RegistrarRequerimiento()}>ENVIAR</button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Step3({ dadComponent, auth }) {\r\n  const { } = dadComponent.state;\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <div className=\"empty\" style={{maxWidth:560}}>\r\n          <SvgAssets icon=\"icon-like\" fill={c.celeste} />\r\n          <h6 className=\"paragraph-1 mb-2\" style={{ color: c.azulClaro }}>MUCHAS GRACIAS</h6>\r\n          <p className=\"paragraph-2 text-center\">Hola {auth.userRazonSocial}, muchas gracias por registrar tu requerimiento, en un máximo de 72 horas nos comunicaremos contigo.</p>\r\n          <div className=\"text-center mt-5 mobile\">\r\n            <Link to=\"/dashboard\">\r\n              <button className='btn-block' style={{ backgroundColor: c.azulClaro }}>ENTENDIDO</button>\r\n            </Link>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\" style={{ justifyContent: 'center' }}>\r\n        <Link to=\"/dashboard\">\r\n          <button className='btn-block' style={{ backgroundColor: c.azulClaro }}>ENTENDIDO</button>\r\n        </Link>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class Requerimientos extends Component {\r\n  static displayName = Requerimientos.name;\r\n  static contextType = AuthContext;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      step: 0,\r\n      loading: true,\r\n      text: \"\", errorValidacopn: null, email: \"\"\r\n    };\r\n    this.backStep = this.backStep.bind(this);\r\n  }\r\n  setText = (value) => {\r\n    this.setState({ text: value, errorValidacopn: \"\" })\r\n  }\r\n  RegistrarRequerimiento = () => {\r\n    if (this.state.text == null || this.state.text == \"\")\r\n      this.setState({ errorValidacopn: \"Debe ingresar el requerimiento\" })\r\n    else {\r\n      this.setState({ errorValidacopn: \"\" })\r\n      let storageGeneral = localStorageCustom.prototype.getUsuario();\r\n      this.postRequerimiento(storageGeneral.dealer.codcliente, storageGeneral.dealer.correoElectronico,\r\n        this.state.text)\r\n    }\r\n\r\n  }\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0)\r\n    let result = localStorageCustom.prototype.getUsuario()\r\n    this.setState({ email: result.dealer.correoElectronico, loading: false });\r\n    // this.getIncidentes(data.Incidentes);\r\n  }\r\n\r\n  nextStep() {\r\n    this.setState({ step: this.state.step + 1 })\r\n  }\r\n\r\n  backStep() {\r\n    this.setState({ step: this.state.step - 1 })\r\n  }\r\n\r\n  renderStep() {\r\n    const auth = this.context;\r\n    switch (this.state.step) {\r\n      case 0:\r\n        return <Step1 dadComponent={this} />\r\n      case 1:\r\n        return <Step2 dadComponent={this} />\r\n      case 2:\r\n        return <Step3 dadComponent={this} auth={auth} />\r\n      default:\r\n        return <Step1 dadComponent={this} />\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { loading, step } = this.state;\r\n    return (\r\n      <div>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Requerimiento</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Ayuda</li>\r\n              <li>Requerimiento</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white\">\r\n            {step != 2?\r\n              <a onClick={this.backStep} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a> : null\r\n            }\r\n            REQUERIMIENTO</h6>\r\n            {this.renderStep()}\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  postRequerimiento = (CodigoDealer, CorreoElectronico, Requerimiento) => {\r\n    this.setState({\r\n      loading: true,\r\n      data: { text: null, errorValidacopn: null }\r\n    })\r\n    setRequerimiento(CodigoDealer, CorreoElectronico, Requerimiento)\r\n      .then(result => {\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            text: null, errorValidacopn: null\r\n          })\r\n\r\n          this.nextStep();\r\n          // this.props.navigation.navigate('AyudaGracias');\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          notificacion(\"Incidentes\", error.message ?? null);\r\n        });\r\n      });\r\n\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Button, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\nimport { data } from '../../constants/Constants';\r\nimport { listarOpcionesBaja, registrarBaja } from '../../store/sagas/dealerApi';\r\nimport localStorageCustom from '../../utilitarios/localStorage';\r\nimport { notificacion } from '../../utilitarios/util';\r\nimport Spinner from \"../reusable/Loader\";\r\nimport { AuthContext } from \"../../store/provider/AuthProvider\";\r\n\r\nfunction Step1({ dadComponent }) {\r\n  let { incidentes, selected, text, id, errorValidacopn } = dadComponent.state;\r\n  let { seleccionarOpcion } = dadComponent;\r\n\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n        <div className=\"m-auto\" style={{ maxWidth: 330 }}>\r\n          <p className=\"paragraph-2 light\">¿Por qué deseas eliminar tu cuenta?</p>\r\n          <ul className=\"select-incidente\">\r\n            {incidentes.map((item, index) => {\r\n              return (\r\n                <li key={\"ix_\" + index}>\r\n                  <div className=\"custom-control custom-radio custom-control-inline\">\r\n                    <input\r\n                      value={item.id}\r\n                      onChange={seleccionarOpcion}\r\n                      checked={item.check}\r\n                      type=\"radio\"\r\n                      id={\"radio_\" + index}\r\n                      name={\"radio_\" + index}\r\n                      className=\"custom-control-input\"\r\n                    />\r\n                    <label\r\n                      className=\"custom-control-label\"\r\n                      htmlFor={\"radio_\" + index}\r\n                    >{item.nombre}</label>\r\n                  </div>\r\n                </li>\r\n              )\r\n            })}\r\n\r\n\r\n          </ul>\r\n          <div className=\"text-center mt-5 mobile\">\r\n            <button style={{ backgroundColor: c.rojo }} disabled={selected == undefined} className=\"btn-block\" onClick={() => dadComponent.nextStep()}>CONTINUAR</button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <button style={{ backgroundColor: c.rojo }} disabled={selected == undefined} className=\"btn-block\" onClick={() => dadComponent.nextStep()}>CONTINUAR</button>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nfunction Step2({ dadComponent, auth }) {\r\n  const { mensaje, finish } = dadComponent.state;\r\n  const { postRegistrarBaja } = dadComponent;\r\n\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <SvgAssets icon=\"curve-bottom\" className='curve-top mobile' fill=\"#1B52B2\" />\r\n        <div className=\"empty elminar_cuenta\" style={{ maxWidth: 775 }}>\r\n          <p className=\"paragraph-1 mb-0 text-center\">\r\n            {mensaje}<br />¿Estás seguro que deseas eliminar tu cuenta?</p>\r\n        </div>\r\n        <div className=\"text-center mt-5 mobile\">\r\n          <button style={{ backgroundColor: c.rojo }} disabled={finish} onClick={postRegistrarBaja} className=\"btn-block\">CONFIRMADO</button>\r\n          <Link className=\"link-u mt-3\" to=\"/dashboard\" style={{ color: c.rojo }}>Cancelar</Link>\r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <button style={{ backgroundColor: c.rojo }} disabled={finish} onClick={postRegistrarBaja} className=\"btn-block\">CONFIRMADO</button>\r\n        <Link className=\"link-u mt-4\" to=\"/dashboard\" style={{ color: c.rojo }}>Cancelar</Link>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class EliminarCuenta extends Component {\r\n  static displayName = EliminarCuenta.name;\r\n  static contextType = AuthContext;\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      step: 0,\r\n      dealer: {},\r\n      loading: true,\r\n      incidentes: [],\r\n      mensaje: \"\",\r\n      id: 0,\r\n      text: \"\",\r\n      errorValidacopn: null,\r\n      email: null,\r\n      selected: undefined,\r\n      finish: false\r\n    };\r\n    this.backStep = this.backStep.bind(this);\r\n  }\r\n\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0);\r\n    this.load();\r\n  }\r\n\r\n  load = () => {\r\n    let data = localStorageCustom.prototype.getUsuario();\r\n    this.setState({ loading: true, dealer: data.dealer }, () => {\r\n      this.postListarDataOpciones(data.dealer);\r\n    })\r\n  }\r\n  postRegistrarBaja = async (opcion) => {\r\n    this.setState({ loading: true, finish: true })\r\n    registrarBaja(this.state.dealer.correoElectronico, this.state.dealer.codcliente, this.state.incidentes.find(x => x.check).id)\r\n      .then(result => {\r\n        console.log(\"result====>\", result.dto)\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false\r\n          })\r\n          // this.props.history.push('/')\r\n\r\n          const auth = this.context;\r\n          localStorageCustom.prototype.removeToken();\r\n          localStorageCustom.prototype.removeUsuario();\r\n          auth.setuserToken(null);\r\n          auth.setIsLoggedIn(false);\r\n          // history.pushState(null, null, '/');\r\n          window.location.href = \"/\";\r\n\r\n\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false, finish: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Eliminar Cuenta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n\r\n  postListarDataOpciones = async (dealer) => {\r\n    this.setState({ loading: true })\r\n    listarOpcionesBaja(dealer.correoElectronico)\r\n      .then(result => {\r\n        console.log(\"result====>\", result.dto)\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({\r\n            loading: false,\r\n            incidentes: result.dto.dataBajas.opciones,\r\n            mensaje: result.dto.dataBajas.mensaje\r\n          })\r\n        } else {\r\n          throw new Error(result.mo.listMessage.join(\", \"));\r\n        }\r\n      }).catch((error) => {\r\n        this.setState({ loading: false }, async () => {\r\n          error.message = (error.message == undefined || error.message == null) ? error.description : error.message;\r\n          await notificacion(\"Eliminar Cuenta\", error.message ?? null);\r\n        });\r\n      });\r\n  }\r\n  seleccionarOpcion = async (e) => {\r\n    console.log(e.target.value);\r\n    var value = e.target.value;\r\n    let data = this.state.incidentes;\r\n    for (var i = 0; i <= data.length - 1; i++) {\r\n      data[i].check = (data[i].id == value);\r\n    }\r\n    this.setState({\r\n      incidentes: data,\r\n      selected: data.find(x => x.check)\r\n    })\r\n    console.log(data);\r\n  }\r\n  nextStep() {\r\n    this.setState({ step: this.state.step + 1 })\r\n  }\r\n\r\n  backStep() {\r\n    this.setState({ step: this.state.step - 1 })\r\n  }\r\n\r\n  renderStep() {\r\n    switch (this.state.step) {\r\n      case 0:\r\n        return <Step1 dadComponent={this} />\r\n      case 1:\r\n        return <Step2 dadComponent={this} />\r\n      default:\r\n        return <Step1 dadComponent={this} />\r\n    }\r\n  }\r\n\r\n  render() {\r\n    const { loading, step } = this.state;\r\n    return (\r\n      <div>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Eliminar cuenta</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li><Link to='/dashboard'>Dashboard</Link></li>\r\n              <li>Eliminar cuenta</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          <h6 className=\"title white mobile\">\r\n            {step != 0 ?\r\n              <a onClick={this.backStep} className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></a> :\r\n              <Link to='/dashboard' className='back'><SvgAssets icon=\"icon-arrow-left\" fill={'#fff'} /></Link>\r\n            }\r\n            Eliminar cuenta\r\n          </h6>\r\n          {this.renderStep()}\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n}\r\n","import ServiceManager from '../../service/ServiceManager';\r\nimport { data } from '../../constants/Constants';\r\nimport { getDevice } from './utilApi';\r\n\r\n\r\nexport function listarOpcionesBaja(CorreoElectronico) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/ListarOpcionesBaja\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.DispositivoDealer': DispositivoId\r\n    };\r\n    console.log(\"params.data==>\", params.data);\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\nexport function registrarBaja(CorreoElectronico, CodigoDealer, Baja) {\r\n    const DispositivoId = getDevice();\r\n    let params = {};\r\n    params.url = \"dealer/RegistrarBaja\";\r\n    params.data = {\r\n        'dto.CorreoElectronicoDealer': CorreoElectronico,\r\n        'dto.CodigoDealer': CodigoDealer,\r\n        'dto.DispositivoDealer': DispositivoId,\r\n        'dto.Sistema': data.Sistema,\r\n        'dto.Baja': Baja\r\n    };\r\n    return ServiceManager.prototype.Post(params);\r\n}\r\n\r\n","import React, { useState } from 'react';\r\nimport color from '../../constants/Colors';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\n\r\nconst ValorCriterio = (props) => {\r\n    let ACTIVE = props.active;\r\n    let CONTAINER_STYLE = props.containerStyle;\r\n    let VALUE = props.value;\r\n    return (\r\n        <div className=\"valor_criterio\" style={Object.assign(CONTAINER_STYLE,{backgroundColor: ACTIVE ? color.naranjaClaro : color.celesteClaro})}>\r\n            <SvgAssets icon=\"icon-foco-2\" width=\"15\" height=\"20\" fill={ACTIVE ? color.naranja : color.grisMedio}/>\r\n            <span style={{color: ACTIVE ? color.naranja : color.grisMedio}}>{VALUE}</span>\r\n        </div>\r\n    );\r\n}\r\n\r\nexport default ValorCriterio;\r\n","import React, { Component } from 'react';\r\nimport { Collapse,FormGroup } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { SvgAssets } from '../../assets/icons/iconSvg';\r\nimport c from '../../constants/Colors';\r\n\r\nexport class SelectRuc extends Component {\r\n  static displayName = SelectRuc.name;\r\n\r\n  constructor (props) {\r\n    super(props);\r\n\r\n    this.state = {\r\n      collapsed: true,\r\n    };\r\n  }\r\n\r\n  componentDidMount(){\r\n  }\r\n\r\n  render () {\r\n    const { isLoggedIn } = this.props;\r\n    return (\r\n      <div className=\"selectRuc\">\r\n        <div id=\"selectRUC\" className=\"header-collapse\" onClick={() => this.setState({collapsed: !this.state.collapsed})}>\r\n          Selecciona RUC y Destino\r\n          <SvgAssets icon={this.state.collapsed ? \"icon-bottom\" : \"icon-top\"} fill={c.azulClaro}/>\r\n        </div>\r\n        <Collapse isOpen={!this.state.collapsed}>\r\n          <div className=\"body-collapse\">\r\n            <FormGroup>\r\n              <SvgAssets icon=\"icon-maleta\" fill={c.grisMedio}/>\r\n              <select type=\"select\" name=\"select\" id=\"exampleSelect\">\r\n                <option>Inti Motors S.A.C - 81234567898</option>\r\n              </select>\r\n            </FormGroup>\r\n            <FormGroup className=\"mb-0\">\r\n              <SvgAssets icon=\"icon-location\" fill={c.grisMedio}/>\r\n              <select type=\"select\" name=\"select\" id=\"exampleSelect\">\r\n                <option>Camilo Carrillo, Sa Miguel, Lima, Li...</option>\r\n              </select>\r\n            </FormGroup>\r\n          </div>\r\n        </Collapse>\r\n      </div>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, Col, ListGroup, ListGroupItem, Container,Progress, UncontrolledTooltip } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport Slider from \"react-slick\";\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport GaugeChart from 'react-gauge-chart';\r\nimport { data } from '../../../constants/Constants';\r\nimport color from '../../../constants/Colors';\r\nimport TooltipLeyenda from '../../reusable/TooltipLeyenda';\r\nimport ValorCriterio from '../../reusable/ValorCriterio';\r\nimport {SelectRuc} from '../../reusable/SelectRuc';\r\n\r\nconst WIDTH = window.innerWidth;\r\n\r\nconst LineaCredito = () => {\r\n\treturn (\r\n\t\t<div className=\"line_credito\">\r\n\t\t\t<h6 className=\"title-4\">Línea de crédito</h6>\r\n\t\t\t<div className=\"montoCredito\">\r\n\t\t\t\t<h6 className=\"paragraph-1\">Línea de crédito</h6>\r\n\t\t\t\t<h3 className=\"title-3\">S/ 300,000.00</h3>\r\n\t\t\t\t<p className=\"paragraph-2\">79876543211 - Razón Social S.A.C</p>\r\n\t\t\t</div>\r\n\t\t\t<div className=\"progress-bar-credito\">\r\n\t\t\t\t<span style={{background: '#003591', width: '40%'}}>40%</span>\r\n\t\t\t\t<span style={{background: color.morado, width: '30%'}}>30%</span>\r\n\t\t\t\t<span style={{background: color.verdeClaro, width: '30%'}}>30%</span>\r\n\t\t\t</div>\r\n\t\t\t<div className=\"legend-credito\">\r\n\t\t\t\t<p><div className=\"dot\" style={{background: '#003591'}}/>L.C. Utilizada - S/ 130.000.00</p>\r\n\t\t\t\t<p><div className=\"dot\" style={{background: color.morado}}/>L.C. En carrito de compras - S/ 90.000.00</p>\r\n\t\t\t\t<p><div className=\"dot\" style={{background: color.verdeClaro}}/>L.C. Disponible - S/ 80.000.00</p>\r\n\t\t\t</div>\r\n\t\t\t<h6 className=\"title-4\">Próximos vencimientos</h6>\r\n\t\t\t<ListGroup flush>\r\n        <ListGroupItem className=\"bg_gray\">\r\n          <Row form>\r\n            <Col xs={3}>\r\n              <span className='paragraph-3 bold' style={{ color: color.grisOscuro }}>Fecha Vcto.</span>\r\n            </Col>\r\n            <Col xs={4}>\r\n              <span className='paragraph-3 bold' style={{ color: color.grisOscuro }}>Importe S/</span>\r\n            </Col>\r\n            <Col xs={5}>\r\n              <span className='paragraph-3 bold' style={{ color: color.grisOscuro }}>Línea de negocio</span>\r\n            </Col>\r\n          </Row>\r\n        </ListGroupItem>\r\n\t\t\t\t<ListGroupItem>\r\n\t\t\t\t\t<Row form>\r\n\t\t\t\t\t\t<Col xs={3}>\r\n\t\t\t\t\t\t\t<span className='paragraph-3 bold' style={{ color: color.azulClaro }}>10/04/2021</span>\r\n\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t<Col xs={4}>\r\n\t\t\t\t\t\t\t<span className='paragraph-3 bold' style={{ color: color.azulClaro }}>S/ 35.000.00</span>\r\n\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t<Col xs={4}>\r\n\t\t\t\t\t\t\t<span className='paragraph-3 bold' style={{ color: color.azulClaro }}>Vehículo 3R</span>\r\n\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t<Col xs={1}>\r\n\t\t\t\t\t\t\t<div id=\"tooltip-info-1\" className=\"tooltip-leyenda\" style={{}}>\r\n                <SvgAssets icon=\"icon-info\" fill={color.celeste} />\r\n                <UncontrolledTooltip placement=\"top\" target=\"tooltip-info-1\" className=\"tooltip-leyenda\">\r\n                  <span className=\"light\" style={{ fontSize: 9 }}>texto</span>\r\n                </UncontrolledTooltip>\r\n              </div>\r\n\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t</Row>\r\n        </ListGroupItem>\r\n      </ListGroup>\r\n\t\t</div>\r\n\t)\r\n}\r\n\r\nconst CierreMes = () => {\r\n\treturn (\r\n\t\t<div className=\"boxBorder cierre_mes\">\t\t\r\n\t\t\t<h4 className=\"paragraph-3 desktop_parrafo4 bold azul\">Cierre de mes en:</h4>\r\n\t\t\t<div className=\"time-box mb-0\">\r\n\t\t\t\t<div className=\"box\">\r\n\t\t\t\t\t<strong>0</strong>\r\n\t\t\t\t\t<span>Días</span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<i>:</i>\r\n\t\t\t\t<div className=\"box\">\r\n\t\t\t\t\t<strong>10</strong>\r\n\t\t\t\t\t<span>Horas</span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<i>:</i>\r\n\t\t\t\t<div className=\"box\">\r\n\t\t\t\t\t<strong>31</strong>\r\n\t\t\t\t\t<span>Minutos</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t)\r\n}\r\n\r\nexport class VehiculoDashboard extends Component {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n          \r\n    };\r\n  }\r\n\r\n\trender() {\r\n\t\tconst { } = this.state;\r\n\t\tconst sliderVbox = {\r\n      dots: false,\r\n      infinite: false,\r\n      speed: 500,\r\n      slidesToShow: 1,\r\n      slidesToScroll: 1,\r\n\t\t\tvariableWidth: true,\r\n\t\t\tresponsive: [\r\n        {\r\n          breakpoint: 600,\r\n          settings: {\r\n            arrows: false,\r\n          }\r\n        }\r\n      ]\r\n    };\r\n\r\n\t\treturn (\r\n\t\t\t<div style={{ flex: 1 }}>\r\n\t\t\t\t<SelectRuc />\r\n\t\t\t\t<div className=\"desktop tab-pills-container\">\r\n          <div className=\"tab-pills\">\r\n\t\t\t\t\t\t<button className='pill active'>Mes Actual</button>\r\n\t\t\t\t\t\t<button className='pill'>Mayo</button>\r\n          </div>\r\n          <SvgAssets className=\"curve-bottom\" icon=\"curve-top\" fill=\"#fff\" />\r\n        </div>\r\n\t\t\t\t<Container className=\"py-5 container_1270\">\r\n\t\t\t\t\t<div className=\"row-dashboard\">\r\n\t\t\t\t\t\t<div className=\"col-card\" style={{maxWidth:800}}>\r\n\t\t\t\t\t\t\t<div className=\"card h-100\">\r\n\t\t\t\t\t\t\t\t<div className=\"tab-pills mobile\">\r\n\t\t\t\t\t\t\t\t\t<button className='pill active'>Mes Actual</button>\r\n\t\t\t\t\t\t\t\t\t<button className='pill'>Mayo</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div className=\"scroll_Vbox\" style={{background:'rgba(154, 200, 255, 0.3)'}}>\r\n\t\t\t\t\t\t\t\t\t<Slider {...sliderVbox}>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"Vbox\" style={{borderColor:color.azulClaro}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<h6 style={{color:color.azulClaro}}>Pulsar<br/>12.5%</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span style={{color:color.azulClaro}}>(Máx. 18.5%)</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"Vbox\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<h6>Pulsar<br/>12.5%</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>(Máx. 18.5%)</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"Vbox\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<h6>Pulsar<br/>12.5%</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>(Máx. 18.5%)</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"Vbox\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<h6>Pulsar<br/>12.5%</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>(Máx. 18.5%)</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</Slider>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<Row>\r\n\t\t\t\t\t\t\t\t\t<Col lg=\"6\">\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"boxBorder d-flex justify-content-between\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"paragraph-2 bold azul\">Descuento Base:</span>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"paragraph-1 bold verde\">1.5%</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t\t\t\t<Col lg=\"6\">\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"boxBorder d-flex justify-content-between\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"paragraph-2 bold azul\">+ Descuento obtenido: </span>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"paragraph-1 bold verde\">11%</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t\t\t</Row>\r\n\t\t\t\t\t\t\t\t<div className=\"cards-wrap\">\r\n\t\t\t\t\t\t\t\t\t<div className=\"card_product_vertical dashboard\">\r\n\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-4\">Sell out:</h6>\r\n\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\tactive={true} \r\n\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center',marginBottom:10}}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={'2%'}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"chart-sm\">\r\n\t\t\t\t\t\t\t\t\t\t\t<GaugeChart id=\"chart1\" className=\"gauge-chart-s\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tnrOfLevels={6} \r\n\t\t\t\t\t\t\t\t\t\t\t\tcornerRadius={0}\r\n\t\t\t\t\t\t\t\t\t\t\t\thideText={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\tneedleColor={color.verde}\r\n\t\t\t\t\t\t\t\t\t\t\t\tneedleBaseColor={color.verde}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcolors={[color.verde, color.verde, color.verde,color.celesteClaro,color.celesteClaro,color.celesteClaro]}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"value_chart text-center d-block\" style={{ left:0,right:0}}>0</span>\r\n                      <span className=\"value_chart\" style={{ left: '14%' }}>30</span>\r\n                      <span className=\"value_chart\" style={{ right: '12%' }}>30</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"card_product_vertical dashboard\">\r\n\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-4\">Meta:</h6>\r\n\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center',marginBottom:10}}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={'1%'}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"chart-sm\">\r\n\t\t\t\t\t\t\t\t\t\t\t<GaugeChart id=\"chart2\" className=\"gauge-chart-s\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tnrOfLevels={6} \r\n\t\t\t\t\t\t\t\t\t\t\t\tcornerRadius={0}\r\n\t\t\t\t\t\t\t\t\t\t\t\thideText={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\tneedleColor={color.verde}\r\n\t\t\t\t\t\t\t\t\t\t\t\tneedleBaseColor={color.verde}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcolors={[color.verde, color.verde, color.verde,color.celesteClaro,color.celesteClaro,color.celesteClaro]}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"value_chart text-center d-block\" style={{ left:0,right:0}}>0</span>\r\n                      <span className=\"value_chart\" style={{ left: '14%' }}>30</span>\r\n                      <span className=\"value_chart\" style={{ right: '12%' }}>30</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"card_product_vertical dashboard\">\r\n\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-4\">Cierre de quincena en:</h6>\r\n\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\tactive={true} \r\n\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center',marginBottom:10}}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={'2%'}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"time-box-sm\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"box\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>8<br/>Días</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"box\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>16<br/>Hrs</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"box\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>50<br/>Min</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"card_product_vertical dashboard\">\r\n\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-4\">Sell out Bover:</h6>\r\n\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\tactive={true} \r\n\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center',marginBottom:10}}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={'2%'}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"chart-sm\">\r\n\t\t\t\t\t\t\t\t\t\t\t<GaugeChart id=\"chart3\" className=\"gauge-chart-s\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tnrOfLevels={6} \r\n\t\t\t\t\t\t\t\t\t\t\t\tcornerRadius={0}\r\n\t\t\t\t\t\t\t\t\t\t\t\thideText={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\tneedleColor={color.verde}\r\n\t\t\t\t\t\t\t\t\t\t\t\tneedleBaseColor={color.verde}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcolors={[color.verde, color.verde, color.verde,color.celesteClaro,color.celesteClaro,color.celesteClaro]}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"value_chart text-center d-block\" style={{ left:0,right:0}}>0</span>\r\n                      <span className=\"value_chart\" style={{ left: '14%' }}>30</span>\r\n                      <span className=\"value_chart\" style={{ right: '12%' }}>30</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"card_product_vertical dashboard\">\r\n\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-4\">Equilibrio Discover:</h6>\r\n\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\tactive={true} \r\n\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center',marginBottom:10}}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={'2%'}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"chart-sm\">\r\n\t\t\t\t\t\t\t\t\t\t\t<GaugeChart id=\"chart4\" className=\"gauge-chart-s\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tnrOfLevels={6} \r\n\t\t\t\t\t\t\t\t\t\t\t\tcornerRadius={0}\r\n\t\t\t\t\t\t\t\t\t\t\t\thideText={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\tneedleColor={color.verde}\r\n\t\t\t\t\t\t\t\t\t\t\t\tneedleBaseColor={color.verde}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcolors={[color.verde, color.verde, color.verde,color.celesteClaro,color.celesteClaro,color.celesteClaro]}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"value_chart text-center d-block\" style={{ left:0,right:0}}>0</span>\r\n                      <span className=\"value_chart\" style={{ left: '14%' }}>30</span>\r\n                      <span className=\"value_chart\" style={{ right: '12%' }}>30</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"card_product_vertical dashboard\">\r\n\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-4\">CIS Express</h6>\r\n\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\tactive={true} \r\n\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center',marginBottom:10}}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={'2%'}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-4\">Exclusividad</h6>\r\n\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center',marginBottom:10}}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={'2%'}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-4\">Al contado</h6>\r\n\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center',marginBottom:10}}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={'2%'}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<br className=\"desktop\"/>\r\n\t\t\t\t\t\t\t\t<Row form>\r\n\t\t\t\t\t\t\t\t\t<Col lg=\"4\">\r\n\t\t\t\t\t\t\t\t\t\t<div className={`boxBorder${(WIDTH > data.isSmallDevice ? ' h-100' : '')}`}>\r\n\t\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-6\">Estadística Semanal</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"d-flex\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center'}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={'1%'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"estad-semanal\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"d-flex justify-content-around\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>S1</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>S2</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>S3</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>S4</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Progress value=\"25\" className=\"w-100\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t\t\t\t<Col lg=\"8\">\r\n\t\t\t\t\t\t\t\t\t\t<div className={`boxBorder${(WIDTH > data.isSmallDevice ? ' h-100' : '')}`}>\r\n\t\t\t\t\t\t\t\t\t\t\t<ValorCriterio \r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerStyle={{alignSelf:'center',position:'absolute'}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={'1%'}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<h6 className=\"title-6\">Volumen</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"scroll_Vbox\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Slider {...sliderVbox}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"Vbox\" style={{background:color.naranjaClaro}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6 style={{color:color.naranja}}>+1.0%<div style={{fontFamily:'Gotham-light'}}>16 a 25</div></h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"Vbox\" style={{background:color.naranjaClaro}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6 style={{color:color.naranja}}>+1.0%<div style={{fontFamily:'Gotham-light'}}>16 a 25</div></h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"Vbox\" style={{background:color.celesteClaro}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6 style={{color:color.azulClaro}}>+1.0%<div style={{fontFamily:'Gotham-light'}}>16 a 25</div></h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"Vbox\" style={{background:color.celesteClaro}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6 style={{color:color.azulClaro}}>+1.0%<div style={{fontFamily:'Gotham-light'}}>16 a 25</div></h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</Slider>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"paragraph-3 d-block\" style={{color:color.grisMedio}}>33 Unidades compradas hasta el momento.</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t\t\t</Row>\r\n\t\t\t\t\t\t\t\t{WIDTH < data.isSmallDevice ?\r\n\t\t\t\t\t\t\t\t\t<CierreMes />: null\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div className=\"col-card\" style={{flex:1}}>\r\n\t\t\t\t\t\t\t<div className=\"card h-100\">\r\n\t\t\t\t\t\t\t\t<LineaCredito />\r\n\t\t\t\t\t\t\t\t{WIDTH > data.isSmallDevice ?\r\n\t\t\t\t\t\t\t\t\t<CierreMes />: null\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</Container>\r\n\t\t\t</div>\r\n\t\t)\r\n\t}\r\n}","import React, { Component } from 'react';\r\nimport { Row, Col, Input, Button, Container } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport Slider from \"react-slick\";\r\nimport { SvgAssets } from '../../../assets/icons/iconSvg';\r\nimport GaugeChart from 'react-gauge-chart';\r\nimport { data } from '../../../constants/Constants';\r\nimport color from '../../../constants/Colors';\r\nimport TooltipLeyenda from '../../reusable/TooltipLeyenda';\r\nimport ValorCriterio from '../../reusable/ValorCriterio';\r\n\r\nexport class RepresentanteVenta extends Component {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n          \r\n    };\r\n  }\r\n\r\n\trender() {\r\n\t\tconst { } = this.state;\r\n\r\n\t\treturn (\r\n\t\t\t<div style={{ flex: 1 }}>\r\n\t\t\t\t<div className=\"title_banner\">\r\n\t\t\t\t\t<Container>\r\n\t\t\t\t\t\t<h1>Representante de ventas</h1>\r\n\t\t\t\t\t</Container>\r\n\t\t\t\t\t<SvgAssets icon=\"curve-top\" className='curve-bottom' fill=\"#fff\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div className=\"breadcrumb\">\r\n\t\t\t\t\t<Container>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t<li><Link to='/vehiculo-dashboard'>Inicio</Link></li>\r\n\t\t\t\t\t\t\t<li>Representante de ventas</li>\r\n\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t</Container>\r\n\t\t\t\t</div>\r\n\t\t\t\t<Container className=\"py-5\">\r\n\t\t\t\t\t<div className=\"card_desktop\">\r\n\t\t\t\t\t\t<div className=\"cards-wrap\">\r\n\t\t\t\t\t\t\t<div className=\"card r_ventas\">\r\n\t\t\t\t\t\t\t\t<div className=\"card-header\">\r\n\t\t\t\t\t\t\t\t\t<h6>Mónica Diaz Morales</h6>\r\n\t\t\t\t\t\t\t\t\t<span>Vehículo 2R - Sur</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div className=\"card-body\">\r\n\t\t\t\t\t\t\t\t\t<div className=\"boxBorder\">\r\n\t\t\t\t\t\t\t\t\t\t<span>Whatsapp</span>\r\n\t\t\t\t\t\t\t\t\t\t<button className='btn-small'>ESCRÍBENOS</button>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<p>Si prefieres darle una llamadita...</p>\r\n\t\t\t\t\t\t\t\t\t<div className=\"boxBorder\">\r\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-left\">N° de celular<br/><div className=\"azul\">987654321</div></span>\r\n\t\t\t\t\t\t\t\t\t\t<button className='btn-small bg_transparent'><SvgAssets icon=\"icon-phone-3\" fill={color.verdeClaro} />LLAMA</button>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"boxBorder d-flex justify-content-between\">\r\n\t\t\t\t\t\t\t\t\t\t<a href=\"#\"><SvgAssets icon=\"icon-mail\" fill={color.azulClaro} />monica.diaz@crosland.com.pe</a>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div className=\"card r_ventas\">\r\n\t\t\t\t\t\t\t\t<div className=\"card-header\">\r\n\t\t\t\t\t\t\t\t\t<h6>Mónica Diaz Morales</h6>\r\n\t\t\t\t\t\t\t\t\t<span>Vehículo 2R - Sur</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div className=\"card-body\">\r\n\t\t\t\t\t\t\t\t\t<div className=\"boxBorder\">\r\n\t\t\t\t\t\t\t\t\t\t<span>Whatsapp</span>\r\n\t\t\t\t\t\t\t\t\t\t<button className='btn-small'>ESCRÍBENOS</button>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<p>Si prefieres darle una llamadita...</p>\r\n\t\t\t\t\t\t\t\t\t<div className=\"boxBorder\">\r\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-left\">N° de celular<br/><div className=\"azul\">987654321</div></span>\r\n\t\t\t\t\t\t\t\t\t\t<button className='btn-small bg_transparent'><SvgAssets icon=\"icon-phone-3\" fill={color.verdeClaro} />LLAMA</button>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"boxBorder d-flex justify-content-between\">\r\n\t\t\t\t\t\t\t\t\t\t<a href=\"#\"><SvgAssets icon=\"icon-mail\" fill={color.azulClaro} />monica.diaz@crosland.com.pe</a>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div className=\"card r_ventas\">\r\n\t\t\t\t\t\t\t\t<div className=\"card-header\">\r\n\t\t\t\t\t\t\t\t\t<h6>Mónica Diaz Morales</h6>\r\n\t\t\t\t\t\t\t\t\t<span>Vehículo 2R - Sur</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div className=\"card-body\">\r\n\t\t\t\t\t\t\t\t\t<div className=\"boxBorder\">\r\n\t\t\t\t\t\t\t\t\t\t<span>Whatsapp</span>\r\n\t\t\t\t\t\t\t\t\t\t<button className='btn-small'>ESCRÍBENOS</button>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<p>Si prefieres darle una llamadita...</p>\r\n\t\t\t\t\t\t\t\t\t<div className=\"boxBorder\">\r\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-left\">N° de celular<br/><div className=\"azul\">987654321</div></span>\r\n\t\t\t\t\t\t\t\t\t\t<button className='btn-small bg_transparent'><SvgAssets icon=\"icon-phone-3\" fill={color.verdeClaro} />LLAMA</button>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className=\"boxBorder d-flex justify-content-between\">\r\n\t\t\t\t\t\t\t\t\t\t<a href=\"#\"><SvgAssets icon=\"icon-mail\" fill={color.azulClaro} />monica.diaz@crosland.com.pe</a>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</Container>\r\n\t\t\t</div>\r\n\t\t)\r\n\t}\r\n}","import React, { Component } from \"react\";\r\nimport { FormGroup, Input, Button, Container, FormFeedback } from \"reactstrap\";\r\nimport { Link,useHistory  } from \"react-router-dom\";\r\nimport { SvgAssets } from \"../../assets/icons/iconSvg\";\r\nimport c from \"../../constants/Colors\";\r\nimport Spinner from \"../reusable/Loader\";\r\nimport { RegistrarSugerencia } from \"../../store/sagas/authApi\";\r\nimport localStorageCustom from \"../../utilitarios/localStorage\";\r\nimport { notificacion } from \"../../utilitarios/util\";\r\n\r\nfunction Step1({ dadComponent }) {\r\n  let { textSugerencia, error, validation, longMax, long ,errorsGeneral} = dadComponent.state;\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <SvgAssets\r\n          icon=\"curve-bottom\"\r\n          className=\"curve-top mobile\"\r\n          fill=\"#1B52B2\"\r\n        />\r\n        {error ? validation : null}\r\n        <p className=\"paragraph-2 light azul mb-1\">\r\n          Por favor ingrese su sugerencia.\r\n        </p>\r\n        <p className=\"paragraph-3 light\" style={{ color: c.grisMedio }}>\r\n          (Máx. 500 caracteres)\r\n        </p>\r\n        <FormGroup className=\"mt-3 mx-auto w-100\" style={{ maxWidth: 440 }}>\r\n          <Input\r\n            type=\"textarea\"\r\n            placeholder=\"Sugerencia\"\r\n            rows=\"7\"\r\n            maxlength={longMax}\r\n            value={textSugerencia}\r\n            onChange={(textSugerencia) =>\r\n              dadComponent.setText(textSugerencia.target.value)\r\n            }\r\n          />\r\n          <p\r\n            className=\"paragraph-3 light text-right mt-2 mb-0\"\r\n            style={{ color: c.grisMedio }}\r\n          >\r\n            {long}/ {longMax - long}\r\n          </p>\r\n          {\r\n              errorsGeneral ? <FormFeedback className=\"pl-0\">{errorsGeneral}</FormFeedback> : null\r\n          }\r\n        </FormGroup>\r\n        <div className=\"text-center mt-3 mobile\">\r\n          <button\r\n            type=\"button\"\r\n            className={`btn-block${!error ? \" disabled\" : \"\"}`}\r\n            style={{ backgroundColor: c.verdeClaro }}\r\n            onClick={() => dadComponent.postSugerencia()}\r\n            disabled={!error}\r\n          >\r\n            ENVIAR\r\n          </button>          \r\n        </div>\r\n      </div>\r\n      <div className=\"text-center mt-5 desktop\">\r\n        <button\r\n          type=\"button\"\r\n          className={`btn-block${!error ? \" disabled\" : \"\"}`}\r\n          style={{ backgroundColor: c.verdeClaro }}\r\n          onClick={() => dadComponent.postSugerencia()}\r\n          disabled={!error}\r\n        >\r\n          ENVIAR \r\n        </button>\r\n      </div>\r\n    </div>\r\n  );\r\n}\r\n\r\nfunction Step2({ dadComponent, auth }) {\r\n  const { dealer } = dadComponent.state;\r\n  const history = useHistory();\r\n  console.log('history',history)\r\n  return (\r\n    <div>\r\n      <div className=\"card card_container\">\r\n        <div className=\"empty sugerencia\" style={{ maxWidth: 560 }}>\r\n          <SvgAssets icon=\"icon-happy\" fill={c.azulClaro} />\r\n          <h6 className=\"paragraph-1 mb-2\" style={{ color: c.azulClaro }}>\r\n            Muchas gracias\r\n          </h6>\r\n          <p className=\"paragraph-2 text-center\">\r\n            Hola {dealer.razsocialSocial}, muchas gracias por registrar tu sugerencia,\r\n            esto nos ayudará a mejorar y podremos brindarte una mejor\r\n            experiencia.\r\n          </p>\r\n          <div className=\"text-center mt-5 mobile\">\r\n              <button\r\n                className=\"btn-block\"\r\n                style={{ backgroundColor: c.verdeClaro }}\r\n                onClick={() => history.push('/dashboard')}\r\n              >\r\n                ENTENDIDO\r\n              </button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div\r\n        className=\"text-center mt-5 desktop\"\r\n        style={{ justifyContent: \"center\" }}\r\n      >\r\n          <button\r\n            className=\"btn-block\"\r\n            style={{ backgroundColor: c.verdeClaro }}\r\n            onClick={() => history.push('/dashboard')}\r\n          >\r\n            ENTENDIDO\r\n          </button>\r\n      </div>\r\n    </div>\r\n  );\r\n}\r\n\r\nexport class Sugerencias extends Component {\r\n  constructor(props) {\r\n    super(props);\r\n    //let storageGeneral = localStorageCustom.prototype.getUsuario();\r\n    this.state = {\r\n      step: 0,\r\n      loading: true,\r\n      dealer: {},\r\n      linea: {},\r\n      asociado: {},\r\n      longMax: 500,\r\n      long: 0,\r\n      textSugerencia: \"\",\r\n      botonEnviar: true,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n      error: false,\r\n      errorsGeneral: null,\r\n    };\r\n  }\r\n\r\n  nextStep() {\r\n    this.setState({ step: this.state.step + 1 });\r\n  }\r\n\r\n  backStep() {\r\n    this.setState({ step: this.state.step - 1 });\r\n  }\r\n  setText = (value) => {\r\n    this.setState({\r\n      textSugerencia: value,\r\n      long: value.length,\r\n      botonEnviar: !(value.trim().length > 0),\r\n      error: value.trim().length > 0,\r\n    });\r\n  };\r\n\r\n  validation = () => {\r\n    return (\r\n      <div>\r\n        <p className=\"paragraph-2 light azul mb-1\">\r\n          Por favor ingrese su sugerencia.\r\n        </p>\r\n        <p className=\"paragraph-3 light\" style={{ color: c.grisMedio }}>\r\n          (Máx. 500 caracteres)\r\n        </p>\r\n      </div>\r\n    );\r\n  };\r\n  componentDidMount() {\r\n    window.scrollTo(0, 0);\r\n    let result = localStorageCustom.prototype.getUsuario();\r\n    this.setState({\r\n      loading: false,\r\n      dealer: result.dealer,\r\n      linea: result.linea,\r\n      asociado: result.asociado,\r\n      showAlert: false,\r\n      alertTitulo: \"\",\r\n      alertMensaje: \"\",\r\n    });\r\n  }\r\n\r\n  renderStep() {\r\n    const auth = this.context;\r\n    switch (this.state.step) {\r\n      case 0:\r\n        return <Step1 dadComponent={this} />;\r\n      case 1:\r\n        return <Step2 dadComponent={this} />;\r\n      default:\r\n        return <Step1 dadComponent={this} />;\r\n    }\r\n  }\r\n  postSugerencia = async () => {\r\n    // logEvents(analytics.Linea_de_negocio.Linea_de_negocio_click_seleccion_repuestos\r\n    //   , analytics.Linea_de_negocio.whoIs()\r\n    //   , storageGeneral.linea.nombreLinea);\r\n    let strMensaje = this.state.textSugerencia;\r\n\r\n    if (strMensaje === \"\" || strMensaje == null || strMensaje.length > 500)\r\n      this.setState({ error: true });\r\n    let data = {\r\n      correoElectronico: this.state.dealer.correoElectronico,\r\n      codcliente: this.state.dealer.codcliente,\r\n      linea: this.state.linea.linea,\r\n      mensaje: this.state.textSugerencia,\r\n      //codigoPerfil: this.state.linea.codigoPerfil,\r\n    };\r\n    this.setState({ loading: true });\r\n    RegistrarSugerencia(data)\r\n      .then((result) => {\r\n        this.setState({ loading: false });\r\n        if (result.mo.type == \"success\") {\r\n          this.setState({ email: data.correoElectronico }, () => {\r\n            this.nextStep();\r\n          });\r\n          // this.props.navigation.navigate('AuthMensaje', { email: this.state.email });\r\n        } else {\r\n          this.setState({\r\n            loading: false,\r\n            errorsGeneral: result.mo.listMessage.join(\", \"),\r\n          });\r\n        }\r\n      })\r\n      .catch((error) => {\r\n        error.message =\r\n          error.message == undefined || error.message == null\r\n            ? error.description\r\n            : error.message;\r\n        this.setState({ loading: false }, async () => {\r\n          // await this.notificacion(\"Solicitar Acceso\", error.message ?? null);\r\n          notificacion(\"Sugerencias\", error.message ?? null);\r\n        });\r\n      });\r\n  };\r\n\r\n  render() {\r\n    const { loading, step } = this.state;\r\n    return (\r\n      <div>\r\n        <Spinner visible={loading} />\r\n        <div className=\"title_banner\">\r\n          <Container>\r\n            <h1>Sugerencias</h1>\r\n          </Container>\r\n          <SvgAssets icon=\"curve-top\" className=\"curve-bottom\" fill=\"#fff\" />\r\n        </div>\r\n        <div className=\"breadcrumb\">\r\n          <Container>\r\n            <ul>\r\n              <li>\r\n                <Link to=\"/dashboard\">Dashboard</Link>\r\n              </li>\r\n              <li>Ayuda</li>\r\n              <li>Sugerencias</li>\r\n            </ul>\r\n          </Container>\r\n        </div>\r\n        <Container className=\"py-5\">\r\n          {step == 0 ? (\r\n            <h6 className=\"title white\">\r\n              <a onClick={this.backStep} className=\"back\">\r\n                <SvgAssets icon=\"icon-arrow-left\" fill={\"#fff\"} />\r\n              </a>\r\n              Sugerencias\r\n            </h6>\r\n          ) : null}\r\n          {this.renderStep()}\r\n        </Container>\r\n      </div>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Route, Switch } from 'react-router';\r\nimport { Provider } from 'react-redux';\r\nimport { Link, useRouteMatch, useHistory, withRouter } from \"react-router-dom\";\r\nimport configureStore from './store/store';\r\nimport { AuthProvider } from \"./store/provider/AuthProvider\";\r\n// import { createBrowserHistory } from \"history\";\r\n\r\nimport { Layout } from './components/Layout';\r\nimport { Login } from './components/Auth/Login';\r\nimport { LineaNegocio } from './components/Auth/LineaNegocio';\r\nimport { RazonSocial } from './components/Auth/RazonSocial';\r\nimport { VerificarCorreo } from './components/Auth/VerificarCorreo';\r\nimport { IngresarContrasenia } from './components/Auth/IngresarContrasenia';\r\nimport { RecuperarContrasenia } from './components/RecoverPassword/Index';\r\nimport { RCVerificarCorreo } from './components/RecoverPassword/VerificarCorreo';\r\nimport { NuevaContrasenia } from './components/RecoverPassword/NuevaContrasenia';\r\nimport { SolicitarAcceso } from './components/Auth/SolicitarAcceso';\r\nimport { Dashboard } from './components/General/Dashboard';\r\nimport { Notificaciones } from './components/General/Notificaciones';\r\nimport { GenerarPedidoMasivo } from './components/Pedidos/GenerarPedidoMasivo';\r\nimport { PedidoMasivo } from './components/Pedidos/PedidoMasivo';\r\nimport { GenerarPedido } from './components/Pedidos/GenerarPedido';\r\nimport { GenerarPedidoDesktop } from './components/Pedidos/GenerarPedidoDesktop';\r\nimport { BuscadorCodigo } from './components/Pedidos/BuscadorCodigo';\r\nimport { BuscadorVehiculo } from './components/Pedidos/BuscadorVehiculo';\r\nimport { Repuestos } from './components/Pedidos/Repuestos';\r\nimport { Carrito } from './components/Carrito/Listado';\r\nimport { CarritoOfertas } from './components/Carrito/Ofertas';\r\nimport { CarritoEnvio } from './components/Carrito/Envio';\r\nimport { Transportistas } from './components/Carrito/Transportistas';\r\nimport { CarritoMedioPago } from './components/Carrito/MedioPago';\r\nimport { ResumenPedido } from './components/Carrito/ResumenPedido';\r\nimport { PedidoFinalizado } from './components/Carrito/PedidoFinalizado';\r\nimport { Perfil } from './components/Perfil/Index';\r\nimport { CambiarContrasenia } from './components/Perfil/CambiarContrasenia';\r\nimport { Locales } from './components/Perfil/Locales';\r\nimport { Dispositivos } from './components/Perfil/Dispositivos';\r\nimport { TransportistasPerfil } from './components/Perfil/Transportistas';\r\nimport { PedidoSugerido } from './components/General/PedidoSugerido';\r\nimport { PrePedidos } from './components/General/PrePedidos';\r\nimport { ListaDeseos } from './components/General/ListaDeseos';\r\nimport { ProductosVendidos } from './components/Catalogo/ProductosVendidos';\r\nimport { Ofertas } from './components/Catalogo/Ofertas';\r\nimport { HistorialPedidos } from './components/HistorialPedidos/Listado';\r\nimport { DetallePedido } from './components/HistorialPedidos/DetallePedido';\r\nimport { Tracking } from './components/HistorialPedidos/Tracking';\r\nimport { EstadoCuenta } from './components/EstadoCuenta/Listado';\r\nimport { EstadoCuentaDetalle } from './components/EstadoCuenta/Detalle';\r\nimport { Bonificaciones } from './components/Bonificaciones/Index';\r\nimport { Bonificacion } from './components/Bonificaciones/Bonificacion';\r\nimport { BonificacionGrafico } from './components/Bonificaciones/Grafico';\r\nimport { PreguntasFrecuentes } from './components/Ayuda/PreguntasFrecuentes';\r\nimport { Incidente } from './components/Ayuda/Incidente';\r\nimport { Requerimientos } from './components/Ayuda/Requerimientos';\r\nimport { EliminarCuenta } from './components/General/EliminarCuenta';\r\n\r\n//NAVEGACIÓN VEHÍCULO\r\nimport { VehiculoDashboard } from './components/Vehiculos/General/Dashboard';\r\nimport { RepresentanteVenta } from './components/Vehiculos/General/RepresentanteVenta';\r\nimport { Sugerencias } from './components/Ayuda/Sugerencias';\r\n\r\n\r\nimport './custom.scss';\r\nimport './assets/sass/style.scss';\r\n\r\n\r\n\r\nconst store = configureStore();\r\n\r\nfunction CarritoSwitch() {\r\n  let { path, url } = useRouteMatch();\r\n\r\n  return (\r\n    <Switch>\r\n      <Route exact path={path} component={Carrito} />\r\n      <Route path={`${path}/ofertas`}  component={CarritoOfertas} />\r\n      <Route path={`${path}/envio`}  component={CarritoEnvio} />\r\n      <Route path={`${path}/transportistas`}  component={Transportistas} />\r\n      <Route path={`${path}/medio-pago`}  component={CarritoMedioPago} />\r\n      <Route path={`${path}/resumen-pedido`}  component={ResumenPedido} />\r\n      <Route path={`${path}/pedido-finalizado`}  component={PedidoFinalizado} />\r\n    </Switch>\r\n  );\r\n}\r\n\r\nexport default class App extends Component {\r\n  static displayName = App.name;\r\n  \r\n  render () {\r\n    const {history} = this.props;\r\n    return (\r\n      <Provider store={store}>\r\n        <AuthProvider>\r\n          <Layout history={history}>\r\n            <Route exact path='/' component={Login} />\r\n            <Route exact path='/linea-negocio' component={LineaNegocio} />\r\n            <Route path='/razon-social' component={RazonSocial} />\r\n            <Route path='/verificar-correo' component={VerificarCorreo} />\r\n            <Route path='/ingresar-contrasenia' component={IngresarContrasenia} />\r\n            <Route path='/recuperar-contrasenia' component={RecuperarContrasenia} />\r\n            <Route path='/verificar-correo-contrasenia' component={RCVerificarCorreo} />\r\n            <Route path='/nueva-contrasenia' component={NuevaContrasenia} />\r\n            <Route path='/solicitar-acceso' component={SolicitarAcceso} />\r\n            <Route path='/dashboard' component={Dashboard} />\r\n            <Route path='/notificaciones' component={Notificaciones} />\r\n            <Route path='/generar-pedido-masivo' component={GenerarPedidoMasivo} />\r\n            <Route path='/pedido-masivo' component={PedidoMasivo} />\r\n            <Route path='/generar-pedido' component={GenerarPedido} />\r\n            <Route path='/generar-pedido-desktop' component={GenerarPedidoDesktop} />\r\n            <Route path='/buscador-codigo' component={BuscadorCodigo} />\r\n            <Route path='/buscador-vehiculo' component={BuscadorVehiculo} />\r\n            <Route path='/repuestos' component={Repuestos} />\r\n            <Route path='/carrito' component={CarritoSwitch} />\r\n            <Route path='/perfil' component={Perfil} />\r\n            <Route path='/transportistas' component={TransportistasPerfil} />\r\n            <Route path='/cambiar-contrasenia' component={CambiarContrasenia} />\r\n            <Route path='/locales' component={Locales} />\r\n            <Route path='/dispositivos' component={Dispositivos} />\r\n            <Route path='/pedido-sugerido' component={PedidoSugerido} />\r\n            <Route path='/pre-pedidos' component={PrePedidos} />\r\n            <Route path='/lista-deseos' component={ListaDeseos} />\r\n            <Route path='/productos-comprados' component={ProductosVendidos} />\r\n            <Route path='/ofertas' component={Ofertas} />\r\n            <Route path='/historial-pedidos' component={HistorialPedidos} />\r\n            <Route path='/detalle-pedido' component={DetallePedido} />\r\n            <Route path='/tracking' component={Tracking} />\r\n            <Route path='/estado-cuenta' component={EstadoCuenta} />\r\n            <Route path='/estado-cuenta-detalle' component={EstadoCuentaDetalle} />\r\n            <Route path='/bonificaciones' component={Bonificaciones} />\r\n            <Route path='/bonificacion' component={Bonificacion} />\r\n            <Route path='/bonificacion-grafico' component={BonificacionGrafico} />\r\n            <Route path='/preguntas-frecuentes' component={PreguntasFrecuentes} />\r\n            <Route path='/incidente' component={Incidente} />\r\n            <Route path='/requerimientos' component={Requerimientos} />\r\n            <Route path='/sugerencias' component={Sugerencias} />\r\n            <Route path='/eliminar-cuenta' component={EliminarCuenta} />\r\n            {/* -------------- */}\r\n            \r\n            <Route path='/representante-venta' component={RepresentanteVenta} />\r\n            <Route path='/vehiculo-dashboard' component={VehiculoDashboard} />\r\n            \r\n          </Layout>\r\n        </AuthProvider>\r\n      </Provider>\r\n    );\r\n  }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n  window.location.hostname === 'localhost' ||\r\n  // [::1] is the IPv6 localhost address.\r\n  window.location.hostname === '[::1]' ||\r\n  // 127.0.0.1/8 is considered localhost for IPv4.\r\n  window.location.hostname.match(\r\n    /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n  )\r\n);\r\n\r\nexport default function register () {\r\n  if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n    // The URL constructor is available in all browsers that support SW.\r\n    const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n    if (publicUrl.origin !== window.location.origin) {\r\n      // Our service worker won't work if PUBLIC_URL is on a different origin\r\n      // from what our page is served on. This might happen if a CDN is used to\r\n      // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n      return;\r\n    }\r\n\r\n    window.addEventListener('load', () => {\r\n      const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n      if (isLocalhost) {\r\n        // This is running on localhost. Lets check if a service worker still exists or not.\r\n        checkValidServiceWorker(swUrl);\r\n      } else {\r\n        // Is not local host. Just register service worker\r\n        registerValidSW(swUrl);\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n  navigator.serviceWorker\r\n    .register(swUrl)\r\n    .then(registration => {\r\n      registration.onupdatefound = () => {\r\n        const installingWorker = registration.installing;\r\n        installingWorker.onstatechange = () => {\r\n          if (installingWorker.state === 'installed') {\r\n            if (navigator.serviceWorker.controller) {\r\n              // At this point, the old content will have been purged and\r\n              // the fresh content will have been added to the cache.\r\n              // It's the perfect time to display a \"New content is\r\n              // available; please refresh.\" message in your web app.\r\n              console.log('New content is available; please refresh.');\r\n            } else {\r\n              // At this point, everything has been precached.\r\n              // It's the perfect time to display a\r\n              // \"Content is cached for offline use.\" message.\r\n              console.log('Content is cached for offline use.');\r\n            }\r\n          }\r\n        };\r\n      };\r\n    })\r\n    .catch(error => {\r\n      console.error('Error during service worker registration:', error);\r\n    });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n  // Check if the service worker can be found. If it can't reload the page.\r\n  fetch(swUrl)\r\n    .then(response => {\r\n      // Ensure service worker exists, and that we really are getting a JS file.\r\n      if (\r\n        response.status === 404 ||\r\n        response.headers.get('content-type').indexOf('javascript') === -1\r\n      ) {\r\n        // No service worker found. Probably a different app. Reload the page.\r\n        navigator.serviceWorker.ready.then(registration => {\r\n          registration.unregister().then(() => {\r\n            window.location.reload();\r\n          });\r\n        });\r\n      } else {\r\n        // Service worker found. Proceed as normal.\r\n        registerValidSW(swUrl);\r\n      }\r\n    })\r\n    .catch(() => {\r\n      console.log(\r\n        'No internet connection found. App is running in offline mode.'\r\n      );\r\n    });\r\n}\r\n\r\nexport function unregister () {\r\n  if ('serviceWorker' in navigator) {\r\n    navigator.serviceWorker.ready.then(registration => {\r\n      registration.unregister();\r\n    });\r\n  }\r\n}\r\n","import 'react-app-polyfill/ie9';\r\nimport 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\n\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter, Router } from 'react-router-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\nimport { createBrowserHistory } from \"history\";\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\nconst history = createBrowserHistory();\r\nReactDOM.render(\r\n  <BrowserRouter basename={baseUrl}>\r\n    <Router history={history}>\r\n      <App history={history} />\r\n      {/* <App /> */}\r\n    </Router>\r\n  </BrowserRouter>,\r\n  rootElement);\r\n\r\nregisterServiceWorker();\r\n\r\n","module.exports = __webpack_public_path__ + \"static/media/product.914ce5ea.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANWSURBVHgBzVjtcdswDKV7/V9vUI3gDaxOYG/AdIJkA3kDdQO1E3gEthMkGzAbKJ3glazoBALBDyXyJe9OZ4sAwQcQBElt1AoA0LofLYh+bzabX+ojwJFskEerVsAn9Xa0BflBfQS4iBkSvTG8W9a2VdeGG+TGPdpPsSDj065De1sz/d6BVZxwRk5swIESDk5QUJkl7UYgeArR9jip10IgyQkfC2Q61ke7Z8cIUpwhzNpbSKagVRy1pbDemVqSPL+89wdMUcwN0Ai2euRhMJ8Vj3Mt0QPrqImsYYS9Ex0yC8LJ9phXhgvBPbFJMahaYJ5DRpA3gUD1ig363YUgaeczuK+1KS2EVl0JbIbs0s5bFtVzQd9HxefjPaac879+FWtkVvKbpp0Y6ZiRbWIggzyse+4SYyTr8BKiO2ZkL8hH1KMXxhiI3KilwDSVZzbQlsgbxGVlDAN34TElsohLnn9va8j1SOwaTJc70UNOjYPgUEvkqTprwbbr2jzTzKEZyUIAGiTKXZDdF8buL8pdQsEb9x7z3OyZ58VaisLCxJTvA+Lo/4dk5JJn+8yghuhXlRPE+/4ho7sHSy3f/pnpPbg7zvfCuA35/6gq4Gw+XQITsM3o/nG6G/f3SNv5VcR73qjr4yklCGlx5O2cqD9i2TC9OkH6gfxvVQUQl5wnTg5T8fcLbXTPrWTkBnkMmNfQWyZvVZnoQPQtkx2R3zgsJ2syyh3znhq2yO/nJ2ZrYHKbGNNgCspWMtoE0ry2jUzvjsktWKpgqrdG0OM6FH7cDksufCjcJN37T8gYM+07ZqNPBYMj9wGi4dzpiysjN+7nh9BPisaje765Pg9C+3M/vObqjHnu2IxeLr+zVxXEG0GnlgBxJdAVfXx++0OIDk/VbZI5ueyoxzovux4sBOJy97W24y4XzRA5X3L8Ch1Q2MlAinnoozGvy7zc1U2/4OEQ2qVy86wD+TyaugVYTCu+QRyYuumHfHq3KONWsHWu6McdqV9QCbIchr8LNijuUT6gL1v1GbKzcoM4TWjuiTdMTOfNYRWSjKxBYt9Fpg6iUHbw8nnIQkib1cEIWcgLRKv3BuIzgYRGvTcQ10GO5Z9prgXEx74LxrWiuVErAdNC+8Ka//qLnVoB/wBbP8WgQlw8jAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAcCAYAAAD1PDaSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAOPSURBVHgB7VhdSFRBFP5mNbMs2n4oMNA0KKjWl3pIwTKSQtAUenMN9CUyM1CCSpCIQqyXhDC1h5RqxcJ+RMMwiUjKAn1otywNf1ZK0zQ1Xb0aeptz9u611TV7CHHBDy53Zs6dme+c+c5hdgU0qKpqVBTFiEUKf3//QSHEILUFkXUovx5J1lFY5BACJROKX4ZwjE0US+LJ8BIQcTEyOq7Cm6Bi0ABvg4DR+0hLLJFeKCyRnolBxzg//xu+cxmsbf1Ys8oPwRtXu41XvmnHuaJ6jdQEgjetgil0Pa4ej8CagOU8XmftQk5pA+ps3dyn8aTobbgiv8mxNMBS26KvF7RpNczSlhS9XVtzHLbWfkSGBc5FzXOkaeGI9HKknimBoabczWZ51gx77zATTYvfhaGRCSaRY2lk+93aZsScr2TCRkmWCIWFrkN+hU2zt+jz6ensGcaJay/k912wy3bEqQc8/9XlXIgf3/+ddLD0niJs/zkFn5qHbsTrbN/4nWXew8/JeBP36WRo07M3nadAkftyPxlFGQdQnXsEX2Wb7J2SsGt+WfZhZCXu1p0V8r3P5IxwZ0cPfAsueSTuUR5muWGknPzk+m1AARNXt+7AO7ERQ5pGq+rb5UafZJQ/s5NFmVGofN3BduoXZkS5rUkSIdm42mEyyoSXNucYkSWpFMp1TFvXYf/zt8CAAsO9QkymZs9PmkALnF7RzKQZyiis3f26/UbFe9YfETAf3I4geTLWtj62mULWe1yzsr5Db5MESRIkI3LArGmakB44AJ9lir7vTHiUhxgbhU9ZgfTUSULdHAx15x6OLoGOlI6+6VYiR5aSzq4dO4ES2BNs7U6nnXMapZ5HWCbVuXHTe7c2wafijt6fOnR01jqzIk2TfMsKdcJTUhaTKZnc7uwd4bcrs/+8aVFCkiwIVfV22M3DeuUhh4wBfqx7QlNxIp/MzEBR7hjqnupjk/HHOFjzkja0fmTC6oqVmIqMcfPU3uMknf/Yxo+rpKUlmPiIiZhFqw47U0o5LyiqYaEbpIS28bfk2EzCHADFAfGhcTpQ8UlA4BZ4guerqUtH/ivdhkkertJFIN3HhW9B7N4QfYxKGJU/a3sfRz9IS1JKQqoQseEhslSaMBcEBWztBvwN3nefxtLdY+GwRHqh4KWk5a9beBPo17gwIA9eBHkTzKPbIBxj4xdUFQmyuWj/FiMIFSUBAcsv/gZ6MZFifS8tfQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAcCAYAAAD1PDaSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJsSURBVHgB7Zg9bBNBEIXfXuzYUpSza3zu81MTlFQUSLQEKXRIlqBCgBRokCgIBQgaEomChgjTJkoiykiI1jG9E/qY3okxudjnW2bm9oysnK1Uzp3k13hvdmf225k5a20FI6113nXdPGKqbDbbUEo1eKwYtuV29oj6JmIupVBuu5OrqnXW/kLgJSREDK7+/D3XSJI0GhaSJoV88qBJY+hRaQw9KqUGTejTU/hbu/APj3o25RSQevYUV62B0J0Hj+BXfhKo07NNbpYQB0W2h187hK7/RnrtJayl60g9f4zMwQ+o+VmZ71IFvA8fqRrNyKBcJVn3+Wt/3EpV4g4T+3a3d4euicy0snPUBk/QWX1hIPfIZsO6fUuCemtvkVp/R7ZpAREfOhBXxpqfgUewFj3zWmkztlNrSeVqv2AtLpj1VYmL3DRw0oRPB7LmZmU/XgPi4D0uB10sAJV+W5c3XLwRwN9bJvA3YueMp1aWKatlApmDt8VZopsBtRVnTB/XCSpH9h1MPCwJqLe9Qz536ZPgnGsC5x9UCXgGftGhatQlYenNT1F4g789LAH8f0oOqE1Ww2fJHK8pBn3PLypnluHDVuLnAMwOHCmrlqxrGt+C8XXkUJzx3toTqtTxxXYaeGGS0taOBEwyTRlMr7+XsvEYORsT1C7d/e/mEKY9lhZkM573yT+0h7A+tQePxdfE4erJ4Si2pnk5uB3YuWphAoZCa3oR2yv3+140dszsf0McFAnNmekri8lMXJS8+zTGd4/RaQw9KiUUmn7dIkniX+PKwgYSJAVsKB60zs5faY07NIzt32IspVGemsq8/gejrRkdLv5YxwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAcCAYAAAD1PDaSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK+SURBVHgB7Vg/aBNRGP9eKDaQITe12wmFOplMFUUtiHERa3XU1kFUsNpBnYQ6iIOFbslQUSjaweoo1pYu1kEFlXRqdFFQkq2d7qDXXupwvt+7fOfd5RL6B0IO8oPA+9798r3f93vfe+QiqAbHcTTbtjVqUySTSUMIYWAsINay/76Rqk9Rm0MImt22D9wT1tb2Cyn8KsUEEC42NqsOxQkOGQmKGwRp8RMt0RHdKnRE7wflNZNWf6/viNsVNYkvm5YdmEunkpTt6/Fiw6rWcYCDPelAjsGMTs3W4OeTrz9TZd2kpckR2pPoscICrf6pr1qXgr4UrskCuun+zHuaWy5FcrDwwrefSsjS45E64XD1+N3ndCWXUc8Qz31wc72UOTHfDJHtAVeR7MfMLe8zdT2nnJieL3o8uOrnPLtzTrn3ZH6FxocHasUt1+VHMcDE5ZOBGPkwNuUu7lq0XxR/Rs9k1Vw4YYBTc6gsi0Ph48NH5I6tKfcYn0oV5SrcxK5wDO5TWXTYmCh0NXqAnrtZWAws5goZ8ObQ136OuWGroh5cOqFicNFCcPv8sUPKefBRILvMMbgoYvCwLkWvqCLAj0JDp7XQF3AIsfXvvv76LzJ0EM1NdxeYgyKnbuQUD+7BcTh5WwqCQI5RgF47wBiDzy0ThYZO671p1aN+jOUXVTJ2Gw6FOXiuOBdcp4akw+weYnaVuf62AnCWXH6RRk9nAjcWY1f3tCEd0BpsGQM3QRjsHrsKTL8tBmI/sDsAbqgoNO3psxOvvBgLlEOLoKf9HPQzDl64H+He0NF+KslrlF3FHK5GuBpGtq+36X0d+Xuae80POJyRyXgRHLCP3yshTlK2Q3+kkAp2QJDXu/tB/F4CqPODqXXoiG4VEni7pTgBb+MiQXmKEeStmRcYWFvVh45DF+Wwbf8WA4RDs6lU96N/wCBkuGQ3tMsAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/logo-1.fefac5c3.png\";"],"sourceRoot":""}