PageSourceSearch

https://peisa.com.pe/_nuxt/CStvpU93.js

js peisa.com.pe collected 2026-09-27 01:02:13 UTC 5,134 bytes, 1 lines download raw bytes

1import{_ as q}from"./D9LKWYn9.js";import{B as T,h as N,d as B,i as R,C as V,D as L,s as P,c as n,f as c,b as a,t as u,a as F,w as S,F as k,y as h,g as w,z as p,q as J,o as i,e as b}from"./C-pd9DEJ.js";function M(){const d=T(),x=N(()=>{const r=d.currency.iso||"PEN",s=d.locale||"es-PE",m=d.currency.decimals??2;return new Intl.NumberFormat(s,{style:"currency",currency:r,minimumFractionDigits:m,maximumFractionDigits:m})}),y=N(()=>{const r=d.locale||"es-PE",s=d.currency.decimals??2;return new Intl.NumberFormat(r,{minimumFractionDigits:s,maximumFractionDigits:s})});function v(r){const s=typeof r=="number"?r:parseFloat(String(r??0));return Number.isFinite(s)?x.value.format(s):""}function g(r){const s=typeof r=="number"?r:parseFloat(String(r??0));return Number.isFinite(s)?y.value.format(s):""}function f(r){const s=typeof r=="number"?r:parseFloat(String(r??0));return Number.isFinite(s)?`${d.currency.symbol} ${g(s)}`:""}return{format:v,formatNumber:g,formatWithSymbol:f}}const O={class:"max-w-2xl mx-auto px-4 py-12"},z={key:0,class:"text-center py-16"},H={key:1,class:"text-center py-16"},Q={class:"text-gray-500 mb-8"},W={key:2},A={class:"text-center mb-8"},G={class:"text-gray-500"},K={key:0,class:"mb-6 rounded-lg bg-amber-50 border border-amber-200 p-4 text-sm text-amber-800"},U={class:"divide-y divide-gray-100 border border-gray-100 rounded-lg mb-8"},X=["src","alt"],Y={class:"flex-1 min-w-0"},Z={class:"text-sm font-medium text-gray-900 truncate"},tt={class:"text-xs text-gray-500"},et={class:"text-sm font-semibold text-gray-900"},rt={class:"flex flex-col sm:flex-row gap-3 justify-center"},at=B({__name:"[token]",setup(d){const x=R(),y=V(),{format:v}=M(),g=x.params.token,f=p(!0),r=p(""),s=p(0),m=p([]),_=p([]),C=p("");function I(l,e){if(l)try{const o=localStorage.getItem("mt_checkout_form"),t=o?JSON.parse(o):{},[E,...j]=e.split(" ");t.customer={...t.customer||{},email:l,firstName:t.customer?.firstName||E||"",lastName:t.customer?.lastName||j.join(" ")},t.ts=Date.now(),localStorage.setItem("mt_checkout_form",JSON.stringify(t))}catch{}}async function $(){f.value=!0,r.value="";try{const l=await $fetch("/api/storefront/cart-recover",{query:{token:g}});if(!l.success||!l.data){r.value=l.message||"El enlace de recuperación no es válido o ya expiró";return}const e=l.data;C.value=e.email,y.clearCart();for(const o of e.items){if(o.sin_stock){m.value.push(o);continue}let t=o.cantidad;o.stock!==null&&t>o.stock&&(t=o.stock,_.value.push(o)),y.addItem({productId:String(o.producto_id),variantId:o.variante_id!==null?String(o.variante_id):void 0,name:o.nombre,price:o.precio,image:o.imagen||void 0,sku:o.sku||void 0,maxQuantity:o.stock??void 0},t,{openDrawer:!1}),s.value++}if(s.value===0){r.value="Los productos de tu carrito ya no están disponibles";return}I(e.email,e.nombre)}catch{r.value="No pudimos recuperar tu carrito. Intenta nuevamente en unos minutos."}finally{f.value=!1}}function D(){J("/checkout")}return L($),P({title:"Recuperar carrito"}),(l,e)=>{const o=q;return i(),n("div",O,[c(f)?(i(),n("div",z,[...e[0]||(e[0]=[a("div",{class:"animate-spin rounded-full h-10 w-10 border-b-2 border-primary mx-auto mb-4"},null,-1),a("p",{class:"text-gray-500"},"Recuperando tu carrito…",-1)])])):c(r)?(i(),n("div",H,[e[2]||(e[2]=a("div",{class:"text-5xl mb-4"},"🛒",-1)),e[3]||(e[3]=a("h1",{class:"text-xl font-semibold text-gray-900 mb-2"},"No pudimos recuperar tu carrito",-1)),a("p",Q,u(c(r)),1),F(o,{to:"/",class:"inline-block px-6 py-3 rounded-lg bg-primary text-white font-medium hover:opacity-90 transition-opacity"},{default:S(()=>[...e[1]||(e[1]=[b(" Seguir comprando ",-1)])]),_:1})])):(i(),n("div",W,[a("div",A,[e[4]||(e[4]=a("div",{class:"text-5xl mb-4"},"🎉",-1)),e[5]||(e[5]=a("h1",{class:"text-2xl font-semibold text-gray-900 mb-2"},"¡Tu carrito te estaba esperando!",-1)),a("p",G," Restauramos "+u(c(s))+" "+u(c(s)===1?"producto":"productos")+" de tu carrito. ",1)]),c(m).length||c(_).length?(i(),n("div",K,[(i(!0),n(k,null,h(c(m),t=>(i(),n("p",{key:`u-${t.producto_id}-${t.variante_id}`},[a("strong",null,u(t.nombre),1),e[6]||(e[6]=b(" ya no está disponible y no se agregó. ",-1))]))),128)),(i(!0),n(k,null,h(c(_),t=>(i(),n("p",{key:`a-${t.producto_id}-${t.variante_id}`},[a("strong",null,u(t.nombre),1),b(": ajustamos la cantidad al stock disponible ("+u(t.stock)+"). ",1)]))),128))])):w("",!0),a("ul",U,[(i(!0),n(k,null,h(c(y).items,t=>(i(),n("li",{key:`${t.productId}-${t.variantId||""}`,class:"flex items-center gap-4 p-4"},[t.image?(i(),n("img",{key:0,src:t.image,alt:t.name,class:"w-14 h-14 roun
1ded object-cover border border-gray-100"},null,8,X)):w("",!0),a("div",Y,[a("p",Z,u(t.name),1),a("p",tt,"Cantidad: "+u(t.quantity),1)]),a("p",et,u(c(v)(t.price*t.quantity)),1)]))),128))]),a("div",rt,[a("button",{class:"px-8 py-3 rounded-lg bg-primary text-white font-medium hover:opacity-90 transition-opacity",onClick:D}," Completar mi compra "),F(o,{to:"/",class:"px-8 py-3 rounded-lg border border-gray-200 text-gray-700 font-medium text-center hover:bg-gray-50 transition-colors"},{default:S(()=>[...e[7]||(e[7]=[b(" Seguir comprando ",-1)])]),_:1})])]))])}}});export{at as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.