PageSourceSearch

https://collinstreet.com/cdn/shop/t/3/assets/reorder-from-account.js?v=16041263324433903331785927154

js collinstreet.com collected 2026-09-24 18:35:01 UTC 8,438 bytes, 2 lines download raw bytes

1(function(){"use strict";const rawMatch=/[?&]account_reorder=([^&]*)/.exec(window.location.search);let encoded=rawMatch&&rawMatch[1];if(encoded)try{encoded=decodeURIComponent(encoded)}catch{}if(!encoded)return;window.csbReorderInProgress=!0;var hideBodyStyle=document.createElement("style");hideBodyStyle.textContent="body{visibility:hidden!important}",(document.head||document.documentElement).appendChild(hideBodyStyle);var loaderStyle=document.createElement("style");loaderStyle.textContent=["#csb-reorder-overlay{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;align-items:center;justify-content:center}","#csb-reorder-spinner{width:80px;height:80px;border:12px solid #f3f3f3;border-top:12px solid rgb(var(--button-background-primary));border-radius:50%;animation:csb-reorder-spin 2s linear infinite}","@keyframes csb-reorder-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"].join(""),(document.head||document.documentElement).appendChild(loaderStyle);var overlay=document.createElement("div");overlay.id="csb-reorder-overlay",overlay.innerHTML='<div id="csb-reorder-spinner"></div>';var loaderDismissed=!1;function showLoader(){function attach(){loaderDismissed||(document.body.appendChild(overlay),hideBodyStyle.parentNode&&hideBodyStyle.parentNode.removeChild(hideBodyStyle))}document.body?attach():document.addEventListener("DOMContentLoaded",attach)}function hideLoader(){loaderDismissed=!0,overlay.parentNode&&overlay.parentNode.removeChild(overlay),loaderStyle.parentNode&&loaderStyle.parentNode.removeChild(loaderStyle),hideBodyStyle.parentNode&&hideBodyStyle.parentNode.removeChild(hideBodyStyle)}function fail(message,detail){console.error("[reorder-from-account] "+message,detail||""),window.csbReorderInProgress=!1,hideLoader();var box=document.createElement("div");box.id="csb-reorder-error",box.setAttribute("role","alert"),box.style.cssText="margin:1rem auto;max-width:60rem;padding:1rem 1.25rem;border:1px solid #d72c0d;border-radius:.5rem;background:#fff4f4;color:#8b1a1a;font-size:1rem;text-align:center",box.textContent=message;function place(){document.getElementById("csb-reorder-error")||document.body.insertBefore(box,document.body.firstChild)}document.body?place():document.addEventListener("DOMContentLoaded",place)}showLoader();let reorderData;try{reorderData=JSON.parse(decodeURIComponent(escape(atob(encoded))))}catch(e){fail("We could not read this reorder link. Please open the order again from your account.",e);return}function getStateCodeByName(countryCode,province,returnName){return typeof window.getStateCodeByName=="function"?window.getStateCodeByName(countryCode,province,returnName):province||""}function getCountryNameByCode(code){return typeof window.getCountryNameByCode=="function"?window.getCountryNameByCode(code):code||""}function formatAddress(address,full,lineBreak){return typeof window.formatAddress=="function"?window.formatAddress(address,full,lineBreak):[address.address1,address.city,address.zip].filter(Boolean).join(", ")}function getCookie(name){return typeof window.csbGetCookie=="function"?window.csbGetCookie(name):(document.cookie.match("(^|;)\\s*"+name+"\\s*=\\s*([^;]+)")||[]).pop()||""}function mapAddress(address){if(!address)return{};const countryCode=address.territoryCode||"",provinceCode=address.zoneCode||address.province||"";return{firstname:address.firstName||"",lastname:address.lastName||"",company:address.company||"",address1:address.address1||"",address2:address.address2||"",zip:address.zip||"",city:address.city||"",state:provinceCode,state_full:getStateCodeByName(countryCode,provinceCode,!0)||provinceCode,country:address.country||getCountryNameByCode(countryCode),countryCode,phone:a
1ddress.phoneNumber||address.phone||"",validation_status:!0,id:""}}const root=window.Shopify&&window.Shopify.routes&&window.Shopify.routes.root||"/";function destinationFor(fallback){return getCookie("customerService")?(window.marketPrefix||"")+"/cart?view=multishipping":fallback}const UNAVAILABLE_MESSAGE="We could not rebuild this order \u2014 one or more items are no longer available. Your cart was left unchanged.";function isCartError(response){return!response||response.message==="Cart Error"?!0:!!response.status&&String(response.status)!=="200"}function lineSignature(variantId,properties){const reorderId=properties&&properties._reorder_id;return String(variantId)+"|"+(reorderId||"")}function replaceCartWith(items2,extra){return fetch(`${root}cart/add.js`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(Object.assign({items:items2},extra||{}))}).then(r=>r.json()).then(added=>isCartError(added)?Promise.reject(added.description||added.message||"Cart Error"):fetch(`${root}cart.js`,{headers:{Accept:"application/json"}}).then(r=>r.json())).then(cart=>{const wanted={};items2.forEach(item=>{const key=lineSignature(item.id,item.properties);wanted[key]=(wanted[key]||0)+item.quantity});const updates={};let changed=!1;return(cart.items||[]).forEach(line=>{const key=lineSignature(line.variant_id,line.properties);let target=0;wanted[key]!=null&&(target=wanted[key],delete wanted[key]),updates[line.key]=target,target!==line.quantity&&(changed=!0)}),changed?fetch(`${root}cart/update.js`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({updates})}).then(r=>r.json()).then(updated=>isCartError(updated)?cart:updated):cart})}function handleSimpleReorder(items2,shippingAddress2){if(!items2||!items2.length){fail(UNAVAILABLE_MESSAGE,"No items for simple reorder");return}const cartItems=items2.filter(item=>item.variantId).map(item=>({id:item.variantId,quantity:item.quantity}));if(!cartItems.length){fail(UNAVAILABLE_MESSAGE,"No line item carried a variant id");return}const mapped=mapAddress(shippingAddress2);replaceCartWith(cartItems,{attributes:{_preSelectedAddress:{firstname:mapped.firstname,lastname:mapped.lastname,company:mapped.company,address1:mapped.address1,address2:mapped.address2,zip:mapped.zip,city:mapped.city,state:mapped.state,country:mapped.country,countryCode:mapped.countryCode,phone:mapped.phone}}}).then(()=>{window.location.href=destinationFor((window.marketPrefix||"")+"/checkout")}).catch(e=>{fail(UNAVAILABLE_MESSAGE,e)})}function handleMultiReorder(packages2,shippingAddress2,packageAddresses2){if(!packages2||!Object.keys(packages2).length){fail(UNAVAILABLE_MESSAGE,"No package data found");return}const allItems=[];if(Object.values(packages2).forEach(pkgItems=>{pkgItems.forEach(item=>{if(!item.variantId)return;const mappedItem={id:item.variantId,quantity:item.quantity,properties:{_reorder_id:item.reorderId||""}};item.duplicate&&(mappedItem.properties._duplicate=item.duplicate),allItems.push(mappedItem)})}),!allItems.length){fail(UNAVAILABLE_MESSAGE,"No items to add to cart");return}replaceCartWith(allItems).then(cart=>{const cartLineItems=cart.items;if(!cartLineItems||!cartLineItems.length){fail(UNAVAILABLE_MESSAGE,"Cart came back empty after adding items");return}const newState={token:cart.token||getCookie("cart"),carts:[],groups:[],summary_collapse:!1,customer_email:null,coupons:null};cartLineItems.forEach((item,i)=>{const reorderId=item.properties&&item.properties._reorder_id;let pkgNum=null;if(reorderId){for(const[num,pkgItems]of Object.entries(packages2))if(pkgItems.find(p=>String(p.reorderId)===String(reorderId))){pkgNum=num;break}}if(pkgNum===null){for(const[num,pkgItems]of Object.entries(packages2))if(pkgItems.find(p=>String(p.variantId)===String(item.variant_id))){pkgNum=num;break}}const rawAddress=pkgNum!==null&&packageAddresses2&&packageAddresses2[pkgNum]?packageAddresses2[pkgNum]:shippingAddress2||{},mapped=mapAddress(rawAddress);newState.carts.push({address:mapped,formattedAddress:formatAddress(mapped,!0,!0),item_id:item.key,line:i,item,gift_message_status:!1,shipping_type:"",onBackorder:!!(item.properties&&item.properties["On Backorder"])})}),window.multiCart=newState,localStorage.setItem("_csb-ch-state",JSON.stringify(newState)),window.location.href=destinationFor("/cart?view=shipping-step")}).catch(e=>{fail(UNAVAILABLE_MESSAGE,e)})}const{type,packages,items,shippingAddress,packageAddresses}=reorderData;type==="simple"?handleSimpleReorder(items,shippingAddress):handleMultiReorder(packages,shippingAddress,packageAddresses||{})})();
2//# sourceMappingURL=/cdn/shop/t/3/assets/reorder-from-account.js.map?v=16041263324433903331785927154

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.