HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /var/www/lapieza.do/
Upload File :
Current File : /var/www/lapieza.do/695.4d93c26487eb74c8.js
"use strict";(self.webpackChunkapp_lapieza=self.webpackChunkapp_lapieza||[]).push([[695],{7935:(b,I,r)=>{r.d(I,{F:()=>C});var m=r(4412),l=r(7673),n=r(6354),t=r(980),f=r(9437),_=r(8141),E=r(5312),p=r(8041),v=r(8457),h=r(5721);let C=(()=>{class a{http;loginService;apiUrl=E.c.apiUrl;wishlistItemsSubject=new m.t([]);wishlistItems=[];isLoadingSubject=new m.t(!1);wishlistCountSubject=new m.t(0);wishlistCount$=this.wishlistCountSubject.asObservable();isLoading$=this.isLoadingSubject.asObservable();constructor(s,i){this.http=s,this.loginService=i,this.loginService.getAuthStatus().subscribe(o=>{o?this.loadWishlistItems():(this.wishlistItems=[],this.wishlistItemsSubject.next([]))}),this.loginService.isAuthenticated()&&this.loadWishlistItems()}getWishlistItems(){return this.wishlistItemsSubject.asObservable()}getWishlistCount(){return this.getWishlistItems().pipe((0,n.T)(s=>s.length))}loadWishlistItems(){this.loginService.isAuthenticated()&&(this.isLoadingSubject.next(!0),this.getWishlists().pipe((0,t.j)(()=>this.isLoadingSubject.next(!1))).subscribe({next:s=>{this.wishlistItems=s,this.wishlistItemsSubject.next(this.wishlistItems),localStorage.setItem("wishlistCount",s.length.toString())},error:s=>{console.error("Error cargando items de wishlist:",s)}}))}getWishlists(){const s=localStorage.getItem("authToken");if(!s)return(0,l.of)([]);const i=new p.b({Authorization:`Bearer ${s}`});return this.http.get(`${this.apiUrl}wishlists`,{headers:i}).pipe((0,n.T)(o=>o&&o.success&&Array.isArray(o.data)?o.data:(console.warn("Invalid API response format:",o),[])),(0,f.W)(o=>(console.error("Error fetching Wishlists:",o),(0,l.of)([]))))}addToWishlist(s){const i=localStorage.getItem("authToken");if(!i)return(0,l.of)({success:!1,error:"User not authenticated"});const o=new p.b({Authorization:`Bearer ${i}`,"Content-Type":"application/json"});return this.isLoadingSubject.next(!0),this.http.get(`${this.apiUrl}wishlists-add-product?product_id=${s}`,{headers:o}).pipe((0,_.M)(e=>{e&&e.success&&(this.loadWishlistItems(),this.updateWishlistCount(this.wishlistItems.length))}),(0,f.W)(e=>(console.error("Error adding product to wishlist:",e),(0,l.of)({success:!1,error:"Failed to add product to wishlist"}))),(0,t.j)(()=>this.isLoadingSubject.next(!1)))}removeFromWishlist(s){const i=localStorage.getItem("authToken");if(!i)return console.error("No auth token available"),(0,l.of)({success:!1,error:"User not authenticated"});const o=new p.b({Authorization:`Bearer ${i}`});this.isLoadingSubject.next(!0),this.updateWishlistCount(this.wishlistItems.length);const e=this.wishlistItems.find(g=>g.id===s);return e&&e.product?this.http.get(`${this.apiUrl}wishlists-remove-product?product_id=${e.product.id}`,{headers:o}).pipe((0,_.M)(g=>{g&&g.success&&(this.wishlistItems=this.wishlistItems.filter(w=>w.id!==s),this.wishlistItemsSubject.next(this.wishlistItems),localStorage.setItem("wishlistCount",this.wishlistItems.length.toString()))}),(0,f.W)(g=>(console.error("Detailed error removing product:",g),g.error&&console.error("Server error details:",g.error),this.isLoadingSubject.next(!1),(0,l.of)({success:!1,error:"Failed to remove product from wishlist"}))),(0,t.j)(()=>{this.isLoadingSubject.next(!1)})):(console.error("Wishlist item not found or missing product data"),this.isLoadingSubject.next(!1),(0,l.of)({success:!1,error:"Wishlist item not found"}))}isInWishlist(s){return this.wishlistItems.some(i=>i.product&&i.product.id===s)}checkIsInWishlist(s){const i=localStorage.getItem("authToken");if(!i)return(0,l.of)(!1);const o=new p.b({Authorization:`Bearer ${i}`});return this.http.get(`${this.apiUrl}wishlists-check-product?product_id=${s}`,{headers:o}).pipe((0,n.T)(e=>e&&e.success&&e.exists),(0,f.W)(e=>(console.error("Error checking product in wishlist:",e),(0,l.of)(!1))))}getWishlistItemId(s){const i=this.wishlistItems.find(o=>o.product&&o.product.id===s);return i?i.id:null}toggleWishlistItem(s){if(this.isInWishlist(s)){const i=this.getWishlistItemId(s);if(i)return this.removeFromWishlist(i)}return this.addToWishlist(s)}updateWishlistCount(s){this.wishlistCountSubject.next(s),localStorage.setItem("wishlistCount",s.toString())}static \u0275fac=function(i){return new(i||a)(v.KVO(p.a),v.KVO(h.H))};static \u0275prov=v.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})()},8695:(b,I,r)=>{r.r(I),r.d(I,{WishlistComponent:()=>s});var m=r(8834),l=r(5528),n=r(9121),t=r(8457),f=r(7935);const _=i=>["/product/",i],E=()=>[1,2,3,4,5];function p(i,o){1&i&&(t.j41(0,"div",6)(1,"div",7)(2,"span",8),t.EFF(3,"Cargando..."),t.k0s()()())}function v(i,o){if(1&i&&(t.j41(0,"div",9),t.EFF(1),t.k0s()),2&i){const e=t.XpG();t.R7$(),t.SpI(" ",e.error," ")}}function h(i,o){1&i&&(t.j41(0,"div",10)(1,"h4"),t.EFF(2,"Tu lista de deseos est\xe1 vac\xeda"),t.k0s(),t.j41(3,"p"),t.EFF(4,"Agrega productos a tu lista de deseos para verlos aqu\xed"),t.k0s(),t.j41(5,"a",11),t.EFF(6,"Explorar productos"),t.k0s()())}function C(i,o){if(1&i&&(t.j41(0,"span"),t.nrm(1,"i",31),t.k0s()),2&i){const e=o.$implicit,c=t.XpG().$implicit,d=t.XpG(2);t.R7$(),t.Y8G("ngClass",d.getStarClass(e,c))}}function a(i,o){if(1&i){const e=t.RV6();t.j41(0,"div",14)(1,"div",15)(2,"div",16)(3,"button",17),t.bIt("click",function(){const d=t.eBV(e).$implicit,g=t.XpG(2);return t.Njj(g.removeFromWishlist(d.id))}),t.nrm(4,"i",18),t.k0s()(),t.j41(5,"div",19)(6,"div",20)(7,"a",21),t.nrm(8,"img",22),t.k0s()()(),t.j41(9,"div",23)(10,"div",24)(11,"div",25),t.DNE(12,C,2,1,"span",26),t.k0s(),t.j41(13,"a",21)(14,"h5",27),t.EFF(15),t.k0s()(),t.j41(16,"h5",28)(17,"span",29),t.EFF(18),t.k0s()(),t.nrm(19,"app-cart-button-icon",30),t.k0s()()()()}if(2&i){const e=o.$implicit;t.R7$(7),t.Y8G("routerLink",t.eq3(11,_,e.product.id)),t.R7$(),t.FS9("alt",e.product.name),t.Y8G("src",e.product.thumbnail_image,t.B4B),t.R7$(4),t.Y8G("ngForOf",t.lJ4(13,E)),t.R7$(),t.Y8G("routerLink",t.eq3(14,_,e.product.id)),t.R7$(2),t.JRh(e.product.name),t.R7$(3),t.JRh(e.product.base_price),t.R7$(),t.Y8G("productId",e.product.id)("variant",e.product.variant||"5x5x5")("weight",e.product.weight||0)("initialQuantity",1)}}function u(i,o){if(1&i&&(t.j41(0,"div",12),t.DNE(1,a,20,16,"div",13),t.k0s()),2&i){const e=t.XpG();t.R7$(),t.Y8G("ngForOf",e.wishlistItems)}}let s=(()=>{class i{wishlistService;wishlistItems=[];isLoading=!0;error=null;wishlistSubscription=null;item;constructor(e){this.wishlistService=e}ngOnInit(){this.loadWishlistItems()}loadWishlistItems(){this.isLoading=!0,this.wishlistSubscription=this.wishlistService.getWishlistItems().subscribe({next:e=>{this.wishlistItems=e,this.isLoading=!1},error:e=>{this.error="No se pudieron cargar los elementos de la lista de deseos.",this.isLoading=!1,console.error("Error cargando wishlist:",e)}}),this.wishlistService.loadWishlistItems()}removeFromWishlist(e){console.log("Attempting to remove wishlist item with ID:",e),this.wishlistService.removeFromWishlist(e).subscribe({next:c=>{console.log("Remove response:",c),c&&c.success?console.log("Producto eliminado del wishlist con \xe9xito"):console.error("Error al eliminar el producto del wishlist",c)},error:c=>{console.error("Error completo al eliminar producto:",c)}})}addToCart(e){console.log("Agregar al carrito producto con ID:",e)}getStarClass(e,c){const d=this.item?.product?.rating||0;return{"fa-star":e<=d,"fa-star-o":e>d}}ngOnDestroy(){this.wishlistSubscription&&this.wishlistSubscription.unsubscribe()}static \u0275fac=function(c){return new(c||i)(t.rXU(f.F))};static \u0275cmp=t.VBU({type:i,selectors:[["app-wishlist"]],decls:6,vars:4,consts:[[1,"wishlist-section","section-b-space"],[1,"container-fluid-lg"],["class","text-center",4,"ngIf"],["class","alert alert-danger",4,"ngIf"],["class","text-center my-5",4,"ngIf"],["class","row g-sm-3 g-2",4,"ngIf"],[1,"text-center"],["role","status",1,"spinner-border","text-primary"],[1,"visually-hidden"],[1,"alert","alert-danger"],[1,"text-center","my-5"],["href","/explore",1,"btn","btn-solid-default"],[1,"row","g-sm-3","g-2"],["class","col-xxl-2 col-lg-3 col-md-4 col-6 product-box-contain",4,"ngFor","ngForOf"],[1,"col-xxl-2","col-lg-3","col-md-4","col-6","product-box-contain"],[1,"product-box-4","h-100"],[1,"product-header-top"],[1,"btn","wishlist-button","btn-trash",3,"click"],[1,"fa","fa-regular","fa-trash"],[1,"product-header"],[1,"product-image"],[3,"routerLink"],[1,"img-fluid","blur-up","lazyload",3,"src","alt"],[1,"product-footer"],[1,"product-detail"],[1,"rating-stars"],[4,"ngFor","ngForOf"],[1,"name"],[1,"price"],[1,"theme-color"],[3,"productId","variant","weight","initialQuantity"],["aria-hidden","true",1,"fa",3,"ngClass"]],template:function(c,d){1&c&&(t.j41(0,"section",0)(1,"div",1),t.DNE(2,p,4,0,"div",2)(3,v,2,1,"div",3)(4,h,7,0,"div",4)(5,u,2,1,"div",5),t.k0s()()),2&c&&(t.R7$(2),t.Y8G("ngIf",d.isLoading),t.R7$(),t.Y8G("ngIf",d.error),t.R7$(),t.Y8G("ngIf",!d.isLoading&&0===d.wishlistItems.length&&!d.error),t.R7$(),t.Y8G("ngIf",!d.isLoading&&d.wishlistItems.length>0))},dependencies:[m.D,m.E,m.G,m.I,l.R,l.m,n.X],styles:[".btn-trash[_ngcontent-%COMP%]{float:right;color:#fff;border:1px solid #ddd!important;cursor:pointer!important;background:#003b73;border-radius:50px;padding:9px 10px;z-index:1000!important}"]})}return i})()},9121:(b,I,r)=>{r.d(I,{X:()=>v});var m=r(8834),l=r(9417),n=r(8457),t=r(5721),f=r(99),_=r(8240);function E(h,C){if(1&h){const a=n.RV6();n.j41(0,"div",5)(1,"div",6)(2,"button",7),n.nrm(3,"i",8),n.k0s(),n.j41(4,"input",9),n.mxI("ngModelChange",function(s){n.eBV(a);const i=n.XpG();return n.DH7(i.quantity,s)||(i.quantity=s),n.Njj(s)}),n.k0s(),n.j41(5,"button",10),n.nrm(6,"i",11),n.k0s()()()}if(2&h){const a=n.XpG();n.R7$(4),n.R50("ngModel",a.quantity)}}function p(h,C){if(1&h&&(n.j41(0,"div"),n.EFF(1),n.k0s()),2&h){const a=n.XpG();n.R7$(),n.JRh(a.alertMessage)}}let v=(()=>{class h{elementRef;loginService;router;cartService;productId;variant;weight;initialQuantity=1;hideCartCounter=!1;isAuthenticated=!1;authSubscription;quantity=this.initialQuantity;alertMessage="";constructor(a,u,s,i){this.elementRef=a,this.loginService=u,this.router=s,this.cartService=i}ngAfterViewInit(){this.initAddToCartAnimation(),this.addDocumentReadyScripts(),this.initializeQuantityButtons(),this.authSubscription=this.loginService.getAuthStatus().subscribe(a=>{this.isAuthenticated=a})}initAddToCartAnimation(){$(".addcart-button").on("click",a=>{if(!this.isAuthenticated)return alert("You need to log in to add items to the cart."),void this.router.navigate(["/login"]);const u=$(window).width();let s;s=void 0!==u&&u>768?$(".button-item"):$(".mobile-cart ul li a .icli.fly-cate");const o=$(a.currentTarget).closest(".product-box-4, .deal-box").find(".product-image img, .category-image img").eq(0);!s||!s.offset()||(o.length&&o.clone().css({opacity:"0.5",position:"absolute",height:"130px",width:"130px","z-index":"100"}).offset({top:o.offset()?.top||0,left:o.offset()?.left||0}).appendTo($("body")).animate({top:(s.offset()?.top||0)+10,left:(s.offset()?.left||0)+10,width:75,height:75},1e3,"easeInOutExpo").animate({width:0,height:0},()=>{$(this).detach()}),setTimeout(()=>{$(".item-section").addClass("active")},1500),setTimeout(()=>{$(".item-section").removeClass("active")},5e3))})}addDocumentReadyScripts(){$(document).ready(function(){$(".button-item").on("click",function(){$(".item-section").addClass("active")}),$(".close-button").on("click",function(){$(".item-section").removeClass("active")}),$(".btn-cart").on("click",function(){setTimeout(function(){$(".item-section").addClass("active")},1500),setTimeout(function(){$(".item-section").removeClass("active")},5e3)})})}initializeQuantityButtons(){const a=this.elementRef.nativeElement;a.querySelectorAll(".qty-right-plus").forEach(i=>{i.addEventListener("click",()=>{if(!this.isAuthenticated)return;const o=i.previousElementSibling;if(o){const e=parseInt(o.value,10)||0;e<9&&(o.value=(e+1).toString())}})}),a.querySelectorAll(".qty-left-minus").forEach(i=>{i.addEventListener("click",()=>{if(!this.isAuthenticated)return;const o=i.nextElementSibling;if(o){const e=parseInt(o.value,10)||0;e>1&&(o.value=(e-1).toString())}})})}handleAddToCartClick(){if(!this.isAuthenticated)return this.alertMessage="You need to log in to add items to the cart.",void this.router.navigate(["/login"]);const a={id:this.productId,weight:this.weight,variant:this.variant,quantity:this.quantity.toString()};this.cartService.addToCart(a).subscribe({next:u=>{this.alertMessage="Item added to cart successfully"},error:u=>{this.alertMessage=`Error while adding item to cart: ${u}`}})}increaseQuantity(){this.quantity<9&&this.quantity++}decreaseQuantity(){this.quantity>1&&this.quantity--}ngOnDestroy(){this.authSubscription&&this.authSubscription.unsubscribe()}static \u0275fac=function(u){return new(u||h)(n.rXU(n.aKT),n.rXU(t.H),n.rXU(f.t),n.rXU(_.m))};static \u0275cmp=n.VBU({type:h,selectors:[["app-cart-button-icon"]],inputs:{productId:"productId",variant:"variant",weight:"weight",initialQuantity:"initialQuantity",hideCartCounter:"hideCartCounter"},decls:6,vars:2,consts:[[1,"price-qty"],["class","counter-number",4,"ngIf"],[1,"buy-button","buy-box","buy-button-2","btn","btn-cart","addcart-button",2,"background-color","#e63118",3,"click"],[1,"iconly-Buy","icli","text-white","m-0"],[4,"ngIf"],[1,"counter-number"],[1,"counter"],["title","Login required to adjust quantity",1,"qty-left-minus"],[1,"fa-solid","fa-minus"],["type","text","name","quantity","value","1","title","Login required to adjust quantity",1,"form-control","input-number","qty-input",3,"ngModelChange","ngModel"],["title","Login required to adjust quantity",1,"qty-right-plus"],[1,"fa-solid","fa-plus"]],template:function(u,s){1&u&&(n.j41(0,"div",0),n.DNE(1,E,7,1,"div",1),n.j41(2,"button",2),n.bIt("click",function(){return s.handleAddToCartClick()}),n.nrm(3,"i",3),n.k0s(),n.nrm(4,"br"),n.DNE(5,p,2,1,"div",4),n.k0s()),2&u&&(n.R7$(),n.Y8G("ngIf",!s.hideCartCounter),n.R7$(4),n.Y8G("ngIf",!s.alertMessage))},dependencies:[m.D,m.I,l.YN,l.me,l.BC,l.vS],styles:[".qty-right-plus[_ngcontent-%COMP%], .qty-left-minus[_ngcontent-%COMP%]{background:#fafafa!important}"]})}return h})()}}]);